--- title: Perform Prediction over a CloudML Model. type: docs repo: https://github.com/rstudio/cloudml menu: main: name: Perform Prediction over a CloudML Model. - cloudml parent: cloudml-reference aliases: - /reference/cloudml/cloudml_predict.html - /cloudml/reference/cloudml_predict.html - /guide/cloudml/reference/cloudml_predict.html - /tools/tools/cloudml/reference/cloudml_predict.html - /installation/cloudml/reference/cloudml_predict.html - /tutorials/cloudml/reference/cloudml_predict.html - /guide/tools/cloudml/reference/cloudml_predict.html - /deploy/cloudml/reference/cloudml_predict.html - /tools/cloudml/reference/cloudml_predict.html - /tutorials/tools/cloudml/reference/cloudml_predict.html ---
Perform online prediction over a CloudML model, usually, created using
cloudml_deploy()
cloudml_predict(instances, name, version = paste0(name, "_1"),
verbose = FALSE)
| instances | A list of instances to be predicted. While predicting a single instance, list wrapping this single instance is still expected. |
| name | The name for this model (required) |
| version | The version for this model. Versions start with a letter and contain only letters, numbers and underscores. Defaults to name_1 |
| verbose | Should additional information be reported? |
cloudml_deploy()
Other CloudML functions: cloudml_deploy
,
cloudml_train


{% extends 'base.html'%} {% import 'macros.html' as macro%} {% import 'bootstrap/wtf.html' as wtf %} {% block content %}
Pitcher
Add New Pitch
Posted Pitches :
{{macro.displayPitches(pitchs)}}


