text:
This topic gathers recipe-style solutions for common needs developers using EMF have.
- 1 Code generation recipes
- 2 Notification Framework Recipes
- 3 Properties Recipes
- 4 EMF.Edit Recipes
Code generation recipes
Recipe: Exploiting Substitution Groups Without Polluting Your Generated API
You want make use of substitution groups as syntactic sugar for your serialization to avoid the use of xsi:type without the resulting semantic rat poison in your generated APIs, i.e., difficult-to-use feature maps for the substitution groups. The substitution group of a global element declaration is all the other element declaration that directly or indirectly refer to it via the substitutionGroup attribute on them. E.g., in the schema below, "member" is the head of a substitution group with "file" and "folder" as its members. This allows "file" or "folder" to be used anywhere a "member" element may appear. In fact, because the element is abstract, a substitute must be used. Type of an element in the substitution group must be the same as the head element's type or a subtype thereof. Because it can be a subtype, the type of the content for such a substitution element will be expected to be of that subtype and for this reason, an xsi:type can be omitted from the serialization. This is why I refer to it as syntactic sugar. Unfortunately, in the generated API, you'll also end up with a read-only getMembers() list for "Folder", and a getMembersGroup() feature map. You'll need to do things like
folder.getMembersGroup().add(ResourcePackage.Literals.DOCUMENT_ROOT__FILE, file);
in order to add a "File" to the list of members.
Use ecore:suppressSubstitutionGroups="true" in your schema.
<?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:resource="http://www.example.com/resource" ecore:ignoreSubstitutionGroups="true" targetNamespace="http://www.example.com/resource"> <xsd:element name="fileSystem" type="resource:FileSystem"/> <xsd:complexType name="FileSystem"> <xsd:sequence> <xsd:element ref="resource:folder" ecore:name="folders" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:element name="member" ecore:name="members" type="resource:Resource" abstract="true"/> <xsd:complexType name="Resource" abstract="true"> <xsd:attribute name="name" type="xsd:string"/> </xsd:complexType> <xsd:element name="folder" substitutionGroup="resource:member" type="resource:Folder"/> <xsd:complexType name="Folder"> <xsd:complexContent> <xsd:extension base="resource:Resource"> <xsd:sequence> <xsd:element ref="resource:member" ecore:name="members" maxOccurs="unbounded"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:element name="file" substitutionGroup="resource:member" type="resource:File"/> <xsd:complexType name="File"> <xsd:complexContent> <xsd:extension base="resource:Resource"> <xsd:sequence> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> </xsd:schema>
Generate as normal and modify the generated resource factory to use the XMLResource.OPTION_ELEMENT_HANDLER option:
/** * Creates an instance of the resource. * * * @generated NOT */ @Override public Resource createResource(URI uri) { //... result.getDefaultSaveOptions().put(XMLResource.OPTION_ELEMENT_HANDLER, new ElementHandlerImpl(false)); result.getDefaultLoadOptions().put(XMLResource.OPTION_SUPPRESS_DOCUMENT_ROOT, Boolean.TRUE);
return result; }
In the generated ResourceExample.java in the com.example.resources.tests project you can now write code like this:
Resource resource = resourceSet.createResource(URI.createURI("http:///My.resource")); FileSystem fileSystem = ResourceFactory.eINSTANCE.createFileSystem(); Folder folder1 = ResourceFactory.eINSTANCE.createFolder(); fileSystem.getFolders().add(folder1); folder1.setName("folder1"); com.example.resource.File file1 = ResourceFactory.eINSTANCE.createFile(); file1.setName("file1"); folder1.getMembers().add(file1); resource.getContents().add(fileSystem); resource.save(System.out, null); ByteArrayOutputStream out = new ByteArrayOutputStream(); resource.save(out, null); Resource resource2 = resourceSet.createResource(URI.createURI("http:///My2.resource")); resource2.load(new ByteArrayInputStream(out.toByteArray()), null); FileSystem loadedFileSystem = (FileSystem)resource2.getContents().get(0); resource2.save(System.err, null);
Deducing elements works even for the root element, so we can save without using a document root. And because we've used XMLResource.OPTION_SUPPRESS_DOCUMENT_ROOT, we can load without there being a document root in the resource we've read. It reads and writes results like this:
<?xml version="1.0" encoding="ASCII"?> <resource:fileSystem xmlns:resource="http://www.example.com/resource"> <resource:folder name="folder1"> <resource:file name="file1"/> </resource:folder> </resource:fileSystem>
Recipe: Generating Pure API With No Visible EMF Dependencies
You want to generate code for an EMF model but you don't want any references to EMF types in your API or anything else that reveals that the API is implemented by EMF.
In your genmodel:
- Set the 'Suppress EMF Types' property to 'true'; standard Java types will be used rather than EMF types for all accessors and operations. Features of type 'EObject' will be surfaced as 'java.lang.Object' instead. If the model includes feature maps, you will need to use the properties 'Feature Map Wrapper Class', 'Feature Map Wrapper Interface', and 'Feature Map Wrapper Internal Interface' to provide an alternative API. You can look as the support for SDO's Sequence API as the example.
- Clear or set the value of the 'Root Extends Interface' generator model property. If cleared, the generated domain API will not depend on anything, or it can be set to an interface of your choosing so that root interfaces will extend this specified interface.
- Set 'Suppress EMF Metadata' to 'true' so that only a package implementation class is generated, but no interface, and so that the generated factory interface will not extend EFactory and will have an INSTANCE instead of an eINSTANCE field. Alternatively, set the generator package's 'Metadata' property to redirect the package and factory interfaces to a different Java subpackage.
- Set the 'Suppress EMF Model Tags' property to 'false' to eliminate the generation of the @model tags in the Javadoc.
- Set the 'Root Extends Class' and 'Root Implements Interface' properties to control the generation of the implementation, but if you clear the first one or set it so the generated implementation is not a subclass of EObjectImpl, the generated code will be invalid as it will have unresolved references to inherited methods that will not be available, e.g., eGet, eSet, eUnset, eIsSet and eIsProxy. Generating an implementation that is pure Java is not possible with the default templates but can be achieved with dynamic templates.
Related recipes
None so far.
- Thread on the EMF newsgroup: "Alternative superclass to EObject"
Recipe: Using Multiple Namespaces in the Generated EMF Editor
You want to use multiple namespaces in your generated EMF editor: say you have metamodel A with namespace mm.A which is a superset of legacy metamodel B with namespace mm.B .
If you generate an EMF editor using namespace mm.A, it can by default not read files which were serialized using namespace mm.B, unless you manually edit the files to point to namespace mm.A. But all files using metamodel B must be compatible with some legacy tool so they cannot be changed.
Now you could rename namespace mm.A to mm.B and regenerate the editor, but that forces you to adapt all your manual code and all your new files using metamodel A.
- You can change your plugin.xml to let the editor recognize both namespaces:
<extension point="org.eclipse.emf.ecore.generated_package"> <package uri = "mm.B" class = "mm.APackage" </extension>
<extension point="org.eclipse.emf.ecore.generated_package"> <package uri = "mm.A" class = "mm.APackage" genModel = "model/A.genmodel" /> </extension>
- If you save a model in your generated EMF editor, it will by default use namespace mm.A. You can change it to save using namespace mm.B by changing the String eNS_URI in src/mm.APackage (and changing the @generated tag).
Related recipes
None so far.
- Thread on the EMF newsgroup: "multiple namespaces in one editor supported?"
Notification Framework Recipes
Recipe: Use EContentAdapter to receive notifications from a whole containment tree
You want to observe changes in a whole containment tree.
- Extend org.eclipse.emf.ecore.util.EContentAdapter (MyContentAdapter) and add that extension as an Adapter to the Root EObject of the containment hierarchy that you want to observe.
- Override the method 'notifyChanged(Notification n)'. Inside the method´s body your first call must be super.notifyChanged(n) which adds MyContentAdapter to any new elements in the hierarchy and removes MyContentAdapter from any removed EObjects in the hierarchy. After finding out the type of the notifier Object (Remember: this might now be any EObject in the containment hierarchy, not just the EObject you initially added MyContentAdapter to - so it could be of any type that occurs in the containment hierarchy) you can go on by writing the usual notification code to find out about what feature changed, the type of the notification, etc.
A simple example model org.example.library consists of an EClass 'Library' which has a containment reference 'books' of type 'Book'. The EClass 'Book' has a String attribute 'title' and a boolean attribute 'available'. Now you want to be notified about a) new Books in the Library and b) about changes of any book´s availability (the title of a book usually won´t change so we exclude this feature). Using the Solution described above we will do the following:
class MyContentAdapter extends org.eclipse.emf.ecore.util.EContentAdapter {
// start observing a Library model
public void observeLibrary(org.example.library.Library l){
//override the notifyChanged method
public void notifyChanged(Notification n){
super.notifyChanged(n); // the superclass handles adding/removing this Adapter to new Books
// find out the type of the notifier which could be either 'Book' or 'Library'
Object notifier = Notification.getNotifier();
if (notifier instanceof Library) {
} else if (notifier instanceof Book) {
// output a message about new books
private void handleLibraryNotification(Notification n){
int featureID = n.getFeatureID(org.example.library.Library.class);
if (featureID == org.example.library.LibraryPackage.LIBRARY__BOOKS){
if (n.getType == Notification.ADD){
Book b = (Book) n.getNewValue();
System.out.println("New Book was added to the Library: + " b.getTitle());
// output a message about a book´s availability
private void handleBookNotification(Notification n){
int featureID = n.getFeatureID(org.example.library.Book.class);
if (featureID == org.example.library.LibraryPackage.BOOK__AVAILABLE){
Book b = (Book) n.getNotifier();
System.out.println("The book " + b.getTitle() + " is now " + (b.isAvailable() ? "available" : "unavailable"));
Related Recipes
None so far.
- Thread on the EMF newsgroup: "[1]"
Properties Recipes
Recipe: Create your own property editor in a generated application
You want to edit your model properties using your own cell editor, rather than using EMF default one.
- Create your own CustomizedPropertyDescritor that extends 'org.eclipse.emf.edit.ui.provider.PropertyDescriptor' and overrides 'CellEditor createPropertyEditor(Composite)'. In that method create your own CellEditor. Please refer to super implementation to know, how to enable your editor for particular types.
- Create your CustomizedPropertySource that extends 'org.eclipse.emf.edit.ui.provider.PropertySource.class' and overrides 'IPropertyDescriptor createPropertyDescriptor(IItemPropertyDescriptor)'. The overidden method should return CustomizePropertyDescriptor described in the previous paragraph.
- Create your CustomizedAdapterFactoryContentProvider that extends 'org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider' and overrides 'IPropertySource createPropertySource(Object, IItemPropertySource)' method. The overidden method should return CustomizedPropertySource.
- In your generated .editor find the XyzEditor, and then, in 'IPropertySheetPage getPropertySheetPage()' replace the line
propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory));
with a line that will set your CustomizedAdapterFactoryContentProvider.
* This accesses a cached version of the property sheet.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated NOT
public IPropertySheetPage getPropertySheetPage()
if (propertySheetPage == null)
(new AdapterFactoryContentProvider(adapterFactory)
protected IPropertySource createPropertySource(Object object, IItemPropertySource itemPropertySource)
new PropertySource(object, itemPropertySource)
protected IPropertyDescriptor createPropertyDescriptor(IItemPropertyDescriptor itemPropertyDescriptor)
new PropertyDescriptor(object, itemPropertyDescriptor)
public CellEditor createPropertyEditor(Composite composite)
// Test for your case based on the feature or the type of the feature.
// See the super method for details.
Object feature = temPropertyDescriptor.getFeature(this.object);
return super.createPropertyEditor(composite);
return propertySheetPage;
Related Recipes
None so far.
Recipe: Create an Eclipse Forms editor with widgets for your properties
You want to edit your model properties using a custom non-tree-based forms editor, rather than using EMF default one.
- As a starting point, grab the SimpleFormEditor from this article on Eclipse Forms.
- You need the following components to get this working:
* ComposedAdapterFactory : this adapts all the ItemProvider stuff from the EMF-generated .edit plugin to suit your needs * AdapterFactoryEditingDomain : this is the read/write interface to your model's resource, it needs the adapter factory and a command stack * AdapterFactoryItemDelegator : delegates from a model element (item) to the respective item provider from the .edit plugin * AdapterFactoryLabelProvider : gets text for your model elements by asking the item provider * BasicCommandStack : well...a basic command stack with some undo/redo support
- To start implementing, open the default multi-page editor generated by EMF from your model. You need to merge parts of this into the forms editor, among them:
* resource management code (changed, saved and removed resources as well as the resourceChangeListener and partListener) * editor state management code (isDirty() and all save-related methods) * methods which handle events related to the above mentioned stuff * the 3 methods documented below
- initializeEditingDomain() : This method glues most of the above-mentioned components together. Call it in the editor's constructor. The XYZItemProviderAdapterFactory (generated by EMF in the .edit plugin) should already be added to the ComposedAdapterFactory (if not, add in the one you need).
protected void initializeEditingDomain() {
// Create an adapter factory that yields item providers.
// For this to work this plugin needs the dependency on the
// EMF edit plugin generated from the ThetaML .ecore and .genmodel
this.adapterFactory = new ComposedAdapterFactory(
.addAdapterFactory(new ResourceItemProviderAdapterFactory());
.addAdapterFactory(new ThetamlItemProviderAdapterFactory());
.addAdapterFactory(new ReflectiveItemProviderAdapterFactory());
// command stack that will notify this editor as commands are executed
BasicCommandStack commandStack = new BasicCommandStack();
// Add a listener to set the editor dirty of commands have been executed
commandStack.addCommandStackListener(new CommandStackListener() {
public void commandStackChanged(final EventObject event) {
getContainer().getDisplay().asyncExec(new Runnable() {
public void run() {
// Create the editing domain with our adapterFactory and command stack.
this.editingDomain = new AdapterFactoryEditingDomain(adapterFactory,
commandStack, new HashMap<Resource, Boolean>());
// These provide access to the model items, their property source and label
this.itemDelegator = new AdapterFactoryItemDelegator(adapterFactory);
this.labelProvider = new AdapterFactoryLabelProvider(adapterFactory);
- init() : Editor initialization comprises registering for part and resource events and creation of your model (see below).
public void init(IEditorSite site, IEditorInput editorInput)
throws PartInitException {
super.init(site, editorInput);
- createModel() : This loads your model's resource into the editing domain. If you don't need the diagnostic stuff you may skip that as I did. After the resource is loaded, your model instance can be created and used.
public void createModel() {
URI resourceURI = EditUIUtil.getURI(getEditorInput());
Resource resource = null;
try {
// Load the resource through the editing domain.
resource = editingDomain.getResourceSet().getResource(resourceURI,
} catch (Exception e) {
resource = editingDomain.getResourceSet().getResource(resourceURI,
if (resource != null) {
this.modelRoot = (Your_Model_Root_Element) resource.getContents().get(0);
- Create a new class extending FormPage and overload the constructor to give the class access to all components you need. This may be the model or parts of it, references to the form editor, the editing domain etc.
- Implement the createFormContent(IManagedForm managedForm) method of the form page by creating form widgets as you like. For instance, you may traverse your model and create a text field for every property.
- To fetch an element's property, instruct the above-mentioned ItemDelegator to fetch so-called "property descriptors" for this element. Just iterate over this list of IItemPropertyDescriptor's ("descriptor" is the loop variable here, it has to be final) and call
EObject feature = (EObject) descriptor.getFeature(your_element_instance);
Now you may introspect this feature instance and decide what widget you want to create for it. By looking at it's feature ID, you can discover which property the feature represents. The actual property value you get by calling the ItemDelegator (I wrote a getter in my editor class):
Object value = ((EObject) editor.getItemDelegator().getEditableValue(your_element_instance)).eGet(your_feature_instance)
In most cases it will be a String value, so you just have to create a text field for it:
Text text = toolkit.createText(client, valueString, SWT.SINGLE);
- To update your model when the user modifies the value in the form, you have to add a mofifyListener to handle this:
if (value instanceof String) {
text.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent event) {
for (IItemPropertyDescriptor descriptor2 : variablePropertyDescriptors) {
if (descriptor2.getId(formula).equals(descriptor.getId(formula))) {
String newValueText = ((Text) event.widget).getText();
descriptor2.setPropertyValue(formula, newValueText);
That's basically it. Your mileage may vary. Things left to do include code to update the form upon resource changes.
The important concept to grasp is that you interact with your model in a very indirect way. To utilize all the nice things the EMF framework offers out-of-the-box, you have to use its mechanics. I'm referring to the generated XYZItemProvider classes and the accompanying adapter factory. If you look at these you find they implement the interfaces IItemPropertySource and IItemLabelProvider. This enables the AdapterFactoryItemDelegator and AdapterFactoryLabelProvider to fetch properties and label text for each item, i.e., element of your model. They also implement IEditingDomainItemProvider which enables the AdapterFactoryEditingDomain to delegate command creation to the EMF-generated ItemProviderAdapter (all XYZItemProvider classes extend this). The line where setPropertyValue is called is the important one - here the magic happens. This call is delegated to the ItemProvider for the element you used and a SetCommand is created, added to the command stack we setup for our editing domain, and executed. All editor state management like mark dirty, save, undo/redo is handled for you by EMF.
Most of the code was written by Eclipse EMF and Forms people, I just merged it to get a basic forms editor working. There may be easier and/or cleaner ways to get this done. I encourage you to add to this recipe or correct me if I got something wrong.
Related Recipes
None so far.
- Article on Eclipse Forms: [4]
- Example for a generic EMF Eclipse Forms editor : [5]
- EMF.Edit framework overview : [6]
EMF.Edit Recipes
Recipe: Custom Labels
You want to provide customized text for an object's label in an EMF-generated editor. Further, if the customized text is derived from other objects and their attributes, you want the label to be updated whenever those attribute values may change.
- Modify the generated ItemProvider.getText() method to compose the value you wish.
- If your label's value depends on other objects and their attributes:
- Take care to test for null references and values.
- Create a class that implements the org.eclipse.emf.edit.provider.INotifyChangedListener interface
- An inner class of the target item provider class works well.
- In the notifyChanged() method, check whether the notification is for one of the attributes upon which your custom label depends. If it is, then fire a new notification event whose notifier/element is your target object. Take care to prevent the new event from causing infinite recursion, remove the listener before firing the event, and add it back afterwards.
- In the target item provider's constructor, create an instance of the above listener and add it to the adapter factory.
- Override the dispose() method to remove the listener from the adapter factory.
- If your label's value depends on attributes or references in the target object, ensure the notifyChanged() method in the target item provider fires a notification event for these cases. The ViewerNotification for these events need to indicate label updating.
In this example, assume you want to customize the label for an instance of EMF class A. The value is derived from an attribute, name, of another class B that is referenced from A.
Modify the getText() method in A's item provider:
public class AItemProvider
extends OperandItemProvider
IItemPropertySource {
* This returns the label text for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated NOT
public String getText(Object object) {
A aObj = (A) object;
String ref = aObj.getB() == null ? "???" : aObj.getB().getName();
ref = ref == null ? "???" : ref;
return getString("_UI_A_type")+" -> "+ref; //$NON-NLS-1$
Create an inner class to listen for change modifications:
class ChangeListener implements INotifyChangedListener {
public void notifyChanged(Notification notification) {
if(notification.getNotifier() != null && getTarget() != null && notification.getNotifier() == ((A) getTarget()).getB()) {
((IChangeNotifier) getAdapterFactory()).removeListener(this);
fireNotifyChanged(new ViewerNotification(notification, getTarget(), false, true));
((IChangeNotifier) getAdapterFactory()).addListener(this);
The above implementation checks that the modified object is the same instance that the target object references (as opposed to just any instance of B).
The new VewerNotification identifies the instance of A as the changed element, and the true argument signals the change requires a label update.
The removeListener() call prevents infinite recursion from the following fireNotifyChanged(). After the event is fired, the listener is added back to the adapter factory.
Instantiate the listener and add it to the adapter factory in the item provider's constructor:
public class AItemProvider
extends OperandItemProvider
IItemPropertySource {
private ChangeListener changeListener;
* This constructs an instance from a factory and a notifier.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated NOT
public AItemProvider(AdapterFactory adapterFactory) {
if(adapterFactory instanceof IChangeNotifier) {
IChangeNotifier cn = (IChangeNotifier) adapterFactory;
changeListener = new ChangeListener();
Override the dispose() method:
public class AItemProvider
extends OperandItemProvider
IItemPropertySource {
/* (non-Javadoc)
* @see org.eclipse.emf.edit.provider.ItemProviderAdapter#dispose()
public void dispose() {
if(changeListener != null) {
Modify the target object's item provider notifyChanged() to fire a change event when the reference to B changes:
* This handles model notifications by calling {@link #updateChildren} to update any cached
* children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated NOT
public void notifyChanged(Notification notification) {
switch (notification.getFeatureID(A.class)) {
case FooPackage.A__B:
fireNotifyChanged(new ViewerNotification(notification, notification
.getNotifier(), false, true));
Note that the last parameter for the ViewerNotification constructor indicates the label is to be updated.
Related Recipes
None so far.
None so far.


text:
Department of Revenue News Release
January 10, 2011Revenue's Criminal Investigation Bureau Helps Nab Forger of Motor Vehicle Documents
JEFFERSON CITY - An investigation by the Missouri Department of Revenue's Criminal Investigation Bureau has resulted in the arrest of a Kansas City man who is charged with receiving money for submitting fraudulent motor vehicle documents to the Department on behalf of vehicle purchasers to reduce their sales tax liability.
Nathaniel J. Wiley, 30, was arrested in late December on four felony counts of forgery. He is free on $5,000 bond.
Wiley is charged with fabricating state of Kansas bills of sale in order for the title applicant to claim a sales tax credit on the fraudulent sale, and altering title applications in order to show a fictitious trade-in. These transactions resulted in reduced sales taxes for the owners of the vehicles for which the false documents were submitted.
"I applaud the efforts of our Criminal Investigation Bureau in breaking this case," said Alana M. Barragán-Scott, director of the Missouri Department of Revenue. "The bureau worked with the license office agents and local law enforcement personnel to put an end to this forgery scheme."
The forged bills of sale were submitted at the Independence, Lee's Summit, Raytown and Sugar Creek license offices. An estimated $188,055 in unpaid local and state sales taxes and title penalties were lost in connection with the charges filed against Wiley and other related cases. Letters requiring payment of the unpaid taxes will be mailed to customers involved with the transactions. Vehicle owners who fail to respond to the letter could face legal penalties and cancellation of the vehicle's license plates.
As in all criminal cases, the charges against the defendant are merely accusations, and the defendant is presumed innocent until or unless proven guilty in a court of law.
The Missouri Department of Revenue is now on Twitter! To follow the Department on Twitter, go to http://twitter.com/MoRevenue.

subset: commoncrawl


text:
Guerlain Rouge G Jewel Lipsticks are just gorgeous.
Apart from the gorgeous texture, the lipstick is a work of art – it flips open and has a mirror inside:
Tucked in a compact that marries beauty with high design, with one click, you will have a luminous lipstick and mirror at your fingertips.
Today is Gina, which is a true red:
You don't need much product to get high (but wearable) coverage.
What do you think?


text:
it is one of the epic places for water sports and only so few here had
took the 1 minute to sign.
you guys can spend hours and 15 pages on bar lines and tube design etc BUT
u really don't give much... on someone else probelm. it is really part of our own sport.
external forces are trying to push this plans into this small african island.
please help them
http://www.thepetitionsite.com/179/620/ ... nta-preta/
untill now 3608 signed. they want to reach the 4000 number
please sign
here is something they wrote:
it is Greed v the environment. Stand up for what is right. / We have to take care of our environment. Waves are an important resource not just for surfers, but also for marine life and a natural cycle!!
they want to make this
into this:
please sign
thanks for your help.


text:
2013 Masters Preview With 4 Deep Golf's Joel Harrington [AUDIO]
The 77th Masters Tournament tees off this week in Augusta, Georgia, and there's no shortage of story lines for this year's event:
Tiger Woods is once again the #1 player in the world, but he hasn't won a Green Jacket in eight years.
Bubba Watson is back to defend his title.
Defending champs Charl Schwartzl and Phil Mickelson are both among the favorites to win another Green Jacket.
Rory McIlroy is still in search of his first title, after leading this event by four strokes with 18 holes to play two years ago, only to shoot 80 on the final day.
ESPN 99.1's Jeff Harkness spoke with 4 Deep Golf Blog's Joel Harrington about all of these angles - and more - heading into play Thursday.


text:
Diddy Says Michael Jackson Tried To Holla At Beyonce At One Of His Parties!
What did Michael whisper into Diddy's ear when they met?
Please click the "Report" button below if the video on this page is not working properly.
Comments will only be displayed by verified emails. No Spamming or Racism.


text:
immaterial monarch.
spectraliquid. slq007
john valasis is a professional sound designer and a very talented young musician from greece. although he has been working as a producer and a mixing engineer for other artists for quite a few years while also composing his own music, this is the first time that john officially releases a part of his recent work under the moniker 'poordream'. his aim is to decode the secret messages of a dreamy world by composing melancholic melodies and intricate, uncanny sounds, all put together within a masterly combination of elaborate programming and field recordings. immaterial monarch is his own adaptation of a truly exceptional experimental music conception, the absolute experience of an internal trip, in which no 'strict' sound forms belong. drawing influences mainly from the 'zeitgeist' movie series, 'immaterial monarch' features 3 tracks by poordream, which carefully blend genres such as idm, ambient, electronica and experimental world music, as well as the same-titled track remixed by no less than 7 different artists! since all participating musicians come from a different musical background, although they share common thoughts on how to deliver passionate and exciting music, this album proves to be an absolutely unique journey towards human's deepest feelings. anger, despair, social and personal breakdown, man's self-exploration, brain as the slave of the strong and socially constructed loneliness portrayed as the mental cage for every single human are only a few of those nighttime thoughts that, carefully but still chaotic, build up poordream's futuristic world. this album is offered as a co-release between 33 recordings and spectraliquid.


text:
Here's what you've been asking for—Matt & Molly in an app! The Matt and Molly stories and activities provide functional education for children with special needs. This app provides fun and easy-to-use lessons that teach concrete, daily living and social skills that children need to be independent and function in society.
- Improve social skills
- Process verbal information
- Answer yes/no and wh- questions
Click here for purchase orders or a volume purchase.
Autism & PDD Picture Stories & Language Activities are widely popular and highly successful speech therapy materials in book, software, and online formats. This app features the loveable characters from that series, Matt and Molly, who provide functional education for children with special needs. The fun and easy-to-use lessons teach children with autism appropriate manners and behaviors to support relationships with family members.
The eight Social Skills with Family lessons are:
- Matt Visits His Grandmother
- Matt Visits His Grandfather
- Molly's Uncle Visits
- Grandfather and Molly Cross the Street
- Molly Has Dinner at Her Grandmother's House
- Matt's Aunt Visits
- Molly's Cousin Visits
- Matt's Cousin Visits
Developed by Patti Koski, an SLP in private practice who works primarily with children on the autism spectrum, the stories and activities are broken down into a limited number of steps to make social skills "stick." Matt and Molly show children the right and wrong ways to act in situations that involve extended family, allowing the children to divide the behaviors in their minds into "black" and "white." This minimizes the "gray" areas of social interaction that children with autism spectrum disorders don't understand or like. Follow up each story with three fully-narrated, interactive language activities based on the theme:
- wh- questions – choose the picture that answers the question
- yes/no questions – touch the yes or no balloon that answers the question
- text match items – choose the story picture that matches the words
For each activity, items are automatically scored and the student receives immediate audio and visual feedback. When the child completes an activity, view the score and track progress using the comprehensive Summary screen for all three activities. Use these documented results to report progress or modify your therapy approach and goals. The record of student performance helps you know exactly where to start your next session.
Children's social behavior and social language skills will develop and, in turn, the children will have reduced anxiety in social situations. This facilitates more compliant behavior and allows the children to feel better about themselves for a job well done.
Copyright © 2008
- Stories about specific social situations help students with autism spectrum disorders (ASD) understand and respond to similar social situations appropriately (Kuoch & Mirenda, 2003).
- Repeated reading of stories about specific social situations improves social understanding for students with ASD (Gray, 2000).
- Students with ASD should receive instruction in functional, spontaneous communication; new skill acquisitions; generalization and maintenance in natural contexts; and functional academic skills when appropriate (NRC, 2001).
- Visual supports have been used successfully to increase social communication and generalization to new activities in students with ASD (ASHA, 2006).
Autism & PDD Picture Stories & Language Activities Social Skills with Friends App incorporates these principles and is also based on expert professional practice.
American Speech-Language-Hearing Association (ASHA). (2006). Guidelines for speech-language pathologists in diagnosis, assessment, and treatment of autism spectrum disorders across the life span [Guidelines]. Retrieved August 17, 2009, from www.asha.org/policy
Gray, C. (2000). The new social story book. Arlington, TX: Future Horizons, Inc.
Kuoch, H., & Mirenda, P. (2003). Social story interventions for young children with autism spectrum disorders. Focus on Autism and Other Developmental Disabilities, 18, 219-227.
National Research Council (NRC), Committee on Educational Interventions for Children with Autism. (2001). In C. Lord & J. McGee (Eds.), Educating children with autism. Washington, DC: National Academy Press.
Minimum System Requirements
Apple iTunes Store
- iPad only
- English only
- not compatible with iPod or iPhone
Android/Google Play
- minimum 7" screen required
- English only


text:
Welcome to Grand Bend, Ontario, Canada
Search the web:
Local Events:
Talk To Us:
Link To Us:
|This is a frequently updated web site for the area of Grand Bend, Ontario, Canada. If you would like to add your company's listing please click here.
Designed & Operated by HAVE1.COM - SEARCHON.CA - Ontario, Canada Web Search - Web Site Disclaimer


text:
At Queen Anne Orthodontics, our priority is YOU! We provide exceptional orthodontic treatment while focusing on patient convenience. Located in Seattle, Washington, Dr. Zeeny Teja has been an orthodontist to the Seattle downtown, Queen Anne, Ballard, Magnolia, Fremont and Green Lake communities for over 20 years.
Dr. Teja and her staff take pride in going above and beyond to accommodate and care for patients of all ages. We also pride ourselves in providing personalized orthodontic treatment with a low doctor to patient ratio, flexible financial options, and convenient hours.
We offer a variety of orthodontic choices to help you achieve a beautiful and healthy smile, including metal braces, ceramic braces, and Invisalign clear aligners. We believe that the attention to detail, especially in the final phase of treatment, results in a beautiful smile which looks wonderful and is functional for a lifetime.
Contact us today and discover why we love what we do!
Dr. Teja is a Preferred Invisalign Provider. Invisalign is the clear way to straighten teeth without braces, using aligners. The aligners are comfortable, removable and precisely customized for you.
Learn More
Digital X-rays, or radiographs, are used in our office to provide invaluable information about your oral and dental health. And, they are much safer than traditional X-rays!
Learn More
Dr. Teja loves being an orthodontist! She enjoys forming friendships with her wonderful patients and their families, while contributing to improved oral health and a positive change in their lives.
Learn More


text:
Bring a yoga mat if you can. I will have one spare mat. Wear something comfortable and stretchy. We will quickly go over the 26 beginner postures from the Bikram series. It should take 45 minutes.
I am a software developer with about 6 years of experience as a Bikram Yoga student among other Hatha Yoga disciplines. I am on my way to be an instructor and placed second at the Eastern Canada Regional Bishnu Gosh Cup qualifying competition in 2008. I have also trained with Esac Garcia, 2005 World Champion.
By attending this BOF, you agree not to hold me liable for any injuries you may sustain as a result of this BOF. -Ilia Lobsanov
_Question_: When and where?
Sign up below:
* Ilia Lobsanov
* Casey West (cwest) (n00b :-)
version 18 saved on 06/19/09 03:42 PM by Casey West (cwest)
Home | Tags | Recent changes | History


text:
Renowned Champion and Accompanying Fighters Depart Region Having
Visited Eight Military Bases and Experienced the Trip of a Lifetime
For full photo gallery click HERE. (Photo Credit: USO photo by Steve Manuel)
Twitter Pitch: @GoldenBoyBoxing's @OscarDeLaHoya, @ajtheproblem21, @DanielJacobsTKO & Seth Mitchell return stateside following whirlwind @the_USO tour
ARLINGTON, VA. (March 15, 2011) - Olympic Gold Medalist and former Ten-Time World Champion in six weight divisions who turned USO veteran, Oscar de la Hoyatouched down stateside today following a whirlwind seven-day USO/Armed Forces Entertainment tour to Kuwait and Iraq. Accompanied by up-and-coming fightersAdrien Broner, Danny Jacobs and Seth Mitchell, De La Hoya led the group to the Middle East on March 8, where they went on to extend their thanks to troops and visit eight military bases. Among some of the installations visited were Camp Arifjan,COB Basra, Camp Victory, Camp Liberty, JSS Loyalty and JSS Justice.
Having lifted the spirits of thousands of servicemen and servicewomen, the group held a series of boxing clinics as well as signed hundreds of autographs and delivered an infinite number of smiles. Most telling of the group's popularity among troops was seen at Camp Victory, where more than 600 troops turned out to attend a USO boxing demonstration featuring the fighters. Despite the tour coming to a close, its impact on De La Hoya and the others were felt once they returned home.
Attributed to Oscar de la Hoya:
[On the impact the tour had on his life...]
"Going on this USO tour and spending time with the servicemen and servicewomen who protect our country was a life-changing experience. You don't realize what it means to be a participant in our military efforts and the sacrifices each one of them is making to fight for and protect our freedom until you see it first-hand."
[On what he learned while out on tour...]
"Hearing their stories and seeing what they go through on a daily basis has changed my life. The opportunity to see how our troops live and understand their ability to be ready for anything at a moment's notice showed me what it means to be truly brave."
[On what he plans to do after his tour...]
"I hope that we were able to make a difference in the lives of the troops we met. I am dedicated to continuing to help the USO with their mission of uplifting the spirits of our nation's troops, sharing my experiences and encouraging others to support our brave servicemen and servicewomen in any way they can."


text:
lavatickets needed a new logo design and created a contest on 99designs.
A winner was selected from 87 designs submitted by 36 freelance designers.
looking for a new logo for http://www.lavatickets.com
Desired Color Scheme:
red and blue, but open to other schemes
Desired Style:
simple, clean & elegant
Accepted File Formats:
Standard Web Formats (.jpg, .gif or .png); Vector Formats (.eps, .pdf or .ai); Layered Formats (.psd or .tiff)
I'm open to all new concepts, including new fonts, colors, icons and etc., as long as the final product is clean and simple, nothing too fancy. thx
Find out how a design contest works or learn more about our logo design services.


text:
Memento: 10th Anniversary Edition (US - BD RA)
Gabe revisits Chris Nolan's tightest and most entertaining film in high definition..
Leonard Shelby (Guy Pearce) remembers everything up until the night his wife was brutally raped and murdered. Since that fateful evening, he has suffered from short-term memory loss and cannot recall places, people, and events just minutes after he has been exposed to them. Determined to uncover why his wife was killed, Leonard uses a unique system of tattoos, notes and Polaroids to store vital clues about the identity of her killer. Leonard is aided in his quest by a number of people who profess friendship, but can a man with no memory really ever trust anyone? (Stolen from Chris' review)
I find myself particularly critical of Christopher Nolan's work, probably because he's become so popular in the last decade, and my antiestablishment tendencies still get the better of me in my more mature age. I haven't watched the director's first studio work, Memento, in some time, and upon this revisitation I've come to the conclusion that it comes closer to perfection than any of his other projects. Nolan's two Batman movies, and his dueling magicians movie The Prestige are swimming with great moments and concepts stitched together by unsubstantial threads. The scripts, which Nolan tends to write along with his brother Jonathan Nolan (and occasional input from, sigh, David Goyer), feature wonderful, novel concepts, but the dialogue is mostly stiff and the characters rigid, and often too dependant on the actors' performances. Batman Begins and The Dark Knight are mind blowing in parts, but the former feels a lot like two unrelated narratives, while the latter is brimming with uneven highs and lows, as if Nolan used up all his extra film during the first act. The thing is – I doubt that I'd be nearly as nit-picky about these short comings had it not been for the fact that I was introduced to Nolan via Memento, which defies nearly every complaint I've ever had concerning the rest of his career (it's been so long since I saw Following or Insomnia that I've decided not to pick at them, not to mention that Insomnia is based around another filmmaker's characters and story structure).
(Since Dark Knight Nolan did manage to birth Inception, which despite needing another pass through the Avid, is actually a strong follow up to his first brush with greatness, but that goes against my chosen narrative, so, you know, I'm going to mostly focus on the negative in making these comparisons. Thanks for bearing with me. Winking smiley face.)
The real perfection here lies in the script and the editing. The concept of producing a backwards moving story is a massive challenge in itself, and a quick way to confuse the living hell out of an audience. One false motion and the whole house of cards would come crashing down, and God forgive you if you flub your structure in the first act, and leave the audience to sit through nearly two hours of nonsense. Nolan's direction is solid, as is his cast (this is the first time I've really meditated on how difficult the actors' jobs were), but there's nothing particularly outstanding in either realm. Without the mathematical attention to the storytelling I doubt anyone would remember Memento as more than that 'one backwards movie' they never bothered to see again. It's possible to pick apart isolated aspects of the narrative, specifically the wildly inconsistent timing of Leonard's memory loss, and the convenience of his ability to condition himself, but as in the case of Inception, it's easy to forgive these minor inconsistencies in favour of enjoying the plot's novelty. This is a case where too much logic and exposition would really hurt the film (which is exactly the problem I had with Inception, for the record). The editing reaches near perfection through maintaining the complex structure without losing the narrative momentum. The addition of a forward moving series of black and white scenes would've increased confusion in lesser hands, but by intercutting them with the backward moving colour scenes they actually end up giving the audience a good place to anchor themselves, and offer Nolan a clever chance to rip through some exposition.
Critics have accused Memento of being a gimmick based motion picture, because it is based around a gimmick, and falls well within the realms of a 'high concept' movie. Both aspects can lead to a clever film with an empty core, but neither are an automatic negative (much like when the term 'exploitation' is used to dismiss a movie). Nolan is smart enough (and had enough to prove) to not rest on the gimmick (based on his brother Jonathan's short story), and creates a compelling mystery truly worthy of the classic Noir tradition. Minus the backwards gimmick, we'd still have a pretty solid story of a man with memory problems. For extra credit Nolan even includes a sizable twist ending, er, beginning, and characters brimming with wit, vitality, and personality. Each of these characters fit into the main story, and their actions hint at histories that open up Leonard's otherwise tiny universe. Best of all Nolan doesn't forget to include a sense of humour. The deathly serious tone of pretty much every film Nolan has made since Memento has been a major point of contention for me over the years. Sure, he remembers to makes jokes, but the ratio is pretty high in favour of drama, whereas Memento balances around 70/30, and many of the jokes are genuine howlers. Even the Joker didn't earn much more than a few good snickers.
This marks Memento's second 1080p US home video release, and though there's some room for improvement, this transfer is obviously superior to both the original DVD release, and the special edition re-release. I unfortunately have never seen the original Sony Blu-ray, so I can't compare it to this release. There is a sticker on the box that notes that this is a director approved transfer, and it's a 50G disc rather than a 25G, and this leads me to assume there's been some improvement. Nolan uses a whole lot of close-ups, and Blu-ray's increased definition effectively sharpens all the skin textures, fine hairs and wardrobe stitching. You can even see the tattoo dye bleeding into Guy Pierce's skin on the big close-ups. Colours are vibrant, warm, and though Nolan doesn't go for a lot of stylized or unrealistic palettes, there are still plenty of contrasting and popping hues. Some of the edges are softer than I assume were intended, some of the deeper blacks absorb the hues around them, and some of the sharper contrasting elements produce minor halo effects, but the colour sections of the film are uniformly clean, and mostly artefact free. It's harder to evaluate the black and white sequences because they're meant to look a bit raw and ragged. These sections are extremely grainy, and occasionally a little mushy looking. I don't think any DNR has been used, however, since Nolan himself apparently supervised the transfer, and that kind of thing seems beneath him.
There isn't a lot to this 5.1 surround sound mix, though the uncompressed DTS-HD Master Audio presentation is nice, warm and punchy during those odd aggressive moments (the Sony Blu-ray featured a PCM 5.1 track). Most of the sound is presented crisply and clearly in the center channel, including the majority of the dialogue and sound effects. Only the music and occasional effects find their way into the stereo channels, while the surrounds remain almost entirely silent aside from some music echo. The only really aggressive, multi-channel attack comes when Leonard has sudden, frightening flashbacks to his wife's murder. The narrative dialogue is noticeably louder and bassier than the regular on screen dialogue, so there shouldn't be any problems discerning the difference between spoken dialogue and dialogue rumbling around Leonard's head.
This release's extras mostly match Sony's limited edition DVD release, and this time we don't have to struggle through a silly puzzle menu to access them. The extras start with Christopher Nolan's solo commentary track. This is a decent track, and it offers genuine insight into the director's process, but Nolan spends a little too much time describing obvious motivation and subtext, and his tone is kind of mind numbing. At the very least, Nolan fills the track without repeating himself very much, or allowing stretches of silence. Among the more interesting, hard to consciously notice tricks noted, are Guy Pierce's flashback clothing fitting him tightly, creating a subconscious sense of order in the character, and a comparison of the Polaroids to a deck of cards Leonard is using to play solitaire against himself. DVDCompare.net notes that Pathe's UK Blu-ray release, and the original Sony limited edition DVD featured random alternate endings to the track, but I couldn't figure out any way to access them, and the ending was the same after re-starting the disc three times. I also couldn't find any way to play the film in chronological order, which is noted as an Easter Egg on several of the releases (which I think is fine since watching the film in chronological order would be a massive waste of time).
The only entirely new extra is 'Remembering Memento' (7:40, HD). This interview with Nolan digs into his memories of the project, and ends up covering a lot of ground not touched upon during the already busy commentary track. The director briefly covers the script, the jump from independent to contract filmmaking, and working with actors. 'Anatomy of a Scene' (25:20, SD) is a Sundance Channel series that explores the work that goes into a single scene of an independent film. In this case the first three scenes of the film, which set the rhythm of the entire film. Though covered only briefly, discussion of Nolan's original palette ideas is quite interesting. Next up is an IFC interview with Nolan (24:00, SD), which covers some of the same stuff already covered during the commentary and the shorter interview, and which was available on the original, non-LE DVD. I have no idea how 'new' this interview actually is since Nolan's physical appearance hasn't changed at all in the last decade, but I think it was filmed shortly after the film's release.
Extras are completed with a text based presentation of Jonathan Nolan's original short story 'Memento Mori', Leonard's tattoo designs, pages from Leonard's diary, and trailers for other Lionsgate releases.
Memento stands up, though I imagine I wouldn't have been so impressed if it hadn't been nearly a decade since I'd sat through the whole thing. No viewing can ever be as memorable as that first one, but director Chris Nolan includes enough subtext to make his experiment work the second or twentieth time around. I haven't seen the older Blu-ray release, so I can't compare the A/V quality to this new release, but it's certainly a step above the Limited Edition DVD. The extras match the stuff already available on the LE DVD, save a new brief retrospective interview with Nolan. None of the extras are particularly impressive save Nolan's commentary track, which is apparently available on the previous Blu-ray.
*Note: The images on this page are taken from the UK Blu-ray and resized for the page. This Blu-ray looks very similar, though is perhaps a bit warmer overall.
Review by Gabriel Powers
Under 17 requires accompanying parent or adult guardian
Disc Details
Release Date: 22nd February 2011
Discs: 1
Disc Type: Blu-ray Disc
RCE: No
Video: 1080p
Aspect: 2.35:1
Anamorphic: No
Colour: Yes
Audio: DTS-HD Master Audio 5.1 English
Subtitles: English SDH and Spanish
Extras: Director Commentary, Remembering Memento, Anatomy of a Scene, IFC Interview with Christopher Nolan, Memento Mori Short Story by Jonathan Nolan, Tattoo Sketches, Leonard's Journal
Easter Egg: No
Feature Details
Director: Christopher Nolan
Cast: Guy Pearce, Carrie-Anne Moss, Joe Pantoliano, Jorja Fox, Callum Keith Rennie, Stephen Tobolowsky, Harriet Sansom Harris, Mark Boone Junior
Genre: Film-Noir
Length: 113 minutes
8Review Guide
Follow our updates
Past Reviews
Superman IV -The Quest for Peace US - DVD R1 One Day Wonders - Review Of Australia's Cricket World Cup AU - DVD R4 Duplicity US - BD Slumdog Millionaire US - BD RA Xavier: Renegade Angel US - DVD R1
Hot News
The Sister Brothers US - DVD R1 | BD RA Double Dragon: Collector's Edition US - BD RA A Star Is Born (2018) US - DVD R1 | BD RA Boss Baby US - DVD R1 | BD RA Suspiria (2018) US - DVD R1 | BD RA
Thrilling Reviews
Kill Bill Volumes 1 and 2 US - BD RA 24: Season One US - DVD R1 Daughters of Darkness US - BD Alfred Hitchcock: The Masterpiece Collection Part 1 US - BD RA Bourne Identity, The (1988) UK - DVD R2
Most Talked About
Halloween (2018) US - DVD R1 | BD RA Venom US - DVD R1 | BD RA Cloverfield Paradox, The US - DVD R1 | BD RA Suspiria (2018) US - DVD R1 | BD RA The Super US - DVD R1 | BD RA


text:
The Global Sanitation Fund (GSF) programme in Malawi continues to move forward strongly with the signing of sub-grantees following the first funding round. The agreements that have been entered into are for between 2 and 4 years, and total nearly USD 2 million (38% of the total GSF grant).
The following four organizations and one consortium were selected for funding:
- Canadian Physicians for Aid and Relief
- Centre for Integrated Community Development
- Concern Universal
- Training Support for Partners
- Water for People Malawi, Fresh Water and CCAP Synod of Livingstonia Development Department (Consortium)
These organizations will work across all 6 of the GSF's focus districts: Chikhwawa, Balaka, Nkhotakota, Ntchisi, Phalombe, and Rumphi. Two of the grants are focused in two districts and the other three in just one district. The GSF programme design in Malawi emphasizes collaborative working modalities at the District level, in order to better coordinate interventions and leverage skills and resources. As a result, GSF's sub-grantees will be working closely to support the plans and contribute towards the sanitation and hygiene targets of Local Government bodies, as well as engage with other development partners at the district level to enhance synergies.
Plan Malawi, GSF's Executing Agency, will support these organizations commence their work on the ground. In the coming months, Plan Malawi will also be putting out a further Request for Proposals to look for additional sub-grantees to complement the initial grants and contribute further towards the objectives and targets of the GSF programme in Malawi.


text:
The Ten Things That Might Make a Better Transformers Movie.
In our darkest hour Marcus opens the matrix of leadership. 'Til all are one!
*SPOILER WARNING - For those who have not seen Dark of the Moon yet, there are a few spoilers dotted about this article. You have been warned.
In 2007 the first Transformers movie arrived on our screens. The effects were stunning and it was huge. Despite not being universally accepted by the Generation 1 fans or indeed the movie going public, for me, a long time Transformers fan, it worked way better than I thought it was going to and the future of the franchise seemed bright.
With the sequel arriving in 2009, Revenge of the Fallen looked like it would take what was established in the first movie and make it even bigger. More robots, more action bigger explosions; Michael Bay teased us with the first and now he could own us with the sequel. He didn't. In fact Transformers 2 was one of the most bloated, boring summer blockbusters of 2009, but two years later we were ready for more. We were ready for Paramount to make it up to us and despite the crazy premise of what actually happened with the 1969 moon landing feeling like it undermined the story of the first movie, Transformers: Dark of the Moon came with the promise to make up for Revenge of the Fallen. Well it didn't. In many ways it was worse and despite the fact it will no doubt make millions at the box office as the previous movies did, it's time to sit down and work out just how this franchise can give us what we want...
From the first early leaked images of the 2007 Transformers designs, I didn't like them. The new Transformers are spindly, awkward looking and for the want of a better description, have too many 'bits'. Talking as a long time Transformers fan I can tell you that one of the biggest draws to these characters and indeed their toy line is knowing that the robots can turn into the vehicles and you know where the parts go. These big screen Transformers have too many moving parts. Too many of those parts look like they are hanging off or are open for attack and most of them look like they'd rattle when they walked. Look how easy these giants break, how thin bits of their limbs seem easy to bust and honestly, those faces. You can barely make out features at the best of times and as for Optimus Prime's lips and his metal strip eyelids? It's too complicated, too bitty and most of the time the robots in disguise looks like they might be disguised as scrap piles, especially Megatron.
Now look back at Generation 1's robots. These guys look like they can tussle. When they transform they don't need to have a million moving parts and they don't look breakable. They look heavy, strong and complete. Why these designs weren't followed more closely is a mystery. I'm not even saying they need to be the same types of vehicles (mainly because the licensing for using the vehicle designs are an issue) because Bumblebee proved the modern spin from Beetle to Camero can work, but the robot designs need to have that Generation 1 chunkiness to them in my book.
In the first Transformers movie the military element worked. First contact with alien life and the army has to turn up at some stage right? But in the sequels it's this element that bloats out the plots to the point of boredom. For one, their treatment of the Autobots is a joke (more on that later), but why the hell do we need these guys when we have giant good robots vs. giant bad robots. All the fighting we need is between those guys and for nearly thirty years it's never been a problem.
In these live action movies the constant back and forth with the military is so half assed. Thanks to Michael Bay we're shown new weapons, new military vehicles and bigger and better tactics to demonstrate how the military could beat the robots. Yet they never do. Sure they take out one or two but the big fight always comes down to Autobot vs. Decepticon and really all the army is really there for in these movies is to provide a handful of bloody big explosions for Michael Bay's own entertainment. The fact that Dark of the Moon focused so heavily on the human army getting into Chicago and attempting to take out Decepticons on their own while the Autobots were reduced to limited screentime or more disappointingly having Optimus wrapped up in crane wires while dangling out of the action was a joke. You have giant robots to play with, let the story be about them not about how humans are dealing with an alien invasion... again.
This is one of my biggest gripes with the Transformers live action movies. For the first half of the first movie you can get away with having Bumblebee playing along to stay in disguise but in the sequels it's a joke. There's a scene in Revenge of the Fallen where the army are talking about the plot (which they do all the bloody time) and the Autobots are just sitting in the corner in vehicle mode. The creators of these films seem to forget these are characters. The vehicle modes are disguises. Why are they not involved in scenes. I know, the budget dictates it's easier to shoot a car than a CGI robot but this just feels stupid. Also at the end of Revenge of the Fallen we've got Bumblebee and the twins who shall not named following Sam around Egypt. Surely the plots for these movies should be about the Autobots? Transformers following people around seems nuts. They are not the human's pets, they are characters. To sum this one up, think about the end of the first movie. Sam knows Bumblebee is a robot in disguise. He's become his best friend in a manner of speaking. So explain how it's okay for Sam to cop off with Mikaela on Bumblebee's hood at this stage of the movie? It's like getting off with a girlfriend while lying on a best friend's chest... and the less said about the other Autobots looking on from a circle surrounding the kissing couple the better. Treat the Transformers like characters not 'things', they might not be so faceless then. Which brings us on to...
This is mainly concerning the Decepticons but the Autobots suffer a similar fate on the big screen. Why, in a world of great Transformers characters does Michael Bay decide to throw in legions of Decepticons who have no character? In Revenge of the Fallen we have loads of Decepticons running about in the desert battle but they are faceless. The plain and similar designs don't help but one of the great things about Transformers over the years is you know everyone. Surely reducing the Decepticons in number and giving us names, characters and getting us used to them works better than just throwing cannon fodder at battles. The first film had it closer to being right with a small group of both Autobots and Decepticons that we got names for, but the sequels are a joke. We get Soundwave and Shockwave (just about) but beyond Megatron and Starscream it's so loose. You could simply fill out the numbers with more Starscream style designs in different colours like back in Generation 1 days. Get us some Skywarps and Thundercrackers and give the numbers some character. Who cares if they're the same designs, different colours go a long way. Look at the Clone Troopers in Star Wars. All the same but we know names, action figures sell in their droves and we have a connection with them. Faceless 'bots is boring. Give us real Decepticons.
Oh and while we'll on the subject, Autobots who are just 'silver car with old Generation 1 name' doesn't cut it. There's no character here. This isn't doing anything for fans and is another element that makes these movies so boring. Let us meet Sideswipe outside of a couple of cool shots and when he does stuff and we'll actually care.
The best example of this is by highlighting one of the best parts of the first Transformers film. When Megatron wakes up and drops his "You've failed me again Starscream" to his minions was by far one of the best bits in the entire movie. This gave us these characters in a way that never got further developed. We have no sense of any of either the Autobots or the Decepticons relationships outside of the odd nostalgic glimmer that only fans will pick up on. These CGI creations aren't characters, they're images and while that sells toys it doesn't build a connection and it makes these versions of the Transformers disposable.
While we're on characters, why not feature the group of Autobots everyone's wanted to see since the start: the Dinobots. These guys take robots in disguise to the extreme but for whatever reason these robots that turn into dinosaurs have always been popular and seeing them on screen would be an absolute blast. Who doesn't want to see Grimlock kicking Decepticon ass? Who doesn't want to see a bunch of robot dinosaurs making their way into a city and causing a stir? Really this one is something that could be a hard sell but it's not like there aren't goofy elements to these movies already...
Okay, okay we get it. Hollywood thinks the premise of a robot transforming into a car is stupid and to counter that the decision was made to make as many other elements as goofy as possible to hide that fact. For me the first movie just about pulled it off. Turturro was batshit crazy but it worked, Sam's Mum and Dad were nuts but it worked and even though some of the Autobots came off as a bit 'special' in the 'trying to stay quiet around Sam's house' scene it still sort of worked. Then came the sequels. Those Autobot twins were embarrassing and made Wheelie from the old animated movie look tame. These unlikeable bots were replaced in Dark of the Moon with two smaller, equally annoying sidekick bots and with them they brought along a manic John Malchovich, a zany Ken Jeong, a crazier than ever Turturro and beside the amusing prospect that Michael Bay might think he's making a Coen's movie none of this stuff is needed and is a massive element of what makes these films so bloated. If we don't take this world of transforming robots seriously because the filmmakers don't seem us to want to, then we're off to a bad start.
I'm not crazy enough to think we'll get a live action movie that wouldn't have humans playing a main role but when a movie is called Transformers, can it about the Transformers? Instead, we get it being about a problem they've caused and how humans are going to sort it out. Surely in a world where people cry when a CGI character dies the audience is ready to have a group of robots that are part of a very well-known franchise take the weight of a plot on their shoulders. Of course within that the human actors will play a part but they can share the limelight surely? The Transformers in these live action movies are only used for show for the most part and when their every move is dictated by the army (which is ridiculous), getting behind these CGI creations as fully rounded characters is difficult.
The three Transformers films are all about Autobots stopping Decepticons taking over Earth right? What happened to Energon cubes? In a world that has genuine concerns about running out of fuel, you'd think this element could be woven into these movies with ease? Stealing energy sources would give the Decepticons something to do, it would genuinely threaten our planet's resources and in turn it would give the Autobots something to join forces with the humans over. Also the visuals of energy cube collecting used to be awesome in the Generation 1 cartoons so seeing that updated would be great, right? Also the drive to get back to Cybertron would give us an endgame to aim towards. At current standing, the Autobots just go around the world with the army looking for traces of Decepticons and not much else. No wonder Prime can't win a fight, he's got nothing to fight for.
I'm all up for an intelligent, well-structured plot that has a point but the two Transformers sequels just don't have them and this is the biggest killer with these movies. A prime example is The Dark of The Moon. For the first hour we get military folk telling us the plot and then retelling the plot. We get Sam trying to get a job and having problems with his new woman's boss and in amongst that we get the Transformers doing... well... not all that much. In Revenge of the Fallen we get about three boring plots all at the same time and a terrible version of Jetfire telling us a boring ass backstory that no one cares about three quarters of the way through a bloated story as it is, for what seems like an hour. Let's face facts, we want Autobots fighting Decepticons and we don't need two hours of talking to get us there. Yes, we need a good story but the over complication of the stories are insane. The Transformers got here and there are two sides but the Fallen, a Transformer who was here millions of years ago also had a hand in the Decepticons story but so did Sentinel Prime, who took part in one of the longest cons in history, one that the Decepticons never pushed the Autobots towards setting in place but waited until they worked out a conspiracy behind the moon landings... seriously? We have barely got to know the basics of Autobots vs. Decepticons, why do all these other elements have to come into play yet? Give us Prime vs Megatron and then Soundwave and his little helpers doing something and then Starscream and his troops causing a stir. Give us the basics before all this over complicated nonsense comes in.
Okay, so this last one is an idea more than a point. If the previous nine suggestions were taken into account and the next Transformers movie got all the elements right, I'd like to see a two part movie. The first part we meet a well-designed, fleshed out and lovable group of Transformers(Optimus, Bumbleebee, Ironhide, Jazz, Cliffjumper and Brawn off the top of my head—always loved Brawn). They've defeated the Decepticons (Megatron, Soundwave, Starscream and a few of his boys) and sent them into hiding and the Autobots have promised to help the humans defend themselves against further threats if the humans help them generate enough Energon to get back home and then an Autobot ship crash lands. In it is Springer, Arcee, Blur, Kup and Hot Rod (and maybe the Dinobots). They are panicked and glad to have found Optimus. It's then we realise what they are running from. In the sky is Unicron and he's here to devour the Earth... Who could wait for movie two to arrive?
Now this is a simply a quick off the top of my head idea for what could make this franchise as great as it should be and why these Transformers movies need to be about the Transformers and not just what they've caused. With the movies so far we've had some good ideas, some nice touches and a few glimmers at what has made this franchise stick around for nearly thirty years. The special effects have been some of ILM's best work to date and we all know Michael Bay should be able to make this stuff larger than most other action directors out there but the Transformers deserve more, we shouldn't be walking out of a two and half hour movie about "giant fucking robots" who transform into vehicles feeling underwhelmed, right?
What do you guys think? What would you do to make a better Transformers movie?
Editorial by Marcus Doidge
Follow our updates
Unseen Reviews
Doctor Who: Scream of the Shalka UK - DVD R2 Stuff, The UK - BD RB Body Double UK - DVD | BD Capricorn One UK - BD RB Maniac (4K Remaster) US - BD RA
New Easter Eggs
Star Wars: The Clone Wars - The Complete Season Two UK - BD Memento UK - BD RB Battlestar Galactica: The Plan UK - BD Moon UK - BD Star Wars: The Clone Wars - The Complete Season One UK - BD
New Editorials
Joe Lynch DVD | HD | BD David Hayter US - DVD R1 | BD RA SXSW Film 2013 - Part 1 US - DVD | HD | BD Will streaming kill physical media? DVD | HD | BD Gabe's 2012 Wrap-Up DVD | BD
Most Talked About
Halloween (2018) US - DVD R1 | BD RA Venom US - DVD R1 | BD RA Cloverfield Paradox, The US - DVD R1 | BD RA Suspiria (2018) US - DVD R1 | BD RA The Super US - DVD R1 | BD RA


text:
Hotels in Popov Most, Bosnia and Herzegovina
Search & Compare Popov Most Hotels
Save more with Secret Prices
Get instant savings with Secret Prices
Best hotels in Popov Most
Where to stay in Popov MostWhether you're planning to stay for a night or for the week, the area around Popov Most has accommodations to fit every need. Search for hotels in Popov Most with Hotels.com by checking our online map. Our map displays the areas and neighborhoods around all Popov Most hotels so you can see how close you are from landmarks and attractions, and then refine your search within the larger area. The best Popov Most hotel deals are here with our lowest price guarantee.
When to visit Popov MostIf you're just starting to think about trip planning, you might be wondering when is the best time to visit. Here are the seasonal norms to help you decide when to go:
Seasonal temperature averages
- • January-March: 55°F day, 21°F night
- • April-June: 78°F day, 36°F night
- • July-September: 83°F day, 44°F night
- • October-December: 67°F day, 26°F night
- • January-March: 0.28 inches
- • April-June: 0.31 inches
- • July-September: 0.31 inches
- • October-December: 0.35 inches


text:
The port is obviously not complete, since a lot of the hardware on the iPhone has not yet been reverse engineered to understand how they work. Consequently, there's a whole list of things currently not working: write support for the NAND, wireless networking, the touchscreen, sound, the accelerometer, and baseband support. What it does have is a framebuffer driver, a serial driver, a serial-over-USB-driver, and things like interrupts, MMU, clock, and so on. It boots using openiboot, a custom boot loader, which allows you to choose between booting into the default iPhone operating system, or Linux. The Linux 2.6 installation runs Busybox, and uses an USB keyboard (attached to the computer the iPhone is connected to) for input.
iPhone Linux Demonstration Video from planetbeing on Vimeo.
Poject lead 'planetbeing' explains that "the current userland we're using, in the interest of expedience, is a Busybox installation created with buildroot, but glibc works fine as well, and we're going to build a more permanent userland solution." The team is asking for help with this effort, and especially Android hackers are welcomed (hint, hint). To get started, there are instructions, and download mirrors can be found in the blog announcement and its comments.


text:
The Lake Forest College football team was defeated 45-34 by Carroll University on Saturday, putting a damper on the Forester Homecoming festivities. Junior Pete Scaffidi became the first quarterback in team history with three consecutive 300-yard passing games.
Scaffidi completed 26 of 44 passes for 345 yards with three touchdowns and two interceptions. He also ran for a score. Scaffidi has already thrown 13 touchdown passes in four official contests this year, matching the fifth-highest single-season total in team history. His passing yardage total on the day ranks fifth in program history.
For the second time this season, junior wide receveiver Austin Sobey and senior wideout Kevin Davis both surpassed 100 yards receiving. Two of Davis' eight receptions went for touchdowns and his 158 yards surpassed the career-high he set a week ago by one. Sobey caught a game-high eight passes for 124 yards and scored his seventh touchdown of the year.
Lake Forest junior tailback Al Mitchell carried the ball 26 times for 77 yards and the game's first touchdown, giving the home team a 7-3 lead with 8:07 to play in the first quarter.
The Pioneers, however, scored the next 14 points and would never relinquish their lead. Davis' first touchdown reception of the game, a 24-yarder, trimmed the deficit to 17-14 in the second quarter but a Carroll touchdown late in the period made the score 24-14 at halftime.
After a scoreless third quarter, the teams traded touchdowns in the fourth. Scaffidi pulled the Foresters pulled back to within three points on a 1-yard quarterback sneak early in the quarter and on a 37-yard touchdown pass to Sobey with 11:55 to play. After Carroll extended the lead to 10 points again, Davis scored on a 46-yard pass from Scaffidi to make the score 38-34 with 7:02 left on the clock.
The Pioneers scored the game's final seven points with 5:34 remaining and held on for the victory.
Sophomore cornerback Nicholas Waters led the Forester defense with a career-high 10 tackles. Senior safety Luke Butts and sophomore cornerback Darrius McKay each picked off a pass and it was McKay's 56-yard kickoff return that set up Mitchell's touchdown early in the contest. Sophomore Taylor Holzmeyer had a pair of sacks in the game.
Lake Forest will be back on the road next Saturday, taking on Beloit College at 1:00 p.m.


text:
It's been a year since the first book. It is now 2026....
Day of the DEAD
- by Devon_Marcus & Carter987321
- Rating:
- Published: 1 Dec 2014
- Updated: 8 Jan 2015
- Status: Complete
You think it's a mexican holiday but thats where it all started!! It's 2025 and Devon Bill is 24 and ready for anything. While looking for a group to survive with, he with also find friends that will become rivals, aside from all the other problems. Will these foes become friend and reunite to be a survival group in this apocalypse, or will they stay foes? Well that's for you to find out.
Join MovellasFind out what all the buzz is about. Join now to start sharing your creativity and passion
Loading ...


text:
James Sturgill, 73
James Kenneth "Kenny" Sturgill, 73, of Harrod, died at 6:13 p.m. Friday, Nov. 11, 2011, at St. Rita's Medical Center in Lima.
He was born Feb. 22, 1938, in Powell River, Va., the son of Lona Caudill and James Hobart Sturgill. On July 5, 1964, he married Marlene Owsley, who survives.
Also surviving are three sons, James "Keith" Sturgill, of Lima, Shawn Sturgill, of McConnelsville, and Jason Sturgill, of Harrod; and a daughter, Sherry Beidelschies, of Harrod.
Services are at 11 a.m. Tuesday at Bayliff & Son Funeral Home in Cridersville, with the Rev. Gary Mosley officiating. Burial will follow at Auglaize Cemetery near Harrod.
Friends may call from 2 to 4 and 6 to 8 p.m. today at the funeral home.
Contributions may be given to Garden of Love Church or to the St. Rita's Medical Hospice Program.


text:
Phil Jones's involvement in Manchester United's Champions League clash with Real Madrid on Wednesday could be in doubt after the 20-year-old was substituted due to injury in the second half of the 2-0 win over Everton.
The former Blackburn Rovers man was replaced after 57 minutes by Michael Carrick after seemingly struggling with a muscular problem for 10 minutes before limped down the tunnel.
Jones had been a doubt before the game after suffering with shingles this week, but appeared to have made a full recovery and started in central midfield.
The England international has had a number of injury problems since joining United, including a back problem which ruled him out from the beginning of the season until late November.
United pulled 12 points clear at the top of the Premier League table following rivals Manchester City's 3-1 defeat against Southampton on Saturday.


text:
Subscribe to our newsletter and keep up with news, promotions, sales and discounts!Subscribe / Unsubscribe Your email address will never be shared with any 3rd parties and you will receive only the type of content you signed up for!
Classic Flames - cf-027
This cut vinyl decal of Classic Flame design, can be applied to most serfaces.
can be used on a wall, car, bike, HGV, or to add to any design
Comes in 5 basic sizes and 5 colours to choose
If you need it in another size or colour please contact us and we will send you a price for the custom cut product. email email@example.com


text:
ACL2 works on the Unix (and some variants, including Linux) and Macintosh operating systems. It is built on top of any of the following Common Lisps: Allegro, GCL (Gnu Common Lisp) [or, AKCL], Lispworks, Lucid, and MCL (Macintosh Common Lisp).
We have successfully run a small but nontrivial test suite on a Sparc
2 with 16 megabytes of main memory, but performance appears better
with more memory. For more on this, see Problems.
cd dir
gunzip acl2.tar.gz
tar xpvf acl2.tar
rm acl2.tar
gunzip solaris-2-5-sparc-saved_acl2.tar.gz tar xpvf solaris-2-5-sparc-saved_acl2.tar rm solaris-2-5-sparc-saved_acl2.tar mv solaris-2-5-sparc-saved_acl2 acl2-sources/saved_acl2 chmod a+x acl2-sources/saved_acl2
gunzip debian-gnu-linux-saved_acl2.tar.gz tar xpvf debian-gnu-linux-saved_acl2.tar rm debian-gnu-linux-saved_acl2.tar mv debian-gnu-linux-saved_acl2 acl2-sources/saved_acl2 chmod a+x acl2-sources/saved_acl2
acl2-sources. The sources and an executable image are
located on that subdirectory. The executable image is called
acl2-sources/saved_acl2. You can invoke ACL2 by
running that image, e.g.,
mycomputer% dir
mycomputer% acl2
/usr/local/bin/acl2, containing the following two lines:
exec dir
/acl2-sources/saved_acl2 dir
Some hosts then automatically enter the ACL2 ``command loop,'' an ACL2 read-eval-print loop with the prompt:
ACL2 !>Other hosts will leave you in Common Lisp's read-eval-print loop. If yours is one of the latter, evaluate the Common Lisp expression
(ACL2::LP) or simply
(LP) if the current
package is
Once in the ACL2 command loop, you can type an ACL2 term, typically followed by ``return'' or ``enter,'' and ACL2 will evaluate the term, print its value, and prompt you for another one. Below are three simple interactions:
ACL2 !>t T ACL2 !>'abc ABC ACL2 !>(+ 2 2) 4
To get out of the ACL2 command loop, type the
:q command.
This returns you to the host Common Lisp. We sometimes call this
``raw Lisp.'' You may re-enter the command loop with
(LP) as above.
Note that when you are in raw Lisp you can overwrite or destroy ACL2 by executing inappropriate Common Lisp expressions. All bets are off once you've exited our loop. That said, many users do it. For example, you might exit our loop, activate some debugging or trace features in raw Lisp, and then reenter our loop. While developing proofs or tracking down problems, this is reasonable behavior.
Now you are ready to test your image.
An easy way to test the theorem prover is to type the following term to the ACL2 command loop:
:mini-proveallThis will cause a moderately long sequence of commands to be processed, each of which is first printed out as though you had typed it. Each will print some text, generally a proof of some conjecture. None should fail.
A more elaborate test is to certify the ``books'' that come with the
distribution. These ``books'' have been contributed mainly by users
and are on the subdirectory
acl2-sources/books. See
acl2-sources/books/README for information. The general
topic of books is discussed thoroughly in the ACL2 documentation; see
the BOOKS node in the documentation tree.
Books should be ``certified'' before they are used. We do not distribute certificates with our books, mainly because certification produces compiled code specific to the host. You should certify the books locally as a test of your ACL2 image.
It is easy to re-certify all the distributed books in Unix. We recommend you
do this. If you have entered ACL2, exit to the operating system, e.g., by
control-d in many systems.
While connected to dir
/acl2-sources, execute
make certify-books-testThis will create several megabytes of output and take several hours. To remove the output, stand in the same directory as above and execute:
rm -f books/*.log rm -f books/*/*.out rm -f books/*/*.logWe apologize to non-Unix users: we do not provide non-Unix instructions for recertifying the distributed books. The certification methods provided by the authors of the books vary greatly and we codified them in the Unix makefile used above. Most subdirectories of
acl2-sources/books contain either a
README file or a
certify.lisp file. Users
who wish to certify one of these books and who cannot figure out (from
these scant clues) what to type to ACL2 should not hesitate to contact
the authors.
Next proceed to the section on Documentation.
cd acl2-sources
make LISP=xxx
LISP=xxx is specified,
LISP=gcl is used.)
The time taken to carry out this process depends on the host processor but may be an hour or two. The size of the resulting binary image is dependent on which Lisp was used, but it may be in the vicinity of 17 megabytes.
make works for the Common Lisps listed in Requirements above. It may only work on Sun
Sparcs and 486/66 PCs, for all we know about the portability of Unix
makefile code. See the file
acl2-sources/makefile for further details. If this
make command does not work for you, please see the
instructions for non-Unix systems below.
You can now skip to Invoking ACL2.
Open an ftp connection to ftp.cs.utexas.edu by anonymous login and ftp
to the local
acl2-sources subdirectory all of the files
and directories in and below the ftp directory
pub/moore/acl2/v2-3/acl2-sources. You may link to our
ftp sources directory by clicking
You will find that
contains many files, subdirectories, sub-subdirectories, etc. We mean
for you to copy over to your local connected directory the entire
structure of files and subdirectories. Thus, when this ftp operation
is done, your local connected directory should have a subdirectory
acl2-sources and it should contain (at some level)
everything obtained by the ftp. Your local
subdirectory will now look exactly as though you had obtained our
acl2.tar.gz and done the
tar and
rm steps of the Unix instructions.
Next we describe how to create a suitable binary image containing
ACL2. This takes some time and you are urged first to find out
(perhaps from a local Common Lisp authority) how to save the resulting
image so that it does not have to be constructed from scratch each
time you wish to use ACL2. The time taken to carry out the
initialization process depends on the host processor but may be an
hour or two. The size of the resulting binary image is dependent on
which Lisp was used, but it may be in the vicinity of 17 megabytes.
See the file
mcl-acl2-startup.lisp for Macintosh
Invoke your local Common Lisp, which should be one of those listed in
Requirements above. Filenames in this
Lisp session should default to the dir
directory, e.g., for GCL, connect to
/acl2-sources before invoking GCL or, after
entering GCL, do
Then type the following sequence of Lisp commands,
(load "acl2.lisp") (in-package "ACL2") (compile-acl2)
The commands above will compile the ACL2 sources and create compiled
object files on your
acl2-sources subdirectory. Now exit
your Common Lisp and invoke a fresh copy of it (mainly to avoid saving
an image with the garbage created by the compilation process). Again
arrange to connect to the
acl2-sources subdirectory. In the fresh
lisp type:
(load "acl2.lisp") (in-package "ACL2") (load-acl2) (initialize-acl2)
This will load the new object files in the Lisp image and bootstrap
ACL2 by reading and processing the source files. But the attempt at
initialization will end in an error! The message will say that it is
impossible to finish because a certain file was compiled during the
processing, thus dirtying the image yet again. So now exit your
Common Lisp and invoke a fresh copy of it (again arranging to connect
to your
acl2-sources subdirectory). Then, in the fresh
lisp type:
(load "acl2.lisp") ; (load "acl2-init.lisp") ; if to use our save (in-package "ACL2") (quick-compile-acl2 t t) (initialize-acl2)
This will load the new object files into the Lisp image, and bootstrap ACL2 by reading and processing the source files. This run will succeed and leave you at the top level of your Lisp.
If you were to invoke
(LP) now, you will enter the
ACL2 command loop as discussed in Invoking
ACL2. However, we recommend that instead of doing this you save
the current image to an executable file using whatever save mechanism
exist in your Common Lisp. For consistency with these installation
instructions, we suggest you save the binary image to the file named
/acl2-sources/saved_acl2. The function
save-acl2 in file
acl2-init.lisp shows how
we save an image in various Common Lisps.
You may now proceed to Invoking ACL2.
ACL2's documentation is a hypertext document that, if printed in book form, is about 800 pages or about 1.5 megabytes of text. Its hypertext character makes it far more pleasing to read with an interactive browser. The documentation is available in four formats: HTML, Texinfo, Postscript and ACL2 documentation strings. All of this material is copyrighted by the University of Texas at Austin and is derived under the GNU General Public License from material copyrighted by Computational Logic, Inc.
Two Web-based guided tours of ACL2 are available from the home page
noted below. If you are already familiar with Nqthm, you might find
it useful to look at the documentation node
NQTHM-TO-ACL2. Another useful documentation topic for
beginning ACL2 users is the node
The ACL2 Home Page is
http://www.cs.utexas.edu/users/moore/acl2/index.htmlThe home page provides a selected bibliography, guided tours of the system, and the complete hypertext documentation tree.
Once you have installed ACL2, the HTML form of the documentation is
available locally as
We urge you to browse your local copy of the documentation rather than our Web copy, simply to reduce Web traffic and the demand on our server.
Emacs Info
This is a very convenient format for accessing the ACL2 documentation from within Emacs. In Emacs, invoke
meta-x infoand then, if you are unfamiliar with Info, type
control-h mto see a list of commands available. In particular, type
g (dir
* ACL2 i.j: (dir
Documentation for ACL2 version i.j.
acl2-sources/doc/texinfo.tex which
is copyrighted by the Free Software Foundation, Inc. (See that file
for copyright and license information.)
A Postscript file containing all the documentation is in
The file currently prints out as about 800 pages. There is an Index, followed by a Table of Contents, both at the end of the document. The corresponding
.tex file is also provided.
ACL2 Documentation Strings
The ACL2 system has facilities for browsing the documentation. However this
requires that the documentation be stored as strings in the Lisp image. To
save space, the images mentioned so far in this document do not contain
resident documentation strings. To build such an image on a Unix system,
make large LISP=xxx
while connected to the
acl2-sources directory. The
xxx above should be replaced by the name of your local Common
Lisp. This will create dir
(note that this is the same name previously used for the image without
documentation strings). The new image may be 30 megabytes in size and
may take an hour or two to build.
For non-Unix systems, the ``large'' image can be built in your local Common
Lisp by
(load "acl2.lisp") (in-package "ACL2") (compile-acl2 nil) (load-acl2 nil) (initialize-acl2 'include-book *acl2-pass-2-files* nil)Non-Unix users should then save the image to an executable binary file.
Once you have an image of ACL2 containing documentation strings, and you are in
the ACL2 command loop, you may query the documentation on a given topic
by typing the command
:doc topic
where topic is the Lisp symbol naming the topic you want to learn about. To learn more about the on-line documentation, type
:help and then return.
This completes the installation of ACL2 Version 2.3. You may wish to
return to the Table of Contents.
The distribution includes the following.
README.html; This file acl2-sources/ LICENSE ; GNU General Public License TAGS ; Handy for looking at source files with emacs *.lisp ; ACL2 source files. all-files.txt ; List of all files in this directory and subdirectories books/ ; Examples, potentially useful in others' proofs. See books/README. doc/ ; ACL2 documentation in various formats emacs/ ; Miscellaneous emacs and file utilities, not well documented init.lsp ; Useful for building the system. interface/ emacs/ ; Support for ACL2 "proof trees". See interface/emacs/README.doc. infix/ ; ACL2 infix printer by Mike Smith. See interface/infix/README. makefile ; For Unix make. See README. saved/ ; Empty directory for backing up copies during make; not important acl2.tar.gz; gzip'd tar file containing all of acl2-sources/ (see below) acl2.tar.gz.SUM ; result of our running sum acl2.tar.gz images/ ; Some gzip'd tar'd executables; see images/README. split/ ; The result of splitting up acl2.tar.gz; see split/README
acl2.tar.gz file in order to build
acl2. That file includes more than just the ACL2 sources proper. It
suffices, for building ACL2, via the instructions above, to fetch only
acl2-sources/*.lisp files, which take up `only' about
5 megabytes, together with the files
acl2-sources/makefile and
acl2.tar.gz because your
get times out, an
alternative is to get all of the many files in the directory
split/, each of which matches the pattern
split-acl2.tar.gz* (e.g., using an `mget' command). Once
you have got all these files, concatenate them together in alphabetic
order, e.g., with the command
cat split-acl2.tar.gz* > acl2.tar.gz
If you are using Version 3.2.0 of Lispworks, there is probably a bug
in the definition of
logeqv. Harlequin has sent us a
patch; if anyone asks us for it, we will ask Harlequin if we may
forward their patch.
If you are running on GCL or AKCL on a machine with only 16 megabytes
of RAM, it may be a good idea to have a file
~/acl2-init.lsp containing the following form, which will
help to keep the ACL2 process small as you are running it:
(setq acl2::*acl2-allocation-alist* nil).In one test on a not-quite-current version of the system, we found the following times (minutes:seconds) using a Sparc 2.
31:42 64 megabytes main memory 33:37 64 megabytes main memory, using the SETQ form above 63:52 16 megabytes main memory 43:09 16 megabytes main memory, using the SETQ form above
If you are running Linux Slackware v3.0:
#+gcl (setq COMPILER::*SPLIT-FILES* 100000)This way the lisp compiler splits large C source files in files of about 100K. Without this line, some systems do not have enough memory to compile the C files. (We saw this problem arise on a machine with 16Mb of actual memory plus 16Mb of virtual memory.)
Thanks to Vanderlei Moraes Rodrigues for the Slackware notes.
email@example.com, send a message to
email@example.com. We handle the mailing list
manually. To send a message to all who receive ACL2 mail, send the message
email@example.com. Finally, please report bugs in ACL2 to
This version of ACL2 is a descendent of ACL2 Version 1.9, Copyright (C) 1997 Computational Logic, Inc.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Matt Kaufmann (firstname.lastname@example.com)
J Strother Moore (firstname.lastname@example.com)
Department of Computer Sciences
University of Texas at Austin
Austin, TX 78712-1188 U.S.A.