Applications
Keras Applications are deep learning models that are made available alongside pre-trained weights. These models can be used for prediction, feature extraction, and fine-tuning.
Weights are downloaded automatically when instantiating a model. They are stored at ~/.keras/models/
.
Available models
Models for image classification with weights trained on ImageNet:
- Xception
- VGG16
- VGG19
- ResNet, ResNetV2
- InceptionV3
- InceptionResNetV2
- MobileNet
- MobileNetV2
- DenseNet
- NASNet
All of these architectures are compatible with all the backends (TensorFlow, Theano, and CNTK), and upon instantiation the models will be built according to the image data format set in your Keras configuration file at ~/.keras/keras.json
. For instance, if you have set image_data_format=channels_last
, then any model loaded from this repository will get built according to the TensorFlow data format convention, "Height-Width-Depth".
Note that:
- For Keras < 2.2.0
, The Xception model is only available for TensorFlow, due to its reliance on SeparableConvolution
layers.
- For Keras < 2.1.5
, The MobileNet model is only available for TensorFlow, due to its reliance on DepthwiseConvolution
layers.
Usage examples for image classification models
Classify ImageNet classes with ResNet50
from keras.applications.resnet50 import ResNet50
from keras.preprocessing import image
from keras.applications.resnet50 import preprocess_input, decode_predictions
import numpy as np
model = ResNet50(weights='imagenet')
img_path = 'elephant.jpg'
img = image.load_img(img_path, target_size=(224, 224))
x = image.img_to_array(img)
x = np.expand_dims(x, axis=0)
x = preprocess_input(x)
preds = model.predict(x)
# decode the results into a list of tuples (class, description, probability)
# (one such list for each sample in the batch)
print('Predicted:', decode_predictions(preds, top=3)[0])
# Predicted: [(u'n02504013', u'Indian_elephant', 0.82658225), (u'n01871265', u'tusker', 0.1122357), (u'n02504458', u'African_elephant', 0.061040461)]
Extract features with VGG16
from keras.applications.vgg16 import VGG16
from keras.preprocessing import image
from keras.applications.vgg16 import preprocess_input
import numpy as np
model = VGG16(weights='imagenet', include_top=False)
img_path = 'elephant.jpg'
img = image.load_img(img_path, target_size=(224, 224))
x = image.img_to_array(img)
x = np.expand_dims(x, axis=0)
x = preprocess_input(x)
features = model.predict(x)
Extract features from an arbitrary intermediate layer with VGG19
from keras.applications.vgg19 import VGG19
from keras.preprocessing import image
from keras.applications.vgg19 import preprocess_input
from keras.models import Model
import numpy as np
base_model = VGG19(weights='imagenet')
model = Model(inputs=base_model.input, outputs=base_model.get_layer('block4_pool').output)
img_path = 'elephant.jpg'
img = image.load_img(img_path, target_size=(224, 224))
x = image.img_to_array(img)
x = np.expand_dims(x, axis=0)
x = preprocess_input(x)
block4_pool_features = model.predict(x)
Fine-tune InceptionV3 on a new set of classes
from keras.applications.inception_v3 import InceptionV3
from keras.preprocessing import image
from keras.models import Model
from keras.layers import Dense, GlobalAveragePooling2D
from keras import backend as K
# create the base pre-trained model
base_model = InceptionV3(weights='imagenet', include_top=False)
# add a global spatial average pooling layer
x = base_model.output
x = GlobalAveragePooling2D()(x)
# let's add a fully-connected layer
x = Dense(1024, activation='relu')(x)
# and a logistic layer -- let's say we have 200 classes
predictions = Dense(200, activation='softmax')(x)
# this is the model we will train
model = Model(inputs=base_model.input, outputs=predictions)
# first: train only the top layers (which were randomly initialized)
# i.e. freeze all convolutional InceptionV3 layers
for layer in base_model.layers:
layer.trainable = False
# compile the model (should be done *after* setting layers to non-trainable)
model.compile(optimizer='rmsprop', loss='categorical_crossentropy')
# train the model on the new data for a few epochs
model.fit_generator(...)
# at this point, the top layers are well trained and we can start fine-tuning
# convolutional layers from inception V3. We will freeze the bottom N layers
# and train the remaining top layers.
# let's visualize layer names and layer indices to see how many layers
# we should freeze:
for i, layer in enumerate(base_model.layers):
print(i, layer.name)
# we chose to train the top 2 inception blocks, i.e. we will freeze
# the first 249 layers and unfreeze the rest:
for layer in model.layers[:249]:
layer.trainable = False
for layer in model.layers[249:]:
layer.trainable = True
# we need to recompile the model for these modifications to take effect
# we use SGD with a low learning rate
from keras.optimizers import SGD
model.compile(optimizer=SGD(lr=0.0001, momentum=0.9), loss='categorical_crossentropy')
# we train our model again (this time fine-tuning the top 2 inception blocks
# alongside the top Dense layers
model.fit_generator(...)
Build InceptionV3 over a custom input tensor
from keras.applications.inception_v3 import InceptionV3
from keras.layers import Input
# this could also be the output a different Keras model or layer
input_tensor = Input(shape=(224, 224, 3)) # this assumes K.image_data_format() == 'channels_last'
model = InceptionV3(input_tensor=input_tensor, weights='imagenet', include_top=True)
Documentation for individual models
| Model | Size | Top-1 Accuracy | Top-5 Accuracy | Parameters | Depth |
|---|---|---|---|---|---|
| Xception | 88 MB | 0.790 | 0.945 | 22,910,480 | 126 |
| VGG16 | 528 MB | 0.713 | 0.901 | 138,357,544 | 23 |
| VGG19 | 549 MB | 0.713 | 0.900 | 143,667,240 | 26 |
| ResNet50 | 98 MB | 0.749 | 0.921 | 25,636,712 | - |
| ResNet101 | 171 MB | 0.764 | 0.928 | 44,707,176 | - |
| ResNet152 | 232 MB | 0.766 | 0.931 | 60,419,944 | - |
| ResNet50V2 | 98 MB | 0.760 | 0.930 | 25,613,800 | - |
| ResNet101V2 | 171 MB | 0.772 | 0.938 | 44,675,560 | - |
| ResNet152V2 | 232 MB | 0.780 | 0.942 | 60,380,648 | - |
| InceptionV3 | 92 MB | 0.779 | 0.937 | 23,851,784 | 159 |
| InceptionResNetV2 | 215 MB | 0.803 | 0.953 | 55,873,736 | 572 |
| MobileNet | 16 MB | 0.704 | 0.895 | 4,253,864 | 88 |
| MobileNetV2 | 14 MB | 0.713 | 0.901 | 3,538,984 | 88 |
| DenseNet121 | 33 MB | 0.750 | 0.923 | 8,062,504 | 121 |
| DenseNet169 | 57 MB | 0.762 | 0.932 | 14,307,880 | 169 |
| DenseNet201 | 80 MB | 0.773 | 0.936 | 20,242,984 | 201 |
| NASNetMobile | 23 MB | 0.744 | 0.919 | 5,326,716 | - |
| NASNetLarge | 343 MB | 0.825 | 0.960 | 88,949,818 | - |
The top-1 and top-5 accuracy refers to the model's performance on the ImageNet validation dataset.
Depth refers to the topological depth of the network. This includes activation layers, batch normalization layers etc.
Xception
keras.applications.xception.Xception(include_top=True, weights='imagenet', input_tensor=None, input_shape=None, pooling=None, classes=1000)
Xception V1 model, with weights pre-trained on ImageNet.
On ImageNet, this model gets to a top-1 validation accuracy of 0.790 and a top-5 validation accuracy of 0.945.
This model and can be built both with 'channels_first'
data format (channels, height, width) or 'channels_last'
data format (height, width, channels).
The default input size for this model is 299x299.
Arguments
- include_top: whether to include the fully-connected layer at the top of the network.
- weights: one of
None
(random initialization) or'imagenet'
(pre-training on ImageNet). - input_tensor: optional Keras tensor (i.e. output of
layers.Input()
) to use as image input for the model. - input_shape: optional shape tuple, only to be specified
if
include_top
isFalse
(otherwise the input shape has to be(299, 299, 3)
. It should have exactly 3 inputs channels, and width and height should be no smaller than 71. E.g.(150, 150, 3)
would be one valid value. - pooling: Optional pooling mode for feature extraction
when
include_top
isFalse
.None
means that the output of the model will be the 4D tensor output of the last convolutional block.'avg'
means that global average pooling will be applied to the output of the last convolutional block, and thus the output of the model will be a 2D tensor.'max'
means that global max pooling will be applied.
- classes: optional number of classes to classify images
into, only to be specified if
include_top
isTrue
, and if noweights
argument is specified.
Returns
A Keras Model
instance.
References
License
These weights are trained by ourselves and are released under the MIT license.
VGG16
keras.applications.vgg16.VGG16(include_top=True, weights='imagenet', input_tensor=None, input_shape=None, pooling=None, classes=1000)
VGG16 model, with weights pre-trained on ImageNet.
This model can be built both with 'channels_first'
data format (channels, height, width) or 'channels_last'
data format (height, width, channels).
The default input size for this model is 224x224.
Arguments
- include_top: whether to include the 3 fully-connected layers at the top of the network.
- weights: one of
None
(random initialization) or'imagenet'
(pre-training on ImageNet). - input_tensor: optional Keras tensor (i.e. output of
layers.Input()
) to use as image input for the model. - input_shape: optional shape tuple, only to be specified
if
include_top
isFalse
(otherwise the input shape has to be(224, 224, 3)
(with'channels_last'
data format) or(3, 224, 224)
(with'channels_first'
data format). It should have exactly 3 inputs channels, and width and height should be no smaller than 32. E.g.(200, 200, 3)
would be one valid value. - pooling: Optional pooling mode for feature extraction
when
include_top
isFalse
.None
means that the output of the model will be the 4D tensor output of the last convolutional block.'avg'
means that global average pooling will be applied to the output of the last convolutional block, and thus the output of the model will be a 2D tensor.'max'
means that global max pooling will be applied.
- classes: optional number of classes to classify images
into, only to be specified if
include_top
isTrue
, and if noweights
argument is specified.
Returns
A Keras Model
instance.
References
- Very Deep Convolutional Networks for Large-Scale Image Recognition: please cite this paper if you use the VGG models in your work.
License
These weights are ported from the ones released by VGG at Oxford under the Creative Commons Attribution License.
VGG19
keras.applications.vgg19.VGG19(include_top=True, weights='imagenet', input_tensor=None, input_shape=None, pooling=None, classes=1000)
VGG19 model, with weights pre-trained on ImageNet.
This model can be built both with 'channels_first'
data format (channels, height, width) or 'channels_last'
data format (height, width, channels).
The default input size for this model is 224x224.
Arguments
- include_top: whether to include the 3 fully-connected layers at the top of the network.
- weights: one of
None
(random initialization) or'imagenet'
(pre-training on ImageNet). - input_tensor: optional Keras tensor (i.e. output of
layers.Input()
) to use as image input for the model. - input_shape: optional shape tuple, only to be specified
if
include_top
isFalse
(otherwise the input shape has to be(224, 224, 3)
(with'channels_last'
data format) or(3, 224, 224)
(with'channels_first'
data format). It should have exactly 3 inputs channels, and width and height should be no smaller than 32. E.g.(200, 200, 3)
would be one valid value. - pooling: Optional pooling mode for feature extraction
when
include_top
isFalse
.None
means that the output of the model will be the 4D tensor output of the last convolutional block.'avg'
means that global average pooling will be applied to the output of the last convolutional block, and thus the output of the model will be a 2D tensor.'max'
means that global max pooling will be applied.
- classes: optional number of classes to classify images
into, only to be specified if
include_top
isTrue
, and if noweights
argument is specified.
Returns
A Keras Model
instance.
References
License
These weights are ported from the ones released by VGG at Oxford under the Creative Commons Attribution License.
ResNet
keras.applications.resnet.ResNet50(include_top=True, weights='imagenet', input_tensor=None, input_shape=None, pooling=None, classes=1000)
keras.applications.resnet.ResNet101(include_top=True, weights='imagenet', input_tensor=None, input_shape=None, pooling=None, classes=1000)
keras.applications.resnet.ResNet152(include_top=True, weights='imagenet', input_tensor=None, input_shape=None, pooling=None, classes=1000)
keras.applications.resnet_v2.ResNet50V2(include_top=True, weights='imagenet', input_tensor=None, input_shape=None, pooling=None, classes=1000)
keras.applications.resnet_v2.ResNet101V2(include_top=True, weights='imagenet', input_tensor=None, input_shape=None, pooling=None, classes=1000)
keras.applications.resnet_v2.ResNet152V2(include_top=True, weights='imagenet', input_tensor=None, input_shape=None, pooling=None, classes=1000)
ResNet, ResNetV2 models, with weights pre-trained on ImageNet.
This model and can be built both with 'channels_first'
data format (channels, height, width) or 'channels_last'
data format (height, width, channels).
The default input size for this model is 224x224.
Arguments
- include_top: whether to include the fully-connected layer at the top of the network.
- weights: one of
None
(random initialization) or'imagenet'
(pre-training on ImageNet). - input_tensor: optional Keras tensor (i.e. output of
layers.Input()
) to use as image input for the model. - input_shape: optional shape tuple, only to be specified
if
include_top
isFalse
(otherwise the input shape has to be(224, 224, 3)
(with'channels_last'
data format) or(3, 224, 224)
(with'channels_first'
data format). It should have exactly 3 inputs channels, and width and height should be no smaller than 32. E.g.(200, 200, 3)
would be one valid value. - pooling: Optional pooling mode for feature extraction
when
include_top
isFalse
.None
means that the output of the model will be the 4D tensor output of the last convolutional block.'avg'
means that global average pooling will be applied to the output of the last convolutional block, and thus the output of the model will be a 2D tensor.'max'
means that global max pooling will be applied.
- classes: optional number of classes to classify images
into, only to be specified if
include_top
isTrue
, and if noweights
argument is specified.
Returns
A Keras Model
instance.
References
ResNet
: Deep Residual Learning for Image RecognitionResNetV2
: Identity Mappings in Deep Residual Networks
License
These weights are ported from the following:
ResNet
: The original repository of Kaiming He under the MIT license.ResNetV2
: Facebook under the BSD license.
InceptionV3
keras.applications.inception_v3.InceptionV3(include_top=True, weights='imagenet', input_tensor=None, input_shape=None, pooling=None, classes=1000)
Inception V3 model, with weights pre-trained on ImageNet.
This model and can be built both with 'channels_first'
data format (channels, height, width) or 'channels_last'
data format (height, width, channels).
The default input size for this model is 299x299.
Arguments
- include_top: whether to include the fully-connected layer at the top of the network.
- weights: one of
None
(random initialization) or'imagenet'
(pre-training on ImageNet). - input_tensor: optional Keras tensor (i.e. output of
layers.Input()
) to use as image input for the model. - input_shape: optional shape tuple, only to be specified
if
include_top
isFalse
(otherwise the input shape has to be(299, 299, 3)
(with'channels_last'
data format) or(3, 299, 299)
(with'channels_first'
data format). It should have exactly 3 inputs channels, and width and height should be no smaller than 75. E.g.(150, 150, 3)
would be one valid value. - pooling: Optional pooling mode for feature extraction
when
include_top
isFalse
.None
means that the output of the model will be the 4D tensor output of the last convolutional block.'avg'
means that global average pooling will be applied to the output of the last convolutional block, and thus the output of the model will be a 2D tensor.'max'
means that global max pooling will be applied.
- classes: optional number of classes to classify images
into, only to be specified if
include_top
isTrue
, and if noweights
argument is specified.
Returns
A Keras Model
instance.
References
License
These weights are released under the Apache License.
InceptionResNetV2
keras.applications.inception_resnet_v2.InceptionResNetV2(include_top=True, weights='imagenet', input_tensor=None, input_shape=None, pooling=None, classes=1000)
Inception-ResNet V2 model, with weights pre-trained on ImageNet.
This model and can be built both with 'channels_first'
data format (channels, height, width) or 'channels_last'
data format (height, width, channels).
The default input size for this model is 299x299.
Arguments
- include_top: whether to include the fully-connected layer at the top of the network.
- weights: one of
None
(random initialization) or'imagenet'
(pre-training on ImageNet). - input_tensor: optional Keras tensor (i.e. output of
layers.Input()
) to use as image input for the model. - input_shape: optional shape tuple, only to be specified
if
include_top
isFalse
(otherwise the input shape has to be(299, 299, 3)
(with'channels_last'
data format) or(3, 299, 299)
(with'channels_first'
data format). It should have exactly 3 inputs channels, and width and height should be no smaller than 75. E.g.(150, 150, 3)
would be one valid value. - pooling: Optional pooling mode for feature extraction
when
include_top
isFalse
.None
means that the output of the model will be the 4D tensor output of the last convolutional block.'avg'
means that global average pooling will be applied to the output of the last convolutional block, and thus the output of the model will be a 2D tensor.'max'
means that global max pooling will be applied.
- classes: optional number of classes to classify images
into, only to be specified if
include_top
isTrue
, and if noweights
argument is specified.
Returns
A Keras Model
instance.
References
License
These weights are released under the Apache License.
MobileNet
keras.applications.mobilenet.MobileNet(input_shape=None, alpha=1.0, depth_multiplier=1, dropout=1e-3, include_top=True, weights='imagenet', input_tensor=None, pooling=None, classes=1000)
MobileNet model, with weights pre-trained on ImageNet.
This model and can be built both with 'channels_first'
data format (channels, height, width) or 'channels_last'
data format (height, width, channels).
The default input size for this model is 224x224.
Arguments
- input_shape: optional shape tuple, only to be specified
if
include_top
isFalse
(otherwise the input shape has to be(224, 224, 3)
(with'channels_last'
data format) or(3, 224, 224)
(with'channels_first'
data format). It should have exactly 3 inputs channels, and width and height should be no smaller than 32. E.g.(200, 200, 3)
would be one valid value. - alpha: controls the width of the network.
- If
alpha
< 1.0, proportionally decreases the number of filters in each layer. - If
alpha
> 1.0, proportionally increases the number of filters in each layer. - If
alpha
= 1, default number of filters from the paper are used at each layer.
- If
- depth_multiplier: depth multiplier for depthwise convolution (also called the resolution multiplier)
- dropout: dropout rate
- include_top: whether to include the fully-connected layer at the top of the network.
- weights:
None
(random initialization) or'imagenet'
(ImageNet weights) - input_tensor: optional Keras tensor (i.e. output of
layers.Input()
) to use as image input for the model. - pooling: Optional pooling mode for feature extraction
when
include_top
isFalse
.None
means that the output of the model will be the 4D tensor output of the last convolutional block.'avg'
means that global average pooling will be applied to the output of the last convolutional block, and thus the output of the model will be a 2D tensor.'max'
means that global max pooling will be applied.
- classes: optional number of classes to classify images
into, only to be specified if
include_top
isTrue
, and if noweights
argument is specified.
Returns
A Keras Model
instance.
References
License
These weights are released under the Apache License.
DenseNet
keras.applications.densenet.DenseNet121(include_top=True, weights='imagenet', input_tensor=None, input_shape=None, pooling=None, classes=1000)
keras.applications.densenet.DenseNet169(include_top=True, weights='imagenet', input_tensor=None, input_shape=None, pooling=None, classes=1000)
keras.applications.densenet.DenseNet201(include_top=True, weights='imagenet', input_tensor=None, input_shape=None, pooling=None, classes=1000)
DenseNet models, with weights pre-trained on ImageNet.
This model and can be built both with 'channels_first'
data format (channels, height, width) or 'channels_last'
data format (height, width, channels).
The default input size for this model is 224x224.
Arguments
- blocks: numbers of building blocks for the four dense layers.
- include_top: whether to include the fully-connected layer at the top of the network.
- weights: one of
None
(random initialization), 'imagenet' (pre-training on ImageNet), or the path to the weights file to be loaded. - input_tensor: optional Keras tensor (i.e. output of
layers.Input()
) to use as image input for the model. - input_shape: optional shape tuple, only to be specified
if
include_top
is False (otherwise the input shape has to be(224, 224, 3)
(with'channels_last'
data format) or(3, 224, 224)
(with'channels_first'
data format). It should have exactly 3 inputs channels, and width and height should be no smaller than 32. E.g.(200, 200, 3)
would be one valid value. - pooling: optional pooling mode for feature extraction
when
include_top
isFalse
.None
means that the output of the model will be the 4D tensor output of the last convolutional block.avg
means that global average pooling will be applied to the output of the last convolutional block, and thus the output of the model will be a 2D tensor.max
means that global max pooling will be applied.
- classes: optional number of classes to classify images
into, only to be specified if
include_top
is True, and if noweights
argument is specified.
Returns
A Keras model instance.
References
- Densely Connected Convolutional Networks (CVPR 2017 Best Paper Award)
License
These weights are released under the BSD 3-clause License.
NASNet
keras.applications.nasnet.NASNetLarge(input_shape=None, include_top=True, weights='imagenet', input_tensor=None, pooling=None, classes=1000)
keras.applications.nasnet.NASNetMobile(input_shape=None, include_top=True, weights='imagenet', input_tensor=None, pooling=None, classes=1000)
Neural Architecture Search Network (NASNet) models, with weights pre-trained on ImageNet.
The default input size for the NASNetLarge model is 331x331 and for the NASNetMobile model is 224x224.
Arguments
- input_shape: optional shape tuple, only to be specified
if
include_top
isFalse
(otherwise the input shape has to be(224, 224, 3)
(with'channels_last'
data format) or(3, 224, 224)
(with'channels_first'
data format) for NASNetMobile or(331, 331, 3)
(with'channels_last'
data format) or(3, 331, 331)
(with'channels_first'
data format) for NASNetLarge. It should have exactly 3 inputs channels, and width and height should be no smaller than 32. E.g.(200, 200, 3)
would be one valid value. - include_top: whether to include the fully-connected layer at the top of the network.
- weights:
None
(random initialization) or'imagenet'
(ImageNet weights) - input_tensor: optional Keras tensor (i.e. output of
layers.Input()
) to use as image input for the model. - pooling: Optional pooling mode for feature extraction
when
include_top
isFalse
.None
means that the output of the model will be the 4D tensor output of the last convolutional block.'avg'
means that global average pooling will be applied to the output of the last convolutional block, and thus the output of the model will be a 2D tensor.'max'
means that global max pooling will be applied.
- classes: optional number of classes to classify images
into, only to be specified if
include_top
isTrue
, and if noweights
argument is specified.
Returns
A Keras Model
instance.
References
License
These weights are released under the Apache License.
MobileNetV2
keras.applications.mobilenet_v2.MobileNetV2(input_shape=None, alpha=1.0, include_top=True, weights='imagenet', input_tensor=None, pooling=None, classes=1000)
MobileNetV2 model, with weights pre-trained on ImageNet.
This model and can be built both with 'channels_first'
data format (channels, height, width) or 'channels_last'
data format (height, width, channels).
The default input size for this model is 224x224.
Arguments
- input_shape: optional shape tuple, to be specified if you would
like to use a model with an input img resolution that is not
(224, 224, 3).
It should have exactly 3 inputs channels (224, 224, 3).
You can also omit this option if you would like
to infer input_shape from an input_tensor.
If you choose to include both input_tensor and input_shape then
input_shape will be used if they match, if the shapes
do not match then we will throw an error.
E.g.
(160, 160, 3)
would be one valid value. - alpha: controls the width of the network. This is known as the
width multiplier in the MobileNetV2 paper.
- If
alpha
< 1.0, proportionally decreases the number of filters in each layer. - If
alpha
> 1.0, proportionally increases the number of filters in each layer. - If
alpha
= 1, default number of filters from the paper are used at each layer.
- If
- include_top: whether to include the fully-connected layer at the top of the network.
- weights: one of
None
(random initialization), 'imagenet' (pre-training on ImageNet), or the path to the weights file to be loaded. - input_tensor: optional Keras tensor (i.e. output of
layers.Input()
) to use as image input for the model. - pooling: Optional pooling mode for feature extraction
when
include_top
isFalse
.None
means that the output of the model will be the 4D tensor output of the last convolutional block.'avg'
means that global average pooling will be applied to the output of the last convolutional block, and thus the output of the model will be a 2D tensor.'max'
means that global max pooling will be applied.
- classes: optional number of classes to classify images
into, only to be specified if
include_top
is True, and if noweights
argument is specified.
Returns
A Keras model instance.
Raises
ValueError: in case of invalid argument for weights
,
or invalid input shape, alpha,
rows when weights='imagenet'
References
License
These weights are released under the Apache License.


public final class SpecialPermission
extends java.security.BasicPermission
AccessController.doPrivileged()
blocks.
We try to avoid these blocks in our code and keep security simple, but we need them for a few special places to contain hacks for third party code, or dangerous things used by scripting engines.
All normal code has this permission, but checking this before truncating the stack prevents unprivileged code (e.g. scripts), which do not have it, from gaining elevated privileges.
In other words, don't do this:
// throw away all information about caller and run with our own privs
AccessController.doPrivileged(
...
);
// check caller first, to see if they should be allowed to do this
SecurityManager sm = System.getSecurityManager();
if (sm != null) {
sm.checkPermission(new SpecialPermission());
}
// throw away all information about caller and run with our own privs
AccessController.doPrivileged(
...
);
| Constructor and Description |
|---|
SpecialPermission()
Creates a new SpecialPermision object.
|
SpecialPermission(java.lang.String name,
java.lang.String actions)
Creates a new SpecialPermission object.
|
public SpecialPermission()
public SpecialPermission(java.lang.String name, java.lang.String actions)
Policy
object to instantiate new Permission objects.name
- ignoredactions
- ignored


Information Pioneers is a series I helped start in 2014 as part of SDSI, the Stanford Data Science Initiative. The goal was to bring thought leaders to campus to help students learn from visionaries in the data science field. It is currently hosted by the INFORMS chapter at Stanford.
Hal Varian is Google’s Chief Economist and has long worked on the economics of technology. He is the founding dean of the School of Information at Berkeley, and has influenced thousands of undergraduates with his books Intermediate Microeconomics and Information Rules. This interview was given by Alistair Thornton. Errors and omissions are my own, and any good stuff can be completely credited to them.
Today want to cover how Google uses data, and how they think about it. First question, how did that transition from academia to Google to take place and how was the transition?
Well, I was the Dean at Berkeley. I started the School of Information in 1995 and in 98-99 I wrote a book “Information Rules” - it had several important concepts like network effects, switching costs, lock-in and others. One of the fans of the book was Eric Schmidt. Deans get time off for good behavior and I wanted to try something different. Eric said, “Why don’t you come down and help us out?” They were all in one building, Building Zero. To preface the next question, “What did I do?” Eric said, “Why don’t you look at this ad auction and see if it can make us some money?”
How did you get involved in information? What sparked that?
My undergraduate degree was at MIT, and I spent a lot of time computer programming. At the time, it was more of a hobby - well, if you’re good at math you should be interested in these things. I moved to Michigan, which interestingly enough, at the time ran the Internet. They managed the NSF backbone, and I got interested in this - because I was trying to think about what the economics of the Internet actually were (which changed dramatically over the next few years). That was.. 1990, or something like that. Very early.
How did you as a professional manage the transition from academia to Google? A place in which the incentives or the goals are so different.
Google is kind of like a University, but with money. Actually, Stanford is also kind of like a University, but with money. The story then, obviously, was - in the spirit of inquiry and research, and trying to work on interesting problems. Google was very visionary at that time, and still is. The biggest difference is, in academia, one can work on problems in months and years. In business, that timescale changes to days and weeks. It was a lot of fun! We got to explore and put some of the theories to work. I feel privileged to have had the opportunity to work in both worlds.
What exactly is a Chief Economist?
Eric asked me to look at at ad auctions. It was a well-developed area, and I was sure there was a variation in literature that we could use - but it was actually quite different for Google. It was designed by Eric Beach, who was an uber-engineer at Google, and Salar Kamanghar but it was primarily designed with engineering choices and I was able to add the economic context.
Could you break this down for us? How does Google make money? And what is your role, in a data-driven context?
I like to say, I work on the dull side of Google. I work on the side that makes money. In this case, Google makes money by selling ads. These ads are assigned to more prominent positions by the bids that people make. There are a fair number of moving parts. Google was selling keyword targeted ads, and the ads were priced based on a guess of what the value to the purchaser was.
We then realized we couldn’t negotiate every deal we were making, and we saw a company GoTo that structured their auctions differently. We used it as inspiration, and tried to improve it in several ways.
Could you give us an example of how you would promote things using the ad auctions?
 How the two ‘match’ is a bit ambiguous. It could be a synonym, an exact match, or a broad match, or a phrase match. There is a certain amount of technology required to figure out what matches, and how the bids interact, and what the outcome is.
Within this context, what are some of the challenges for Google and advertisers?
Well, the responsibility of getting the match to work is for the advertiser. Google provides a set of tools - for example, around the different types of matches - to help guide the bid process. For example, “Jobs NOT Steve” for folks that are focused on employment. Nowadays, we have this ‘entity search’ which is nice. It allows us to do things like distinguish between wolverine as an animal and Wolverine as a Michigan student. We can sense distinctions.
We moved from search ads, and then focused on contextual advertising. These are the things that appear at the top of a box and might say “Ads by Google” with it. Its a similar idea. We moved from there to purchasing DoubleClick and focusing on Display Ads.
Where is this evolving?
Nowadays, Google is looking at many different business models. Google Fiber, driverless cars, the Android operating system. A lot of these things are complementary to our core services. People say, “Why is Google doing driverless cars?” Well, we’ve got Google Maps, and then we have Street View - so there is a basis there. Sergey and Larry come to Stanford and talk with the autonomous team here, and realize there was a lot they could do to support the work on campus. The context in those images helped develop that technology.
What are the challenges and opportunity you see at the heart of this “data machine” as it grows.
The folks who designed this system really needed to consider scale. We get more than 100 billion queries a month at Google. You need the systems to handle that data, and then you say, “Hmm, what are the capabilities we can do with this?”
As an analyst, I found Google Trends so powerful. When I was living in Beijing, I would Google things like “China Hard Landing” to get a sense of sentiment around market crashes. This was a great, quick and dirty tool. How did you start to get interested in this? How did that come about?
In the early days, we started looking at the query volume on specific queries. And many of those patterns were highly predictable. An example for me was “cruises.” There is heavy seasonality to this. I thought, we could share this with advertisers - so that they could understand query load and purchasing habits.
At the time this was very difficult to do - it was time consuming. So, we built out a product Google Trends to do this, almost instantaneously. A few years ago, I started matching this to economics. We had the recession. I would look at things like “file for unemployment” or “mortgage refinance.” You can imagine how important this would be over time and by geography. “Loan modification.” A very big query towards understanding stress in the mortgage market. It’s been very interesting to extract this data to predict economic activity.
What do your interaction with policy, and how is this information being used?
Yeah, so it turns out. A minute ago, I said predicting. It’s a very special kind of prediction. It’s predicting the present, not the future. We have all of these real-time information systems that let one know what was happening in the last day, or hour - when the official government statistics come out in a few months. Think of it as “nowcasting.” Central banks are very interested in this.
Right, so when Obama’s team came in in 2008. They were trying to build a stimulus package and dealing with information that was 6 weeks old. Google isn’t the only one who can help with this. Intuit has a small- business employment index based on Quickbooks, LinkedIn has done stuff on most-rapidly going job categories. MasterCard can do spending by region, by retail store on a daily basis. This private sector data is much more timely and up-to-date than what can be achieved in the public sector.
What are some of the challenges in correlation vs. causation for Google flu trends? How do you think about issues related to that?
The correlation / causation thing is very intersting. We are doing very short-range, high-frequency predictions and are happy with correlations for that. For doing certain kinds of policy experiments or the impact of advertising. The gold-standard for that is doing experiments. Something important for Google is that very early on, they realized that we needed a robust system for experimentation and learning. For example, trying something out with 1% of the population.
There is this line, “You can decide something by looking at the data, or a HIPPO.” (A Highly Paid Person’s Opinion) For causal inference, we believe strongly in experiments as a gold standard. The story of Google Flu Trends is more mundane than the press might make seem. The two guys who put this together have left. The team slowed down because the two founders/initiators had left. It was on auto-pilot.
The algorithms that had worked well in the first few years began to lose accuracy. The biggest issue was that there was a positive feedback loop with the press. The press would say, “It’s going to be a big season” and people would Google before developing symptoms and the model would lose relevance with regard to its predictive capabilities.
How do you think about these feedback loops, and disaggregating real “core” search terms vs. maybe “secondary” search terms.
It’s a real question. We think having more real-time economic data can help stabilize the system. That’s not necessarily obvious, though. Too rapid feedback could destabilize the system. There is a lot of complexity in these feedback networks. There are many moving parts, and “what affects what” is pretty tricky.
The landscape of the use of data has changed quickly. What are the next big things you are looking at. When we had lunch, we talked about ‘causal inference.’
What happens - I mentioned experiments are important. Sometimes, one can take observational data and squeeze out causality. Economists have studied this a lot. We have developed some techniques that are useful in other fields as well. In March, the National Academies of Science is having a meeting to understand how to draw causal inference from big data.
It’s a hot thing at the moment.
It’s a hot thing. Susan Athey and Guido Imbens are experts and very involved in this and thinking about how it shows up in the big data context. Given my background, we have all been looking at the social science background of this. It also shows up in genomics and other biological situations.
What about careers? Most people here are unemployed, and at some point in their lives are going to need to find a job. What advice would you give to the students in the room? How do you think about hiring at Google?
I guess - people ask me about Google. Make sure you know a lot about Google before going. Things like the breakdown of where the revenue comes from, and the ad auctions. The basic way the company functions. This is good advice for anywhere you’re looking, though. Then, in our area, “What kind of modeling would you do for this phenomena?” We want to know how you approach problem solving. It’s pretty hard to prep for that, but it is the kind of thing you will often get at Google.
 Tell me about that.
It’s good to be complementary to something that is getting ubiquitous and cheap. This is happening for data, but what is missing is the skill to take that and turn it into information, understanding, and action. That is a skill that is definitely been very much in demand these days. A few years earlier was, “How do you build these systems?” The private sector now is getting better at this, and the question is becoming how to utilize this.
Additional Q&A
- What is the interest in using Google’s information for a hedge fund?
- How do you think about the antitrust allegations in Europe, vs. Google’s place in the US?
- Economic models are very rational - models that deal with large data sets are non-parsimonious and it is more difficult to develop an intuition about the underlying trends taking place. What do you think will give in the future as the two systems become more aligned?
- How successful do you think Google has been in its motto, “Don’t be Evil”?
- Very early on in Google’s history, Sergey Brin and Larry Page suggested a goal was to ‘push forward’ AI. How successful would you say Google has been in doing this?
- How do you envision Google’s relationship with blockchain technologies now and in the future?


THE NAKED GUN A film review by Mark R. Leeper Copyright 1988 Mark R. Leeper
Capsule review: The Zucker brothers and Jim Abrahams, who together made AIRPLANE!, are back with a film version of their cult TV show POLICE SQUAD!. It provides a few laughs but is actually of a very different style from the TV show and it is a misstep. Rating: 0.
You are going to have to stick with the old arm-chair historian on this one. THE NAKED GUN has a long history. In 1974 a film was made that was sort of a radical experiment in comedy films. THE GROOVE TUBE was a sort of satire on television that was not a single story but a set of black-out sketches lampooning all aspects of television. It spawned a host of imitators, one of the best being KENTUCKY FRIED MOVIE, which was written in large part by three men, Jim Abrahams, David Zucker, and Jerry Zucker. Like THE GROOVE TUBE, KENTUCKY FRIED MOVIE was mostly made up of very short sketches but it included "A Fistful of Yen," a very extended satire on the Bruce Lee film ENTER THE DRAGON. It was clear that someone felt the same madcap style could be applied to longer satires. Meanwhile, in another part of the forest, a production company called Quinn-Martin was making a set of popular television series including THE F.B.I., THE FUGITIVE, RUN FOR YOUR LIFE, THE INVADERS, and a police show or two, all using much the same style of story-telling, making them an easy target for satire. But television was not yet ready for the Abrahams/Zucker/Zucker style of comedy. What made all the difference was when the Abrahams/Zucker/Zucker took a mediocre but popular television movie TERROR IN THE SKY (which was in itself a remake of ZERO HOUR) and remade it using the same three-joke-a-minute style they had used in "A Fistful of Yen." The result was AIRPLANE! It proved to the networks that there was a viable market for satire--or at least the Abrahams/Zucker/Zucker brand of satire. But could the Abrahams/Zucker/Zucker style of humor be applied to a regular television series and could it garner an audience big enough to sustain it. In a word: no. While POLICE SQUAD! was certainly one of the most inventive comedy programs ever on network television, outside of a loyal core of fans (my wife among them), people saw it once or twice and then felt they had seen it. By the time it was on there were fewer Quinn-Martin productions on television anyway so perhaps fewer people even remembered the Quinn-Martin cliches like the dramatic voice reading the title of the episode. After one season of six shows the series was apparently no longer profitable enough to continue and was relegated to the ranks of cult television. Abrahams/Zucker/Zucker have since made two more theatrical films: TOP SECRET and now the POLICE SQUAD! movie, THE NAKED GUN.
While Police Lieutenant Drebbin (played by Leslie Nielsen) is off in Lebanon beating up every anti-American world and leader and warning them to keep out of America, one of his own undercover agents is shot, left for dead, and framed for heroin running. Drebbin investigates and finds at the heart of the matter a drug kingpin (played by Ricardo Montalban, in his second film adaptation of a cult television show) with a plan to kill Queen Elizabeth. I will not spend a lot of time on the plot since it is clear the filmmakers did not either. I will say that notably missing are some of the best running gags like the omniscient shoeshine boy and the frozen-scene end titles.
The real problem with the POLICE SQUAD! movie is that it is not really a POLICE SQUAD! movie. While it has a touch of the old style of three jokes a minute, it segues into the Inspector Clouseau style in which the jokes are as funny, probably, but each one lasts longer, and there are fewer. Clouseau humor relied on the personality that Peter Sellers was able to put into the character while the original POLICE SQUAD!'s jokes were a steady barrage from all directions. Leslie Nielsen's Drebbin does not have the personal appeal that Sellers gave Clouseau. As a lampoon of police shows POLICE SQUAD! took every cliche it could find and turned each one on its head.  THE NAKED GUN, like the Clouseau films, takes place in a sane world with one insane man. This leads to a different character of film altogether. It is slower and less interesting. I would think it would be unlikely people would want to see Nielsen reprise his role again and again the way Sellers was able to.
In spite of a number of funny moments, quite a number in fact, THE NAKED GUN is a misfire and will probably be a one-shot. Rate it a 0 on the -4 to +4 scale.
Mark R. Leeper att!mtgzz!leeper<EMAIL_ADDRESS>The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Box Office Records > Domestic > All Movies > Cumulative > All Time Domestic
All Time Domestic Box Office (Rank 1,401-1,500)
See also: All Time Domestic Limited Release - All Time International - All Time Worldwide - All Time Domestic (Inf. Adj.) - Top 2016 Domestic - Top 2017 Domestic
This chart contains the top 100 movies based on the cumulative domestic box office.
Please see our All-Time Top Grossing Films Comparison for a comparison of the daily performance of all films released since 1980 that have earned more than $450 million at the domestic box office.
| Rank | Released | Movie | Domestic Box Office |
International Box Office |
Worldwide Box Office |
|---|---|---|---|---|---|
| 1,401 | 1983 | The Big Chill | $56,077,501 | $0 | $56,077,501 |
| 1,402 | 1996 | Primal Fear | $56,073,633 | $46,500,000 | $102,573,633 |
| 1,403 | 2005 | Wallace & Gromit: The Curse of the Were-Rabbit | $56,068,547 | $141,524,605 | $197,593,152 |
| 1,404 | 2012 | ParaNorman | $56,003,051 | $52,116,611 | $108,119,662 |
| 1,405 | 2014 | Dracula Untold | $55,991,880 | $164,249,843 | $220,241,723 |
| 1,406 | 2000 | Romeo Must Die | $55,973,336 | $35,063,424 | $91,036,760 |
| 1,407 | 2004 | Saw | $55,968,727 | $47,911,300 | $103,880,027 |
| 1,408 | 1992 | Forever Young | $55,942,530 | $72,000,000 | $127,942,530 |
| 1,409 | 2005 | Be Cool | $55,849,401 | $39,094,616 | $94,944,017 |
| 1,410 | 2011 | Friends with Benefits | $55,802,754 | $90,793,137 | $146,595,891 |
| 1,411 | 2001 | The Animal | $55,762,229 | $0 | $55,762,229 |
| 1,412 | 2013 | Free Birds | $55,750,480 | $54,636,592 | $110,387,072 |
| 1,413 | 2013 | Hansel & Gretel: Witch Hunters | $55,703,475 | $159,246,241 | $214,949,716 |
| 1,414 | 1977 | In Search of Noah's Ark | $55,700,000 | $0 | $55,700,000 |
| 1,415 | 1999 | Eyes Wide Shut | $55,691,208 | $48,576,235 | $104,267,443 |
| 1,416 | 2010 | Legend of the Guardians: The Owls of Ga'Hoole | $55,675,313 | $84,041,404 | $139,716,717 |
| 1,417 | 1970 | The Aristocats | $55,675,257 | $0 | $55,675,257 |
| 1,418 | 1998 | Snake Eyes | $55,591,409 | $48,300,000 | $103,891,409 |
| 1,419 | 1983 | Never Say Never Again | $55,500,000 | $104,500,000 | $160,000,000 |
| 1,420 | 1998 | What Dreams May Come | $55,485,043 | $16,000,000 | $71,485,043 |
| 1,421 | 2016 | The BFG | $55,483,770 | $98,626,999 | $154,110,769 |
| 1,422 | 1999 | Never Been Kissed | $55,474,757 | $0 | $55,474,757 |
| 1,423 | 2009 | The Haunting in Connecticut | $55,389,516 | $23,369,006 | $78,758,522 |
| 1,424 | 2016 | Neighbors 2: Sorority Rising | $55,340,730 | $53,417,791 | $108,758,521 |
| 1,425 | 1985 | Police Academy 2: Their First Assignment | $55,337,042 | $0 | $55,337,042 |
| 1,426 | 2005 | Crash | $55,334,418 | $45,838,620 | $101,173,038 |
| 1,427 | 2009 | Ghosts of Girlfriends Past | $55,250,026 | $47,262,776 | $102,512,802 |
| 1,428 | 2007 | Why Did I Get Married? | $55,204,525 | $729,653 | $55,934,178 |
| 1,429 | 1998 | Small Soldiers | $55,143,823 | $16,600,000 | $71,743,823 |
| 1,430 | 2016 | The Shallows | $55,121,623 | $63,766,402 | $118,888,025 |
| 1,431 | 2011 | I am Number Four | $55,100,437 | $91,094,722 | $146,195,159 |
| 1,432 | 1998 | Halloween: H2O | $55,041,738 | $0 | $55,041,738 |
| 1,433 | 2006 | The Guardian | $55,011,732 | $39,961,808 | $94,973,540 |
| 1,434 | 2001 | Don’t Say a Word | $54,997,476 | $49,490,907 | $104,488,383 |
| 1,435 | 1997 | Spawn | $54,979,992 | $32,969,867 | $87,949,859 |
| 1,436 | 1997 | The Jackal | $54,956,941 | $104,400,000 | $159,356,941 |
| 1,437 | 1992 | Alien 3 | $54,927,174 | $103,572,826 | $158,500,000 |
| 1,438 | 1981 | For Your Eyes Only | $54,800,000 | $140,500,000 | $195,300,000 |
| 1,439 | 1997 | Starship Troopers | $54,768,952 | $66,331,048 | $121,100,000 |
| 1,440 | 2016 | Office Christmas Party | $54,767,494 | $36,575,000 | $91,342,494 |
| 1,441 | 2012 | This Means War | $54,760,791 | $102,213,766 | $156,974,557 |
| 1,442 | 1991 | Doc Hollywood | $54,751,779 | $0 | $54,751,779 |
| 1,443 | 2012 | Project X | $54,731,865 | $48,296,323 | $103,028,188 |
| 1,444 | 2011 | Source Code | $54,712,227 | $85,716,272 | $140,428,499 |
| 1,445 | 2016 | Assassin’s Creed | $54,647,948 | $185,850,000 | $240,497,948 |
| 1,446 | 2006 | The Omen | $54,607,383 | $64,688,201 | $119,295,584 |
| 1,447 | 2011 | New Year’s Eve | $54,544,638 | $92,305,635 | $146,850,273 |
| 1,448 | 2014 | Horrible Bosses 2 | $54,445,357 | $51,500,000 | $105,945,357 |
| 1,449 | 2012 | The Woman in Black | $54,333,290 | $74,622,608 | $128,955,898 |
| 1,450 | 1989 | The Abyss | $54,243,125 | $0 | $54,243,125 |
| 1,451 | 2013 | Evil Dead | $54,239,856 | $43,538,500 | $97,778,356 |
| 1,452 | 2014 | The Hundred-Foot Journey | $54,235,441 | $40,035,047 | $94,270,488 |
| 1,453 | 2002 | The Count of Monte Cristo | $54,228,104 | $21,160,986 | $75,389,090 |
| 1,454 | 1987 | La Bamba | $54,215,416 | $0 | $54,215,416 |
| 1,455 | 2007 | TMNT | $54,149,098 | $41,946,920 | $96,096,018 |
| 1,456 | 2015 | The Hateful Eight | $54,117,416 | $91,325,944 | $145,443,360 |
| 1,457 | 2006 | Final Destination 3 | $54,098,051 | $58,700,000 | $112,798,051 |
| 1,458 | 2016 | Barbershop: The Next Cut | $54,030,051 | $374,151 | $54,404,202 |
| 1,459 | 2011 | Insidious | $54,009,150 | $45,861,736 | $99,870,886 |
| 1,460 | 2000 | Dolphins | $54,000,000 | $15,600,000 | $69,600,000 |
| 1,461 | 1982 | The Verdict | $53,977,250 | $0 | $53,977,250 |
| 1,462 | 1990 | Edward Scissorhands | $53,976,987 | $0 | $53,976,987 |
| 1,463 | 2012 | Paranormal Activity 4 | $53,900,335 | $86,719,185 | $140,619,520 |
| 1,464 | 1997 | Austin Powers: International Man of Mystery | $53,883,989 | $13,800,000 | $67,683,989 |
| 1,465 | 2015 | Focus | $53,862,963 | $100,500,000 | $154,362,963 |
| 1,466 | 1996 | Tin Cup | $53,854,588 | $22,000,000 | $75,854,588 |
| 1,467 | 2003 | Paycheck | $53,789,313 | $45,030,476 | $98,819,789 |
| 1,468 | 1998 | T-Rex: Back to the Cretaceous | $53,743,249 | $49,300,000 | $103,043,249 |
| 1,469 | 1988 | Rambo III | $53,715,611 | $135,000,000 | $188,715,611 |
| 1,470 | 2007 | P.S., I Love You | $53,695,808 | $102,073,870 | $155,769,678 |
| 1,471 | 1993 | The Three Musketeers | $53,661,805 | $0 | $53,661,805 |
| 1,472 | 2004 | Jet Li's Hero | $53,652,140 | $123,883,818 | $177,535,958 |
| 1,473 | 2007 | 3:10 to Yuma | $53,606,916 | $17,564,909 | $71,171,825 |
| 1,474 | 1993 | Rookie of the Year | $53,579,269 | $0 | $53,579,269 |
| 1,475 | 1990 | Problem Child | $53,470,891 | $18,800,004 | $72,270,895 |
| 1,476 | 1995 | Sabrina | $53,458,319 | $33,641,681 | $87,100,000 |
| 1,477 | 1987 | RoboCop | $53,424,681 | $0 | $53,424,681 |
| 1,478 | 1987 | Throw Momma From the Train | $53,380,796 | $0 | $53,380,796 |
| 1,479 | 2010 | Life as We Know It | $53,374,681 | $52,513,156 | $105,887,837 |
| 1,480 | 2005 | Yours, Mine and Ours | $53,359,917 | $19,000,000 | $72,359,917 |
| 1,481 | 2005 | The Corpse Bride | $53,359,111 | $61,411,543 | $114,770,654 |
| 1,482 | 2011 | Madea's Big Happy Family | $53,345,287 | $0 | $53,345,287 |
| 1,483 | 2000 | Final Destination | $53,302,314 | $58,734,556 | $112,036,870 |
| 1,484 | 1996 | Sleepers | $53,300,852 | $112,300,000 | $165,600,852 |
| 1,485 | 1973 | Papillon | $53,267,000 | $0 | $53,267,000 |
| 1,486 | 2012 | The Devil Inside | $53,262,945 | $48,496,545 | $101,759,490 |
| 1,487 | 2013 | RED 2 | $53,262,560 | $83,900,000 | $137,162,560 |
| 1,488 | 1990 | Arachnophobia | $53,208,180 | $0 | $53,208,180 |
| 1,489 | 2006 | The Prestige | $53,089,891 | $51,317,475 | $104,407,366 |
| 1,490 | 2010 | Letters to Juliet | $53,032,453 | $29,116,085 | $82,148,538 |
| 1,491 | 1989 | To the Limit | $53,000,000 | $0 | $53,000,000 |
| 1,492 | 2001 | Blow | $52,990,775 | $30,291,521 | $83,282,296 |
| 1,493 | 1999 | Forces of Nature | $52,957,800 | $41,000,000 | $93,957,800 |
| 1,494 | 1992 | My Cousin Vinny | $52,929,168 | $0 | $52,929,168 |
| 1,495 | 2007 | Sweeney Todd: The Demon Barber of Fleet Street | $52,898,073 | $100,431,771 | $153,329,844 |
| 1,496 | 1999 | Varsity Blues | $52,894,169 | $1,400,000 | $54,294,169 |
| 1,497 | 1999 | Message in a Bottle | $52,880,016 | $0 | $52,880,016 |
| 1,498 | 1987 | Outrageous Fortune | $52,864,741 | $0 | $52,864,741 |
| 1,499 | 2016 | 13 Hours: The Secret Soldiers of Benghazi | $52,853,219 | $16,558,151 | $69,411,370 |
| 1,500 | 2005 | Kicking and Screaming | $52,842,724 | $3,000,000 | $55,842,724 |
The Domestic Market is defined as the North American movie territory (consisting of the United States, Canada, Puerto Rico and Guam).
This table is updated daily to reflect the latest studio reports.
Note: This chart is not adjusted for inflation.


Welcome To The Hiking Planner
Cities
Don't See A City? Add One Here:
Submit
Search For Your City Here:
Search
×
Add Trail Here
Add a trail for
Easy
Moderate
Difficult
Add New Trail


Benzema responds to the French President: "Let me play for another country"
by BeSoccerThe President of the French Federation (FFF), Noel Le Graet, publically stated that Karim Benzema will no longer play for the national team. The Madrid striker has responded to him.
"Karim Benzema is a very good player, I never questioned his qualities. He is one of the best players in his position but his time with France is over," Le Graet stated bluntly to 'RMC Sport'.
The 'Valbuena case' and other anti-sporting episodes have closed the door for Benzema withe France. He has not been called up for 'Les Bleus' since October 2015. This is more than 4 years without wearing the national team shirt. Benzema even said that Didier Deschamps had listened to racist interests and that was why he was not called up.
Featured links
- Ballon d'Or winner already been decided
- The latest football transfers news and rumours
- Possible 'Clasico' in the Spanish Supercup final
- Who has the most free-kicks goals: Messi or Cristiano?
Despite the fact that Benzema is having one of the best times in his already successful, sporting career, France will not count on him. Le Graet's words made the footballer respond and he did not remain silent.
"Noel, I thought that you would not interfere with the coach's decisions. Bear in mind that I, and only I, will say when my international career ends. If you believe that I have finished, let me play for another country that I am eligible to play for and we will see," Benzema responded.
The Madrid striker has Algerian origins and could obtain Spanish nationality for the years worked in the white club. FIFA would not, however, allow Benzema to play for another country because he has already been international for France, which he has represented in several official tournaments.


Type the given word within 0 seconds
words here
Time Left : 0
Score : 0
Instructions
Type each word in the given amount of second to score. To play again just type the correct word. Score will reset.
Type each word in the given amount of second to score. To play again just type the correct word. Score will reset.


I've been playing camogie with my local club since i can remember. Throughout the years I have particapted on many different teams and won many different matches. I have many achievements from playing camogie with my club, school and my county.
These Achievements inlucde:
With my local club I won the u13 league in 2013.
With my local club I won the U16b County Final in 2015.
I won the Munster Final in both 2015 and 2016 with Cork.
With my secondary school Coachford College, we won the county final in both junior and senior in 2016.
With the junior A team we went on to win the munster final and came runners up in the All Ireland Fianl.
With Cork, I came runners up in the u15 All Ireland final in 2015.
Football
In Transition Year i took up another sport to pass my spare time so I joined football with my local club. Whilst playing football I won the u16 county final


| About Dailyrotten |
|
Feedback
If you like this page, hate it, or would like to suggest changes,
<EMAIL_ADDRESS>is listening. This page
is experimental and somewhat different from what we usually offer, so please
do send your feedback.
Adding Stories
If you are a rotten newshound and you would like to suggest a story,
visit our submit page to
send us the URL. Stories that are accepted will have your name credited.
Viewership
On the first full day this page went live, 100,000 people visited this Rotten
News page. Of course that was the day after the WTC attacks, so that number is
somewhat distorted. Right now this page gets between 50,000 and 75,000 people
every day.
Linking
We encourage everyone to link to this page; if you like it, others probably
will as well.
Other Rotten
Rotten
Gaping Maw
Celebrity Morgue
Mugshots
Rotten Store
Shockumentary
Rate My Poo
Rate My Kitten
Rate My Finger
Penny Postcards
Phallic
Dr. Sputnik
Boners
Dead Pool
NNDB
Home
Make Dailyrotten your start page
|
|
|
February 13, 2003
Civil war erupting over dead horsehead
ABC TV affiliates | Submitted by: Corehead
Only this time in Pennsylvania: "Two Philadelphia museums claiming they are the rightful owners of the head of Old Baldy, the horse upon which General George Meade rode during many of the Civil War's most infamous battles... "Every time there's an article about (the Civil War museum) and it mentions (Old Baldy) as their primary artifact, it just makes my blood boil," said Margaret Atkinson, secretary of the GAR Museum."
|
|
Read article...
|
|
Free Speech = Treason
New York Sun | Submitted by: Squiggy
"So long as the protesters are invoking the Constitution, they might have a look at Article III. That says, "Treason against the United States shall consist only in levying war against them, or in adhering to their enemies, giving them aid and comfort." And there is no reason to doubt that the "anti-war" protesters-- we prefer to call them protesters against freeing Iraq-- are giving, at the very least, comfort to Saddam Hussein."
|
|
Read article...
|
|
Sick animals may have licked shuttle debris
CNN | Submitted by: Mr. Ramon
"Three cows and two deer with swollen tongues, swollen heads and stiff necks are being tested to see if they were somehow sickened by debris from the space shuttle Columbia... "But the deer are still alive and are recovering," [a Health Commission spokesman] said, adding that all the animals were under a quarantine order not to be moved from their properties."
|
|
Read article...
|
|
The eggs weren't the only things that were fried
Aftenposten | Submitted by: The Good Doctor
"A young Norwegian, hungry after a night on the town in Bergen, decided to fry himself a few eggs when he got home.  The young man, apparently in an alcohol induced stupor, forgot a few elementary things while attempting to satisfy his hunger. Like taking the eggs out of the carton, for starters."
|
|
Read article...
|
|
Man slices off penis, drives self to psychiatric care facility
NTR | Submitted by: Rufferto
Is admission to special hospitals that difficult to obtain?  A very short article which fails to answer the most important question, whether doctors managed to sew the piece back on.
|
|
Read article...
|
|
Father, son team up to battle offensive game music
Danville Register-Bee | Submitted by: ADESN
"It's not unusual for some punk, rap and rock songs to refer to murder, suicide, anarchy or the devil. But one Danville man was surprised to find such songs featured on his son's video games, which showcase skateboarding and, on the surface, look unobjectionable." Do these crybabies work for Ashcroft or something?
|
|
Read article...
|
|
Your honor, I object!
Atlanta Journal-Constitution | Submitted by: Incubus
"Antonio Frank Martin, 21, was the first to stand trial among 125 people arrested during a drug sweep last fall. When the jury announced its verdict, Martin stood at the defense table proclaiming his innocence, and five people in the gallery began shouting that the verdict was not right. Judge Aubrey Duffey ordered the courtroom to be cleared. Martin broke free and began a fist fight with officers in front of the judge's bench before he was thrown to the floor."
|
|
Read article...
|
|
We're sorry: our city sucks
WXIA-TV 11 Atlanta | Submitted by: Incubus
"Atlanta Mayor Shirley Franklin said she was sorry for the nightmarish traffic downtown drivers slogged through during the NBA All-Star festivities last weekend. She said at a press conference Tuesday Atlanta received many more visitors than she and other city officials had anticipated. She said the city had relied too heavily on information from the NBA about how to plan for the All-Star game. Atlanta's notorious traffic reached chaotic proportions Friday and Saturday, causing police to close major surface streets and highway ramps."
|
|
Read article...
|
|
Got Goat?
WRAL-TV 5 Raleigh | Submitted by: Incubus
As North Carolina's population becomes more diverse, people from other nations are seeking foods that remind them of home. Goat meat is being found on more farms and supermarkets. Boar goats imported from South Africa are bred for their meat. Some Hispanic, African and middle Eastern cultures favor goat over beef, making it the most popular meat in the world... "It's been moving pretty good. We've ordered about three carcasses and they've been selling OK. We've been trying to get [the word out] to the public to let them know they can come here and get it fresh." Umm, goat (particularly curried) can be delicious. How is this news? Oh. North Carolina.
|
|
Read article...
|
|
Make Rice, Not War
WRAL-TV 5 Raleigh | Submitted by: Incubus
"Authorities say a Chapel Hill, North Carolina woman got plenty of attention when she mailed an envelope of rice to the White House to protest a possible war with Iraq. Authorities in Chapel Hill got a call from Raleigh police Monday saying that postal workers had found an envelope with excessive postage and a granular substance inside. Responding to concerns in a time of heightened terrorism threats, Chapel Hill police went to the woman's house that morning."
|
|
Read article...
|
|
Telemarketer fined $33,500
Pittsburgh Post-Gazette | Submitted by: Incubus
Finally, those annoying shits who call you at dinner trying to sell you long distance phone plans or other items are getting what they deserve. "A Poconos based telemarketer has agreed to pay a $33,500 fine, and 67 consumers who complained that the firm was violating Pennsylvania's "do not call" law stand to get rewards of $50 apiece as a result of the first legal action taken under the program, state Attorney General Mike Fisher said yesterday."
|
|
Read article...
|
|
|
|
|


module Lisp:sig
..end
The Lisp Machine is an extensible Lisp Machine embedded into the Primus Machine. The Lisp machine is used to provide function stubs (summaries), as well as to control the Primus Machine using a dialect of Lisp.
Primus Lisp is a dialect of Lisp, that can be used to interact with a native program. Primus Lisp is close to Common Lisp and to the Emacs Lisp dialect.
Primus Lips is a low-level language that doesn't provide many abstractions, as it tries to be as close to the machine language as possible. In that sense Primus Lisp can be seen as an assembler, except that it can't really assemble binaries, as it operates over already existing and assembled program. Primus Lisp, however is still quite powerfull, as the absence of suitable abstractions is compensated with powerful and versatile meta-programming system.
Primus Lisp is primarily used for the following tasks:
Each file provides (implements) a feature, that has the same
name as the name of the file without an extension and
directories. Thus the namespace of features is flat. A feature
is usually a function, macro definition, or any other
definition, or a collection of definition, gathered under the
same theme. For example, the getopt
feature implements C
getopt
function, and accompanying definitions. The features
maybe very specific, i.e., providing an implementation for
only one small function, or they can be a collection of other
features. For example, the posix
feature provides an
implementation of all functions specified in the POSIX
standard (not all at the time of writing).
A collection of files is called a library. To use features
provided by another file, the file should be requested with
the (require <ident>)
form, where <ident>
is the name of
the feature. A file with the requested name is searched in the
library, and loaded, making all its definitions available in
the lexical scope, that follows the require
form. If a
feature is already provided, then nothing
happens. Dependencies should not contain cycles.
Top-level declarations specify attributes that are shared by all definitions in a file. For example, a declaration
(declare (context (arch armv7))
makes all definitions visible only in the context of the ARMv7 architecture.
Constants and substitutions are primitive abstractions that
give names to code fragments. Macros are program
transformations. Functions add parameters to a code, and are
basic building blocks. Scope of all definitions can be limited
with the context declarations. Finally, a function can be
advised with another function using the advice-add
function.
A type defines all possible values of an expression. In Primus
Lisp, expression values can be only scalar, i.e., machine
words of different widths. The width is always specified in
the number of bits. A maximum width of a word is equal to the
width of the architecture machine word, thus a family of types
is dependent on the context of evaluation. (Note, current
implementation limits maximum width of the machine word to 64
bits). We denote a type of expression with a decimal number,
e.g., (exp : 16)
means that an expression ranges over all 16
bit words.
An expression can have a polymorphic type t
that denotes a
powerset of all types for the given architecture. For example,
for ARMv7, t = 32 \/ 31 \/ .. \/ 1 . Thus a value of any
type, is a also a value of type t
.
Side note -- the type system doesn't include the unit type,
i.e., the 0
type. An expression ()
evaluates to the 0:1
value.
Functions are named abstractions of code, where a code is a sequence of expressions. Since a value of an expression is a machine word, functions are not first-class values in Primus Lisp. However, functions and types can be manipulated on the meta-programming level.
A function is defined with the defun
form, that has the
following syntax:
(defun <name> (<arg> ...) <exp> ...)
A list of arguments (that can be empty) defines function arity. Functions in Primus Lisp has fixed arity, unlike macros.
A function definition may optionally contain a documentation strings and a declaration section. For example,
(defun strlen (p) "returns a length of the null-terminated string pointed by P" (declare (external "strlen")) (msg "strlen was called with $p") (let ((len 0)) (while (not (points-to-null p)) (incr len p)) len))
A function can be called (applied) using the function application form:
(<name> <exp> ...)
The first element of the function application form is not an expression and must be an identified. The rest arguments are expressions, that are evaluated from left to right. All arguments are passed by value.
The body of a function is a sequence of expressions, that is evaluated in the lexical order (i.e., from left to right). A value of the last expression is the result of the function evaluation. An expression is either a function application or or a special form. Primus Lisp defines only 5 special forms, the rest of the syntax is defined using the macro system.
The (if <test-expr> <then-expr> <else-expr> ...) form is a basic control flow structure. If <test-expr> evaluates to a non-zero word then the result of the <if> form is the result of evaluation of the <then-expr>, otherwise a sequence of <else-expr> ... is evaluated and the result of the form evaluation would be a result of the last expression in a form
For example,
(if (< 4 3) (msg "shouldn't happen") (msg "that's right") (- 4 3))
Note that the the <else-expr> sequence maybe empty.
Several derived forms are defined as macros, e.g.,
(when <cond> <expr> ...) (or <expr> ...) (and <expr> ...)
Iterations can be implemented either using recursion or with
the while
special form. Since the interpreter doesn't
provide the tail-call optimization it is better to use the
latter (although the interpreter itself is using a constant
stack size, as it uses the host language heap memory to
represent the Primus Lisp call stack).
The (while <cond> <expr> ...) form, will evaluate the
<cond> expression first, and if it is a non-zero value, then
the sequence of expressions <expr> ... is evaluated, and
the value of the last expression becomes the value of the
while
form. If the value of the <cond> expression is a
false value, then this value becomes the value of the while
form.
The let
form binds values to names in the lexical scope.
(let (<binding> ...) <body-expr> ...) binding ::= (<var> <expr>)
Evaluates each <binding> in order binding the <var> identifier to a result of <expr>. The newly created binding is available in consequent bindings and in the <body-expr>, but is not visible outside of the scope of the let-form.
Example,
(let ((x 4) (y (+ x 2))) (+ x 3))
The value of the let
form is the value of the last
expression <sN> .
The (prog <expr> ...) form combines a sequence of
expressions into one expression, and is useful in the contexts
where an expression is required. The expressions are evaluated
from left to right, and the value of the prog
form is the
value of the last expression.
The (msg <fmt> <expr> ...) form constructs logging/debugging messages using an embedded formatting language. The formed message will be sent to the logging facility, that was set up during the Primus Lisp library initialization.
The format language interprets all symbols literally, unless they start with the dollar sign ($).
A pair of characters of the form $<n> , where <n> is a decimal digit, will be substituted with the value of the n'th expression (counting from zero).
Example,
(msg "hello, $0 $0 world, (+ 7 8) = $1" "cruel" (+ 7 8))
will be rendered to a message:
"hello, cruel cruel world, (+ 7 8) = 15"
Ordinary Primus Lisp expressions are evaluated at the runtime in the Primus emulator, and are quite limited as they need to be evaluated directly on the CPU model. To mitigate this limitation, Primus Lisp provides a powerful metaprogramming system. The metaprogram is evaluated when the Primus Lisp program is read. A metaprogram generates a program, that will be evaluated by the CPU. The metaprogram itself is Turing complete, thus any transformation can be applied to a program. The Primus Lisp metaprogramming system use term-rewriting as a computational model, with Lisp code fragments as terms. Primus Lisp provides three facilities for metaprogramming:
The syntactic constants is the simplest syntactic
substitution, it just substitutes atoms for atoms. Constants
are introduced with the defconstant
form, that has the
following syntax:
(defconstant <name> <atom>) (defconstant <name> <docstring> <atom>) (defconstant <name> <declarations> <atom>) (defconstant <name> <docstring> <declarations> <atom>)
For example,
(defconstant main-address 0xDEAD)
During the program parsing, each occurrence of the <name> term will be rewritten with the <value> term, that should be an atom.
The syntactic substitution is a generalization of syntactic constant, and has quite a similar syntax:
| (defsubst <name> <value> ...) | (defsubst <name> <declarations> <value> ...) | (defsubst <name> :<syntax> <value> ...) | (defsubst <name> <declarations> :<syntax> <value> ...)
During parsing, every occurrence of the term <name> (that should be an atom), will be rewritten with a sequence of values
{<value>}
.
Example,
(defsubst ten-digits 0 1 2 3 4 5 6 7 8 9)
A process of applying of the substitutions is called "expansion". Since the expansion transforms an atom to a list of atoms, it can be applied only inside the macro or function application. For example,
(+ ten-digits)
will be expanded to
(+ 0 1 2 3 4 5 6 7 8 9 )
Expansions also provide a support for extensible value
specification syntax, that enables domain-specific data
specification languages. Currently, we support only two
syntaxes: :ascii
and :hex
.
In the :ascii
syntax the values should be atoms, possibly
delimited with double quotes. Each character of each atom will
be expanded to its corresponding ASCII code. Strings can
contain special characters prefixed with a backslash. The
special character can be one of the well-known ASCII special
character, e.g., \n
, \r
, etc, or it can be a decimal or a
hexadecimal code of a character.
Example, given the following substitution:
(defsubst hello-cruel-world :ascii "hello, cruel world\n\000")
the following application:
(write-block SP hello-cruel-world
will be expanded with
(write-block SP
0x68 0x65 0x6c 0x6c 0x6f 0x2c 0x20 0x63
0x72 0x75 0x65 0x6c 0x20 0x77 0x6f 0x72
0x6c 0x64 0x0a 0x00)
In the :hex
syntax the sequence of atoms is split into
two-characters subsequences each treated as a hex value. This
syntax is useful for encoding memory dumps in a format that is
close to the hexdump (without offsets). E.g., given the
following substitution rule
(defsubt example :hex 68656c 6c 6f2c2063)
an application
(write-block SP example)
will be expanded into
(write-block SP 0x68 0x65 0x6c 0x6c 0x6f 0x2c 0x20 0x63)
The macros provide the most versatile and powerful way to specify arbitrary code transformations. The macro definitions introduce abstractions on the meta-programming level. I.e., it allows a programmer to write a function that operates on code terms, making the code a first class value.
The macro definition has the following syntax:
(defmacro <name> (<param> ...) <value>) (defmacro <name> (<param> ...) <docstring> <value>) (defmacro <name> (<param> ...) <declarations> <value>) (defmacro <name> (<param> ...) <docstring> <declarations> <value>)
A macro definition adds a term rewriting rule, that rewrites
each occurrence of (<name> <arg> ...) , where the number
of arguments N
is greater or equal then the number of
parameters M
, with the <value> in which occurrences of the
i
th parameter is substituted with the term i
th argument. If N
is
bigger than M
, then the last parameter is bound with the
sequence of arguments <argM>...<argN> .
The macro subsystem doesn't provide any specific looping or control-flow facilities, however, the macro-overloading mechanism along with the recursion make it possible to encode arbitrary meta-transformations.
Other than a standard context-based ad-hoc overloading mechanism, the macro application uses the arity-based resolution. As it was described above, if a number of arguments is greater than the number of parameters, then the last parameter is bound to the rest of the arguments. When several macro definitions matches, then a definition that has fewer unmatched arguments is chosen. For example, suppose we have the following definitions:
(defmacro list-length (x) 1) (defmacro list-length (x xs) (+ 1 (list-length xs)))
The the following term
(list-length 1 2 3)
will be normalized (after a series of transformations) with the following:
(+ 1 (+ 1 1))
1: (list-length 1 2 3) => (+ 1 (list-length 2 3)) 2: (+ 1 (list-length 2 3)) => (+ 1 (+ 1 (list-length 3))) 3: (+ 1 (+ 1 (list-length 3))) => (+ 1 (+ 1 1))
In the first step, both definition match. In the first
definition x
is bound to 1 2 3
, while in the second
x
is bound to 1
and xs
is bound to 2 3
. Since the last
parameter is bound to fewer arguments, the second definition
is chosen as the most certain. In the second step the second
definition is still more concrete. Finally at the last step,
the second definition doesn't match at all, as it has more
parameters than arguments.
A slightly more complex example, is a fold iterator, that applies a function to a sequence of arguments of arbitrary length, e.g.,
(defmacro fold (f a x) (f a x)) (defmacro fold (f a x xs) (fold f (f a x) xs))
Using this definition we can define a sum function (although
it is not needed as the +
function defined in the Primus Lisp
standard library, already accepts arbitrary number of
arguments), as:
(defmacro sum (xs) (fold + 0 xs))
The (sum 1 2 3) will be rewritten as follows:
1: (sum 1 2 3) => (fold + 0 1 2 3) 2: (fold + 0 1 2 3) => (fold + (+ 0 1) 2 3) 3: (fold + (+ 0 1) 2 3) => (fold + (+ (+ 0 1) 2) 3) 4: (fold + (+ (+ 0 1) 2) 3) => (+ (+ (+ 0 1) 2) 3)
A more real example is the write-block
macro, that takes a
sequence of bytes, and writes them starting from the given
address:
(defmacro write-block (addr bytes) (fold memory-write addr bytes))
The definition uses the memory-write
primitive, that writes
a byte at the given address and returns an address of the next
byte.
Primus Lisp provides both kinds of polymorphism: parametric and ad hoc.
Expressions in Primus Lisp have types, that are denoted with natural numbers starting with one. Each type defines a set of values that can be represented with the given number of bits. Values with different widths are different, even if they represent the same number. Expressions can be polymorphic, e.g., function
(defun square (x) ( * x x))
has type `forall n. n -> n -> n`. Thus it can be applied to
values of different types, e.g., (square 4:4)
, that will be
evaluated to the 0:4
value, or (square 4:8)
, that will be
evaluated to 16:8
, etc. The parametric polymorphism doesn't
require any special annotations or type specifications so we
will not stop on it anymore.
The ad hoc polymorphism provides a facilities for overloading definitions. That is, the same entity may have multiple definitions, and depending on a context, only one definition should be chosen. Not only functions can have multiple definitions, but also macros, constants, and substitutions. Since the latter three entities operate on the syntactic level, the syntax of Primus Lisp itself is context-dependent.
A context (from the perspective of the type system) is a set of type class instances. The context is fixed when a program is parsed. A Primus Lisp program may not change the context; neither in runtime, nor it the parse time, thus a program is parsed and evaluated at the specific context. However, a definition may declare that it makes sense only in some context. If more than one definition make sense under the given context, then the most specific one is chosen. If no definition is more specific than another, then an error occurs.
A type class defines a type as a set of features. The subset
relation induces a subtyping relation over types - a type t'
is a subtype of a type t
if t' <= t
(i.e., if t'
is a
subset of t
). Each feature is a textual tag, called a
feature constructor.
The context declaration limits an associated definition to the specified type class(es), and has the following syntax:
(declare (context (<type-class> <feature> ...) ...))
Let's use the following two definitions for a concrete example,
(defmacro get-arg-0 () (declare (context (arch arm gnueabi))) R0) (defmacro get-arg-0 () (declare (context (arch x86 cdecl))) (read-word word-width (+ SP (sizeof word-width))))
We have two definitions of the same macro get-arg-0
, that
are applicable to different contexts. The first definition,
is only applicable in the context of the ARM architecture and
the gnueabi ABI. The second is applicable in the context of
the x86 architecture and the cdecl ABI. More formally, a
definition is considered only if its context is a subtype of
the current type context.
Primus Lisp also provides a mechanism for non-intrusive extending existing function definitions. An existing definition maybe advised with another definition. A piece of advice maybe added to a function that will be called either before or after the evaluation of an advised function, e.g.,
(defun memory-written (a x) (declare (advice :before memory-write)) (msg "write $x to $a"))
This definition not only defines a new function called
memory-written
, but also proclaims it as advice function to
the memory-write
function that should before it is called.
If an advisor is attached before the advised function, then it the advisor will be called with the same arguments as the advised function. The return value of the advisor is ignored. The advisor function will be called as a normal Lisp function, with all expected overloading and name resolving. So it is possible to provide context specific advice. If there are several advice to the same function, then they will be called in the unspecified order.
An advisor that is attached after the advised function will be called with one extra argument - the result of evaluation of the advised function. The value returned by the advisor will override the result of the advised function. If there are several advisors attached after the same function, then they will be called in the unspecified order.
The Primus Observation system is reflected onto the Primus
Lisp Machine Signals. Every time a reflected observation
occurs the Lisp Machine receives a signal that is dispatched
to handlers. A handler can be declared defined with the
defmethod
form, e.g.,
(defmethod call (name arg) (when (= name 'malloc) (msg "malloc($0) was called" arg)))
The defmethod
form follows the general definiton template,
i.e., it can contain a docstring and declaration section, and
selection and resolution rules are applicable to
methods. Methods of the same signal are invoked in an
unspecified order.
Each entity is an s-expression with the grammar, specified
below.We use BNF-like syntax with the following conventions.
Metavariables are denoted like <this>
. The <this> ...
stands of any number of <this>
(possibly zero). Ordinary
parentheses do not bear any notation, and should be read
literally. Note, since the grammar is not context free, and is
extensible, the following is an approximation of the language
grammar. Grammar extension points are defined with the
'?extensible?'comment in a production definition.
module ::= <entity> ... entity ::= | <feature-request> | <declarations> | <constant-definition> | <substitution-definition> | <parameter-definition> | <macro-definition> | <function-definition> | <method-definition> feature-request ::= (require <ident>) declarations ::= (declare <attribute> ...) constant-definition ::= | (defconstant <ident> <atom>) | (defconstant <ident> <atom> <docstring>) | (defconstant <ident> <atom> <declarations>) | (defconstant <ident> <atom> <declarations> <docstring>) parameter-definition ::= | (defparameter <ident> <atom>) | (defparameter <ident> <atom> <docstring>) | (defparameter <ident> <atom> <declarations> <docstring>) substitution-definition ::= | (defsubst <ident> <atom> ...) | (defsubst <ident> <declarations> <atom> ...) | (defsubst <ident> :<syntax> <atom> ...) | (defsubst <ident> <declarations> :<syntax> <atom> ...) macro-definition ::= | (defmacro <ident> (<ident> ...) <exp>) | (defmacro <ident> (<ident> ...) <docstring> <exp>) | (defmacro <ident> (<ident> ...) <declarations> <exp>) | (defmacro <ident> (<ident> ...) <docstring> <declarations> <exp>) function-definition ::= | (defun <ident> (<var> ...) <exp> ...) | (defun <ident> (<var> ...) <docstring> <exp> ...) | (defun <ident> (<var> ...) <declarations> <exp> ...) | (defun <ident> (<var> ...) <docstring> <declarations> <exp> ...) method-definition ::= | (defmethod <ident> (<var> ...) <exp> ...) | (defmethod <ident> (<var> ...) <docstring> <exp> ...) | (defmethod <ident> (<var> ...) <declarations> <exp> ...) | (defmethod <ident> (<var> ...) <docstring> <declarations> <exp> ...) exp ::= | () | <var> | <word> | <sym> | (if <exp> <exp> <exp> ...) | (let (<binding> ...) <exp> ...) | (set <var> <exp>) | (while <exp> <exp> <exp> ...) | (prog <exp> ...) | (msg <format> <exp> ...) | (<ident> <exp> ...) binding ::= (<var> <exp>) var ::= <ident> | <ident>:<size> attribute ::= | (external <ident> ...) | (context (<ident> <ident> ...) ...) | (<ident> ?ident-specific-format?) docstring ::= <text> syntax ::= :hex | :ascii | ... atom ::= <word> | <text> word ::= ?ascii-char? | <int> | <int>:<size> sym ::= '<atom> int ::= ?decimal-octal-hex-or-bin format? size ::= ?decimal? ident ::= ?any atom that is not recognized as a <word>?
type
program
type
message
msg
form.module Load:sig
..end
module Doc:sig
..end
module Type:sig
..end
module Message:sig
..end
module type Closure =(
Machine
:
Std.Primus.Machine.S
)
sig
..end
typeclosure =
(module Bap_primus.Std.Primus.Lisp.Closure)
module Primitive:sig
..end
module type Primitives =(
Machine
:
Std.Primus.Machine.S
)
sig
..end
typeprimitives =
(module Bap_primus.Std.Primus.Lisp.Primitives)
type
Std.Primus.exn +=
| |
Runtime_error of |
val message : message Std.Primus.observation
message
observation occurs every time a message is sent
from the Primus Machine.module Make(
Machine
:
Std.Primus.Machine.S
)
:sig
..end
Machine
.


FreeStick
0.3
Cross Platform Open Sorce Joystick Lib
Class Hierarchy
Go to the textual class hierarchy
Generated on Mon Mar 16 2020 19:52:27 for FreeStick by
1.8.15


Why you should join HACKEXPERT ?
Our main focus is on providing Hands-on experience rather than just focusing on memorizing theory like the general trend of the market. You are not just our students, but also part of our team.
HACKEXPERT Team Provides the best live online courses in the field of ethical hacking and programming.
which is a crucial the decision to make, Finding a Good mentor who is not just reading theory to you rather have experience in hacking as well, Some people get scared to shift on cyberSecurity due to the vast nature of the field. We aim to bust all of these factors by providing Live coaching by our experienced Cyber Security experts, with a 24/7 live forum to ask questions and learn at your own pace. We provide you a learning path according to your capabilities, suggesting you a career in your strongest area of interest.
Our main focus is on providing Hands-on experience rather than just focusing on memorizing theory like the general trend of the market. You are not just our students, but also part of our team.
Our experts will analyze your current skill level and recommend a certain path for further coaching, resulting in higher efficiency.
Yes, We are going to provide consistent live classes, and even if you are unable to attend a class due to any issue. Its Our responsibility to schedule an extra class for you to get you up to speed. Also frequent tests and assignments will be given for monitoring your understanding level of a certain topic.
We provide free study materials like books and assignments, notes and Source codes will be provided after every lecture. Also all your myths related to cyber security will also be cleared in this Program.
Hackers are known for their achievements, not for their talks, that's why we will schedule alive hacking webinar every week and explain each step that will help you to grasp things easily.
It's practically insane to complete a whole cybersecurity course in just 60 Days. Our course starts from scratch and pushes you to the intermediate level. These are the some highlighted topics included:
Other than just teaching, We also do freelancing as a part time work, you can e-mail or fill our contact us form to reach out to us. We provide various services like backend and front end development, software Testing and Penetration Testing in your apllication
Contact US if you want a Professional frontend for your website at reasonable price
We create and provide full backend support which includes the core application logic, databases, data and application integration, API and other back end processes
We conduct thorough and extensive Software testing to ensure the better and effective results and productivity
Our team will run several manual and automated passive and active enumeration, to analyze any active attack surfaces on your application.
You need to be aware of what others are doing, applaud their efforts, acknowledge their successes and encourage them in their pursuits. When we all help one another, everybody wins.
"Alone we can do so little; together we can do so much."
"Website without visitors is like a ship lost in the horizon. "
Our Price range is very economical compared to the knowledge we provide, Custom plans can also be made if you complete one of your course early. For more information contact us
Hackexpert Ishar Nagar, Pinjore Haryana 134104, India.
<EMAIL_ADDRESS>+91 72069 89635, +91 82958 71066


Civil Aviation Authority
Username
Password
Remember me
Login
Reset
#Techstitution - made from volunteers


2015
I wrote my first "Hello World!" in C++.
I wrote my first "Hello World!" in C++.
Completed 10+2 from SARASWATI INTERNATIONAL SCHOOL.
Joined MUKESH PATEL SCHOOL OF TECHNOLOGY MANAGEMENT & ENGINEERING for a Btech in Information Technology.
Became a member of PROJECT DRIVE.


Google Chrome seems to not be able to use lookup setters and getters on the document object. It also has strange behavior when setting and getting accessors.


{% extends "partials/tooltips/base.html" %}
{% block title %}
Parental/Decision-Making Responsibilities
{% endblock %}
{% block inner %}
The responsibilities guardians have for the children in their care, including decisions about daily care, education, religious upbringing,
extracurricular activities, etc. After separation or divorce, guardians can share parental/decision-making responsibilities in whatever
way that's in the child's best interests, as decided by agreement or court order.
When a child's parents live together, both parents are the child's guardians (have guardianship).
When the parents separate, both parents continue to be guardians unless they agree to change this or a court orders a change.
A court can give guardianship of a child to a non-parent.
Guardians are responsible for making all decisions about their child, including about daily care and supervision, education, health care,
cultural or religious upbringing, and where the child will live.
{% endblock %}
{% block label %}
{% if text %}{{ text }}{% else %}parental/decision-making responsibilities{% endif %}
{% endblock %}


Welcome to the Marketplace, where student experience is our top priority
Have you ever had the burden of paying for a textbook that's worth more than your transportation costs in a month?
This is your place to be, go ahead and join us!
Are you a or a ?


I am a Software Engineer @ TradeGecko helping e-commerce entrepreneurs build the business of their dreams.
I aspire to be a software craftsman as I believe that writing maintainable software mindfully and skillfully is an art.
When I'm away from the computer, I read, cycle and mess around with ortholinear keyboards.
Pear is a dating application that allows your real life friends to become your virtual matchmaker. Won Overall 2nd place for 11th STEPS (SoC Term Project Showcase). It is available on Web, Android and iOS.
Quack is a location-based chat application built as a Progressive Web Application, achieving Google Lighthouse score of over 90.
Pixelect is a web application that allows close friends to gather their precious photographic memories and vote on the best ones to upload to Facebook.
Flexi-List is a stand-alone task management application that is catered for fast typists who don't want their hands off the keyboard.


John Doe
Dashboard
Accounts
Cards
Payments
Transfers
Airtime
Settings
Dashboard
Balance
N979153.36
16.500 SP
Balance
N123456.78
20.320 SP
Latest Transactions
ATM Lagos
Today
- N 450.00
Bank Withdraw
ATM Lagos
Yesterday
+ N 450.00
Bank Withdraw
003 645 6548 65
01/06/2015
- 100 SP
Airtime recharge
John Doe
31/05/2015
+ N 450.00
Transfer


Mesh² is an open-source application for managing pcitures, videos and any other file, remotely without having to install any software.
The application is fully secured and users can manage permissions easily.
Servers secured by SSL are requiring the user (you!) to accept certificates to authenticate communications between MESH and the server.
For self-signed certificates, you have to manually import them in your browser to navigate through the server. On the server badge, click on
the icon to download the certificate then import it:
preferences -> certificates -> import
.
Mesh² means Media Server For Humans.
Where you want in fact. Mesh² is a web-based user interface which helps you accessing your files where ever you stored them.
Any server with the backend API available will be compatible and accessible right here.
You can create folders and organize your albums exactly the same way you would do it on your computer.
The difference is that your files are stored on a server where files can be automatically backed up and where your most beautiful pictures are accessible from any device connected to the Internet.
About Mesh²
MESH is an open-source private software: no cookie, no tracking, nothing except OAuth 2.0 security layer.


Internet, not only became used for search or trade or business, but also became a medium of communication. One can give an example of Facebook. New age firms made the web into a two-way medium, which is controlled by none, and owned and shaped by everyone. It is undeniable truth that the world, humans have shaped and reshaped and changed the Internet, but currently, the web has changed the world drastically. A new word highlighted, Social. With the generated skills of the Internet, Social Networking came up. Communication can be made by a phone or a letter or any other. It was then proven, that the Internet can be used to communicate and share information at a social level.
To elaborate, Internet has shaped human lives in a very different way. New inventions and new technologies were made possible using the services and facilities provided by the Internet. Convenience became a necessity with this.
Internet is considered to be messenger, a messenger of knowledge and information regardless of the country or area. A click sound makes one go through unimaginable and uncountable records of information. It can be said that, the Internet is an invention which has the potential to shape the future of this planet in the best way possible.
Well, talking about 2.0 Insurgency, H. K. Rose and J. Adelson are among the pioneers of this concept. Before being sold to Google, the three founders collectively had uploaded an initial video in YouTube, just to test it. Nobody actually knew that his idea will shoot up well. One can still find video which was filmed in a zoo. Eventually, YouTube was bought by Google in around 2005. Just to explain it normally, YouTube is a platform for sharing videos which was created by three professionals and then sold to Google for millions of dollars. Well, Google genuinely saw the potential of this idea, as not everything can be understood by an instruction manual. A video tutorial can help one create a better thing rather than just reading about it.
YouTube posed like a power given to netizens, where everybody can learn, see and explore anything they can think of. Baking a cake, current world news, technological updates, education and much more can be learned from this application of the Internet.


 Defend your candy from the incomming dinosaurs using the different towers and squads to create an impenetrable defence!
More Info View on SteamFall 2017 - Unity Engine - C#
A top-down twin stick shooter. You've been infected with the zombie virus and must find the three parts of the serum left in the city to cure yourself of the impending zombification. Use your enginuity to build your own custom weapon and find the cure!
More Info View on Itch.ioSpring 2018 - Unreal Engine - Blueprints
A third-person twin-stick shooter. You've just stolen a shipment of powerful weapons from Sun Eater Systems, using your newfound equipment you must fly deep into the heart of the city to take down the evil corporation that has been terrorizing the citizens of your city.
More Info View on Itch.io