| DOSE: |
|
oral |
Nutmeg |
(ground / crushed) |
This is an account of two experiences, one being uneventful, and the other being successful. This story is kinda long, so bear with me (I don't like to leave out details).
Being without cannabis for a while, I searched the internet for easily obtainable highs. I decided to pick nutmeg, so I bought a small can of whole nutmegs at a grocery store. By my calculations, it was equal to about three doses. I was eagerly anticipating my nutmeg experience and tried it later that night.
I broke up the whole nutmegs into much smaller chunks (small enough so that it was slightly uncomfortable to swallow with water), then started ingesting it. Believe me, this stuff is VERY nasty. I have a strong stomach, and after eating about two whole nutmegs (average dose is about 5), I couldn't take any more without puking my guts out. So, I chalked it off as a failed attempt and threw out the rest of the putrid spice.
About a week or two later, still no cannabis in sight, I decided to give nutmeg one last chance. I have read that people have an easier time ingesting ground nutmeg than whole nutmeg, so I broke down and got some. Same brand, same store, except ground this time. Went home, put the whole can into a small cereal bowl, and proceeded to eat it, teaspoon at a time, each with a mouthful of pop.
This was quite better, although still nowhere near delicious, but I could handle it. I gagged a few times but held back. I went through a half a can, when I stopped and watched Stir of Echoes. While watching the movie, there were parts where I thought the nutmeg was taking effect, but now I'm pretty sure it was just the movie. At this point (approx. 1 1/2 hrs. after eating the nutmeg), I was getting frustrated that it wasn't working, so I became even more desperate.
I have heard several accounts of people smoking nutmeg and getting effects, but it's very hard to burn. So I grabbed some Everclear, and poured equal parts of the alcohol and nutmeg into the bowl, then lit it. I let it flame for a couple minutes then put it out. I then proceeded to inhale the vapors over the course of maybe ten minutes. I guess you could say I was smoking a bowl in the most literal sense ;).
I woke up the next day feeling fine, and I thought to myself, 'Never again, nutmeg.' About 4 hours after I woke up I was watching tv when it happened - I suddenly realized I was stoned, much like on cannabis, except that this wouldn't end. Everything on tv was strange and hard to focus on. I didn't have to work that day, but I got in trouble with my mom over things unrelated to the nutmeg, but I was too fucked up to talk to her.
I tried my best to avoid my parents all night. When I woke up the next day, my stoned feeling was still there! I had to work that day, but I figured it would wear off by then (3rd shift 10-6). I was wrong. It stayed with me almost all the way through the end of my shift. A buzz lasting more than 36 hours!
In retrospect, I figure it was worth it just to feel what it's like, but I'll never do it again. I have never read any reports where the effects of nutmeg remain dormant for 12 hours, then they hit and linger for another 36. Possibly it has something to do with the alcohol mixed with nutmeg and being smoked, but I don't know. Maybe someone could shed some light on this?
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.


Complete Genomic and Epigenetic Maps of Human Centromeres.
Altemose, Nicolas, Glennis A. Logsdon, Andrey V. Bzikadze, Pragya Sidhwani, Sasha A. Langley, Gina V. Caldas, Savannah J. Hoyt, et al.
Science 376 (6588): eabl4178. 2022. https://doi.org/10.1126/science.abl4178
Accuracy of multiple sequence alignment methods in the reconstruction of transposable element families.
Hubley,R., Wheeler,T.J. and Smit,A.F.A.
NAR Genomics and Bioinformatics, 4, lqac040. 2022. https://doi.org/10.1093/nargab/lqac040
Methodologies for the De novo Discovery of Transposable Element Families.
Storer JM, Hubley R, Rosen J, Smit AFA.
Genes (Basel), 2022 Apr 17;13(4):709. https://doi.org/10.3390/genes13040709
Cebidae Alu Element Alignments and a Complex Non-Human Primate Radiation.
Storer JM, Walker JA, Brown MA, Batzer MA.
Life (Basel). 2022 Oct 20;12(10):1655. https://doi.org/10.3390/life12101655
SODA: A TypeScript/JavaScript library for visualizing biological sequence annotation
J. W. Roddy, G. T. Lesica, and T. J. Wheeler
NAR Genomics and Bioinformatics, vol. 4, no. 4, Oct. 2022, https://doi.org/10.1093/nargab/lqac077
Curation guidelines for de novo generated transposable element families (Free Access)
Jessica Storer, Robert Hubley, Jeb Rosen, Arian F. A. Smit
Current Protocols. 2021. https://doi.org/10.1002/cpz1.154
Preprint
PolyA: a tool for adjudicating competing annotations of biological sequences (Preprint)
Kaitlin M. Carey, Robert Hubley, George T. Lesica, Daniel Olson, Jack W. Roddy, Jeb Rosen, Audrey Shingleton, Arian F. Smit, Travis J. Wheeler
bioRxiv. 2<IP_ADDRESS>0877. https://doi.org/10.1101/2<IP_ADDRESS>0877
Transposable element subfamily annotation has a reproducibility problem (Open Access)
Kaitlin M. Carey, Gilia Patterson, Travis J. Wheeler
Mobile DNA. 2021; 12: 4. https://doi.org/10.1186/s13100-021-00232-4
The Dfam community resource of transposable element families, sequence models, and genome annotations (Open Access)
Jessica Storer, Robert Hubley, Jeb Rosen, Travis J. Wheeler, Arian F. Smit
Mobile DNA. 2021; 12: 2. https://doi.org/10.1186/s13100-020-00230-y
ULTRA: A Model Based Tool to Detect Tandem Repeats (Open Access)
Daniel Olson, Travis Wheeler
ACM International Conference on Bioinformatics, Computational Biology, and Health Informatics. 2018. https://doi.org/10.1145/3233547.3233604
The Dfam database of repetitive DNA families (Open Access)
Robert Hubley, Robert D. Finn, Jody Clements, Sean R. Eddy, Thomas A. Jones, Weidong Bao, Arian F.A. Smit, Travis J. Wheeler
Nucleic Acids Research. 2016; 44 (D1): D81–D89. https://doi.org/10.1093/nar/gkv1272
Dfam: a database of repetitive DNA based on profile hidden Markov models (Open Access)
Travis J. Wheeler, Jody Clements, Sean R. Eddy, Robert Hubley, Thomas A. Jones, Jerzy Jurka, Arian F. A. Smit, Robert D. Finn
Nucleic Acids Research. 2013; 41 (D1): D70–D82. https://doi.org/10.1093/nar/gks1265


Congratulations on reaching the final project of the Robotics Nanodegree!
Previously, you worked on the Semantic Segmentation lab where you built a deep learning network that locates a particular human target within an image. For this project, you will utilize what you implemented and learned from that lab and extend it to train a deep learning model that will allow a simulated quadcopter to follow around the person that it detects!
Most of the code below is similar to the lab with some minor modifications. You can start with your existing solution, and modify and improve upon it to train the best possible model for this task.
You can click on any of the following to quickly jump to that part of this notebook:
We have provided you with a starting dataset for this project. Download instructions can be found in the README for this project's repo. Alternatively, you can collect additional data of your own to improve your model. Check out the "Collecting Data" section in the Project Lesson in the Classroom for more details!
import os
import glob
import sys
import tensorflow as tf
from scipy import misc
import numpy as np
from tensorflow.contrib.keras.python import keras
from tensorflow.contrib.keras.python.keras import layers, models
from tensorflow.contrib.keras.python.keras.utils import plot_model
from tensorflow import image
from utils import scoring_utils
from utils.separable_conv2d import SeparableConv2DKeras, BilinearUpSampling2D
from utils import data_iterator
from utils import plotting_tools
from utils import model_tools
In the Classroom, we discussed the different layers that constitute a fully convolutional network (FCN). The following code will introduce you to the functions that you need to build your semantic segmentation model.
The Encoder for your FCN will essentially require separable convolution layers, due to their advantages as explained in the classroom. The 1x1 convolution layer in the FCN, however, is a regular convolution. Implementations for both are provided below for your use. Each includes batch normalization with the ReLU activation function applied to the layers.
def separable_conv2d_batchnorm(input_layer, filters, strides=1):
output_layer = SeparableConv2DKeras(filters=filters,kernel_size=3, strides=strides,
padding='same', activation='relu')(input_layer)
output_layer = layers.BatchNormalization()(output_layer)
return output_layer
def conv2d_batchnorm(input_layer, filters, kernel_size=3, strides=1):
output_layer = layers.Conv2D(filters=filters, kernel_size=kernel_size, strides=strides,
padding='same', activation='relu')(input_layer)
output_layer = layers.BatchNormalization()(output_layer)
return output_layer
The following helper function implements the bilinear upsampling layer. Upsampling by a factor of 2 is generally recommended, but you can try out different factors as well. Upsampling is used in the decoder block of the FCN.
def bilinear_upsample(input_layer):
output_layer = BilinearUpSampling2D((2,2))(input_layer)
return output_layer
In the following cells, you will build an FCN to train a model to detect and locate the hero target within an image. The steps are:
encoder_block
decoder_block
Create an encoder block that includes a separable convolution layer using the separable_conv2d_batchnorm()
function. The filters
parameter defines the size or depth of the output layer. For example, 32 or 64.
def encoder_block(input_layer, filters, strides):
# TODO Create a separable convolution layer using the separable_conv2d_batchnorm() function.
output_layer = separable_conv2d_batchnorm(input_layer, filters, strides)
return output_layer
The decoder block is comprised of three parts:
def decoder_block(small_ip_layer, large_ip_layer, filters):
# TODO Upsample the small input layer using the bilinear_upsample() function.
upsampled = bilinear_upsample(small_ip_layer)
# TODO Concatenate the upsampled and large input layers using layers.concatenate
if large_ip_layer is not None:
concatenated = layers.concatenate([upsampled, large_ip_layer])
else:
concatenated = upsampled
# TODO Add some number of separable convolution layers
output_layer = separable_conv2d_batchnorm(concatenated, filters, strides=1)
# output_layer = layers.Dropout(0.5)(output_layer)
# output_layer = separable_conv2d_batchnorm(output_layer, filters, strides=1)
return output_layer
Now that you have the encoder and decoder blocks ready, go ahead and build your FCN architecture!
There are three steps:
def fcn_model(inputs, num_classes):
droprate = 0.5
# TODO Add Encoder Blocks.
# Remember that with each encoder layer, the depth of your model (the number of filters) increases.
encoder_1 = encoder_block(inputs, filters=32, strides=2)
encoder_1_before_dropout = encoder_1
encoder_1 = layers.Dropout(droprate)(encoder_1)
encoder_2 = encoder_block(encoder_1, filters=64, strides=2)
encoder_2 = layers.Dropout(droprate)(encoder_2)
encoder_3 = encoder_block(encoder_2, filters=128, strides=2)
encoder_3 = layers.Dropout(droprate)(encoder_3)
# TODO Add 1x1 Convolution layer using conv2d_batchnorm().
conv_reduce = conv2d_batchnorm(encoder_3, filters=128, kernel_size=1, strides=1)
conv_reduce = layers.Dropout(droprate)(conv_reduce)
# TODO: Add the same number of Decoder Blocks as the number of Encoder Blocks
decoder = decoder_block(conv_reduce, None, filters=128)
decoder = layers.Dropout(droprate)(decoder)
decoder = decoder_block(decoder, encoder_1_before_dropout, filters=64)
decoder = layers.Dropout(droprate)(decoder)
x = decoder_block(decoder, inputs, filters=32)
x = layers.Dropout(droprate)(x)
# The function returns the output layer of your model. "x" is the final layer obtained from the last decoder_block()
return layers.Conv2D(num_classes, 3, activation='softmax', padding='same')(x)
The following cells will use the FCN you created and define an ouput layer based on the size of the processed image and the number of classes recognized. You will define the hyperparameters to compile and train your model.
Please Note: For this project, the helper code in data_iterator.py
will resize the copter images to 160x160x3 to speed up training.
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
image_hw = 160
image_shape = (image_hw, image_hw, 3)
inputs = layers.Input(image_shape)
num_classes = 3
# Call fcn_model()
output_layer = fcn_model(inputs, num_classes)
Define and tune your hyperparameters.
# get number of images
TRAIN_DIR = '/home/ubuntu/RoboND-DeepLearning-Project/data/train/images/'
num_training_images = len([name for name in os.listdir(DIR) if os.path.isfile(os.path.join(TRAIN_DIR, name))])
VAL_DIR = '/home/ubuntu/RoboND-DeepLearning-Project/data/validation/images/'
num_validation_images = len([name for name in os.listdir(DIR) if os.path.isfile(os.path.join(VAL_DIR, name))])
print("number of training images: {}".format(num_training_images))
print("number of validation images: {}".format(num_validation_images))
learning_rate = 0.001
batch_size = 16
num_epochs = 10
steps_per_epoch = num_training_images//batch_size
validation_steps = num_validation_images//batch_size
workers = 4
total_epochs = num_epochs
"""
DON'T MODIFY ANYTHING IN THIS CELL THAT IS BELOW THIS LINE
"""
# Define the Keras model and compile it for training
model = models.Model(inputs=inputs, outputs=output_layer)
model.compile(optimizer=keras.optimizers.Adam(learning_rate), loss='categorical_crossentropy')
plot_model(model, to_file='model.png')
# Data iterators for loading the training and validation data
train_iter = data_iterator.BatchIteratorSimple(batch_size=batch_size,
data_folder=os.path.join('..', 'data', 'train'),
image_shape=image_shape,
shift_aug=True)
val_iter = data_iterator.BatchIteratorSimple(batch_size=batch_size,
data_folder=os.path.join('..', 'data', 'validation'),
image_shape=image_shape)
logger_cb = plotting_tools.LoggerPlotter()
callbacks = [logger_cb]
model.fit_generator(train_iter,
steps_per_epoch = steps_per_epoch, # the number of batches per epoch,
epochs = num_epochs, # the number of epochs to train for,
validation_data = val_iter, # validation iterator
validation_steps = validation_steps, # the number of batches to validate on
callbacks=callbacks,
workers = workers)
# Load model to continue training
# weight_file_name = 'follow_me_model.h5'
# model = model_tools.load_network(weight_file_name)
# model.compile(optimizer=keras.optimizers.Adam(learning_rate), loss='categorical_crossentropy')
# Train for more epochs
extra_epochs = 1
total_epochs += extra_epochs
model.fit_generator(train_iter,
steps_per_epoch = steps_per_epoch, # the number of batches per epoch,
epochs = extra_epochs, # the number of epochs to train for,
validation_data = val_iter, # validation iterator
validation_steps = validation_steps, # the number of batches to validate on
callbacks=callbacks,
workers = workers)
# Train for more epochs
extra_epochs = 1
total_epochs += extra_epochs
model.fit_generator(train_iter,
steps_per_epoch = steps_per_epoch, # the number of batches per epoch,
epochs = extra_epochs, # the number of epochs to train for,
validation_data = val_iter, # validation iterator
validation_steps = validation_steps, # the number of batches to validate on
callbacks=callbacks,
workers = workers)
# Save your trained model weights
weight_file_name = 'follow_me_model.h5'
model_tools.save_network(model, weight_file_name)
Now that you have your model trained and saved, you can make predictions on your validation dataset. These predictions can be compared to the mask images, which are the ground truth labels, to evaluate how well your model is doing under different conditions.
There are three different predictions available from the helper code provided:
# If you need to load a model which you previously trained you can uncomment the codeline that calls the function below.
# weight_file_name = 'follow_me_model.h5'
# restored_model = model_tools.load_network(weight_file_name)
The following cell will write predictions to files and return paths to the appropriate directories.
The run_num
parameter is used to define or group all the data for a particular model run. You can change it for different runs. For example, 'run_1', 'run_2' etc.
run_num = 'run_1'
val_with_targ, pred_with_targ = model_tools.write_predictions_grade_set(model,
run_num,'patrol_with_targ', 'sample_evaluation_data')
val_no_targ, pred_no_targ = model_tools.write_predictions_grade_set(model,
run_num,'patrol_non_targ', 'sample_evaluation_data')
val_following, pred_following = model_tools.write_predictions_grade_set(model,
run_num,'following_images', 'sample_evaluation_data')
Now lets look at your predictions, and compare them to the ground truth labels and original images. Run each of the following cells to visualize some sample images from the predictions in the validation set.
# images while following the target
im_files = plotting_tools.get_im_file_sample('sample_evaluation_data','following_images', run_num)
for i in range(3):
im_tuple = plotting_tools.load_images(im_files[i])
plotting_tools.show_images(im_tuple)
# images while at patrol without target
im_files = plotting_tools.get_im_file_sample('sample_evaluation_data','patrol_non_targ', run_num)
for i in range(3):
im_tuple = plotting_tools.load_images(im_files[i])
plotting_tools.show_images(im_tuple)
# images while at patrol with target
im_files = plotting_tools.get_im_file_sample('sample_evaluation_data','patrol_with_targ', run_num)
for i in range(3):
im_tuple = plotting_tools.load_images(im_files[i])
plotting_tools.show_images(im_tuple)
Evaluate your model! The following cells include several different scores to help you evaluate your model under the different conditions discussed during the Prediction step.
# Scores for while the quad is following behind the target.
true_pos1, false_pos1, false_neg1, iou1 = scoring_utils.score_run_iou(val_following, pred_following)
# Scores for images while the quad is on patrol and the target is not visable
true_pos2, false_pos2, false_neg2, iou2 = scoring_utils.score_run_iou(val_no_targ, pred_no_targ)
# This score measures how well the neural network can detect the target from far away
true_pos3, false_pos3, false_neg3, iou3 = scoring_utils.score_run_iou(val_with_targ, pred_with_targ)
# Sum all the true positives, etc from the three datasets to get a weight for the score
true_pos = true_pos1 + true_pos2 + true_pos3
false_pos = false_pos1 + false_pos2 + false_pos3
false_neg = false_neg1 + false_neg2 + false_neg3
weight = true_pos/(true_pos+false_neg+false_pos)
print(weight)
# The IoU for the dataset that never includes the hero is excluded from grading
final_IoU = (iou1 + iou3)/2
print(final_IoU)
# And the final grade score is
final_score = final_IoU * weight
print(final_score)


QFontInfo Class
The QFontInfo class provides general information about fonts. More...
| Header: | #include <QFontInfo> |
| qmake: | QT += gui |
Note: All functions in this class are reentrant.
Public Functions
| QFontInfo(const QFont &font) | |
| QFontInfo(const QFontInfo &fi) | |
| ~QFontInfo() | |
| bool | bold() const |
| bool | exactMatch() const |
| QString | family() const |
| bool | fixedPitch() const |
| bool | italic() const |
| int | pixelSize() const |
| int | pointSize() const |
| qreal | pointSizeF() const |
| QFont::Style | style() const |
| QFont::StyleHint | styleHint() const |
| QString | styleName() const |
| void | swap(QFontInfo &other) |
| int | weight() const |
| QFontInfo & | operator=(const QFontInfo &fi) |
Detailed Description
The QFontInfo class provides general information about fonts.
The QFontInfo class provides the same access functions as QFont, e.g. family(), pointSize(), italic(), weight(), fixedPitch(), styleHint() etc. But whilst the QFont access functions return the values that were set, a QFontInfo object returns the values that apply to the font that will actually be used to draw the text.
For example, when the program asks for a 25pt Courier font on a machine that has a non-scalable 24pt Courier font, QFont will (normally) use the 24pt Courier for rendering. In this case, QFont::pointSize() returns 25 and QFontInfo::pointSize() returns 24.
There are three ways to create a QFontInfo object.
- Calling the QFontInfo constructor with a QFont creates a font info object for a screen-compatible font, i.e. the font cannot be a printer font. If the font is changed later, the font info object is not updated.
(Note: If you use a printer font the values returned may be inaccurate. Printer fonts are not always accessible so the nearest screen font is used if a printer font is supplied.)
- QWidget::fontInfo() returns the font info for a widget's font. This is equivalent to calling QFontInfo(widget->font()). If the widget's font is changed later, the font info object is not updated.
- QPainter::fontInfo() returns the font info for a painter's current font. If the painter's font is changed later, the font info object is not updated.
See also QFont, QFontMetrics, and QFontDatabase.
Member Function Documentation
QFontInfo::QFontInfo(const QFont &font)
Constructs a font info object for font.
The font must be screen-compatible, i.e. a font you use when drawing text in widgets or pixmaps, not QPicture or QPrinter.
The font info object holds the information for the font that is passed in the constructor at the time it is created, and is not updated if the font's attributes are changed later.
Use QPainter::fontInfo() to get the font info when painting. This will give correct results also when painting on paint device that is not screen-compatible.
QFontInfo::QFontInfo(const QFontInfo &fi)
Constructs a copy of fi.
QFontInfo::~QFontInfo()
Destroys the font info object.
bool QFontInfo::bold() const
Returns true
if weight() would return a value greater than QFont::Normal; otherwise returns false
.
See also weight() and QFont::bold().
bool QFontInfo::exactMatch() const
Returns true
if the matched window system font is exactly the same as the one specified by the font; otherwise returns false
.
See also QFont::exactMatch().
QString QFontInfo::family() const
Returns the family name of the matched window system font.
See also QFont::family().
bool QFontInfo::fixedPitch() const
Returns the fixed pitch value of the matched window system font.
See also QFont::fixedPitch().
bool QFontInfo::italic() const
Returns the italic value of the matched window system font.
See also QFont::italic().
int QFontInfo::pixelSize() const
Returns the pixel size of the matched window system font.
See also QFont::pointSize().
int QFontInfo::pointSize() const
Returns the point size of the matched window system font.
See also pointSizeF() and QFont::pointSize().
qreal QFontInfo::pointSizeF() const
Returns the point size of the matched window system font.
See also QFont::pointSizeF().
QFont::Style QFontInfo::style() const
Returns the style value of the matched window system font.
See also QFont::style().
QFont::StyleHint QFontInfo::styleHint() const
Returns the style of the matched window system font.
Currently only returns the style hint set in QFont.
See also QFont::styleHint() and QFont::StyleHint.
QString QFontInfo::styleName() const
Returns the style name of the matched window system font on systems that support it.
This function was introduced in Qt 4.8.
See also QFont::styleName().
void QFontInfo::swap(QFontInfo &other)
Swaps this font info instance with other. This function is very fast and never fails.
This function was introduced in Qt 5.0.
int QFontInfo::weight() const
Returns the weight of the matched window system font.
See also QFont::weight() and bold().
QFontInfo &QFontInfo::operator=(const QFontInfo &fi)
Assigns the font info in fi.


Summary
I am a developer with experience in full stack web development. I have also held positions in a wide array of IT domains. I am based in North America and looking to work remotely as a software engineer.
Skills
Experienced: JavaScript, SQL, HTML/CSS, Git, macOS
Familiar: Python, Java, Linux
Education
-
Bachelor of Arts in Computer Science
September 2008 – March 2012
Carleton College
Northfield, MN- Graduated Magna Cum Laude and with distinction in major.
- Relevant Coursework: Algorithms, Natural Language Processing, Database Systems, Computer Networks, Software Design, Programming Languages, Artificial Intelligence, Computer Organization and Architecture, Statistics.
Experience
-
Software Developer (Remote)
March 2017 – April 2019
Instore
San Francisco, CA- Maintained and developed a web app for point-of-sale management and business insights.
- Contributed to both internal and external sales API development.
- Worked closely with a small team to troubleshoot and resolve customer-reported issues.
-
Assistant Network Engineer
February 2014 – December 2016
NOLS
Lander, WY- Deployed and maintained networking equipment and applications at various school campuses throughout the world.
- Helped to expand the monitoring and management capabilities of network equipment and user workstations at the school.
- Working closely with campus directors, overhauled the equipment budgeting and purchase process leading to improved support at remote locations.
- Planned and implemented new infrastructure projects, including copper and fiber optic cable installations.
-
Help Desk Specialist
October 2013 – February 2014
NOLS
Lander, WY- Provided timely and knowledgeable support to school staff and faculty for software, hardware, and network issues.
- Helped managed the school's fleet of Apple computers and devices.
- Helped streamline the school's ticketing system and collaborated on better remote management solutions of staff workstations.
-
Software Developer
April 2012 – May 2013
Ultralingua Inc.
Minneapolis, MN- Developed multiple internal web services providing backend functionality to the company's most popular products.
- Maintained several Linux servers and provided support to fellow employees.
- Contributed to the codebase of the company's core iOS products, implementing customer requested features and fixing bugs.
- Planned and initiated a redesign of the company's website.
-
Software Developer Intern
June 2011 – August 2011
Ultralingua Inc.
Minneapolis, MN- Developed and deployed an internal web application for editing large, multilingual dictionary datasets.
-
Computer Science Lab Assistant
September 2010 – March 2012
Carleton College
Northfield, MN- Assisted students with introductory and intermediate classwork.
- Provided support for macOS, bash, LaTeX and several programming languages.
-
Computer Science Grader
September 2010 – Novemeber 2011
Carleton College
Northfield, MN- Graded assignments for CS 208: Computer Organization and Architecture, CS 204: Software Design and CS 251: Programming Languages.
- Evaluated assignments for correctness and provided extensive feedback on programming style and practices.
-
German Teaching Assistant
January 2010 – June 2010
Carleton College
Northfield, MN- Taught two one hour sessions of intermediate German per week.
- Assisted professors and other TAs in creating new lesson plans and activities.
-
Apple Technician
Summer/Winter 2009, 2010, 2018
GeekHampton
Sag Harbor, NY- Diagnosed and repaired Apple products, performed data recovery, provided technical support and knowledge to customers.
- Completed Apple Certified Mac Technician (ACMT) training.
-
Help Desk Technician
Summer 2007 and 2008
Ross School
East Hampton, NY- Helped students, faculty, and staff with hardware and software issues.
- Completed hardware repairs on the school's Apple computer fleet as needed.
- Assisted with laptop deployment and fleet imaging.
Certifications
-
Apple Certified Mac Technician
August 2009 – Current
-
Wilderness First Responder
November 2016 – Current
Interests
Rock climbing, skiing, backpacking, cooking


Before Change
args=(results_file_path, timing_queue,))
// The start the server to listen and put results on queue.
handler = functools.partial(
RequestHandler, process_pool, hostname, timing_queue, clients_port)
listener = server.HTTPServer(server_address, handler)
logging.info("Starting httpserver...\n")
try:
listener.serve_forever()
After Change
results_file_path = sys.argv[2]
clients_port = sys.argv[3]
use_listening_server = sys.argv[4] == "True"
vms_name_constructor = functools.partial(sys.argv[5].replace, "VM_ID")
num_vms = int(sys.argv[6])
hostname = socket.gethostname()
process_pool = multiprocessing.Pool()
multiprocessing_manager = multiprocessing.Manager()


Some “Pretty Grim Statistics” Have Been Released About Crime In SA
New statistics back up the sense that drug-fuelled crime is on the rise in South Australia, says FIVEaa Breakfast’s David Penberthy.
Penbo said during Tuesday’s Breaking @ 8 segment:
“We are spending more time talking about pub thefts, home invasions, servo robberies, desperate criminal acts often fuelled by drugs… well there’s some statistics that have been released… that actually put the numbers behind what feels like a hunch. You get the sense something is happening.
“The crime statistics in South Australia over the last 12 months absolutely confirm that criminal behaviour has changed and it’s not something the police are making any secret about…”
According the stats, illicit drug offences are up by 35 per cent from 4,144 in 2017/18 to 5,594 in 2018/19.
Theft and related offences have increased 12.5 per cent from 44,405 to 49,945.
Offences against property -- cars, houses and businesses -- are up by 8.4 per cent from 84,060 to 91,084.
At least offences against people are down by 7 per cent.
Penbo said:
“You would have to think the extent to which the reliance and addiction to drugs -- and when we say drugs, invariably we’re talking about ice in this state -- has been the driver in the big increase in theft and related offences…
“There’s a societal issue there about the extent to which addiction and dependence is spinning out of control for so many more people… pretty grim statistics.”
LISTEN:


Here you see the usage of the findHtml
function.
First it finds the selected input
element.
The function you put inside the .then()
receives the HTML of the element as a string.
The rule then fills the local variable direction
with either left or right.
Then it resolves the data as either {direction: "left"}
or {direction: "right"}
.
The value function then prints the value.
Last up is context.storage
which is most useful in workflows.
Please click here to open the last part.


Copyright
©
{state.structure.Meta ? state.structure.Meta.Year : ''}
{state.structure.Meta ? state.structure.Meta.Author : ''},
All rights reserved
Generated by {state.structure.Meta ? state.structure.Meta.Platform : ''}


A deck of cards, world-building workshops, and artworks designed to help you imagine alternative global futures.
SEE THE PROJECT ORDER CARDSDon’t let dictate your relationship to the supply chain!
More&More Unlimited is a Limited Liability Collective (LLC) that is here to help you navigate a world without bounds. We bring to the global supply chain. Our goal is to in the global distributed capitalist network.
More&More has, through years of experience living in fictions about the world
For like it or not, you live inside a that prefers you to think of yourself as the consumer, the end of the line. The happy ending – when your and gets popped in the trunk of your , or the arrives at your door.
More&More Unlimited (an Illogistics Company™) is a collective founded by members Marina Zurkow , Sarah Rothberg, and Surya Mattu. We are interested in global systems.
Some of our past projects include: a pop-up store of fungus/plaster/3D-printed sculptures of globally traded commodities, a line of swimsuits called Tiny Containers(which visualize global trade relationships), postcards portraying nations as their commodities, workshops about global futures, and a radio which picks up info about boats passing by in the New York Harbor.
Mementos from the trade hyperobject
Tiny Container Swimsuits Relabeling Service Export PostcardsINCOMPLETE PLANS FOR OUR 2017 FORECAST:
Platinum: Flowgistics™ Commodities are independent of you and do what they want are not human- dependent! We can help you think of yourself as a vector not a consumer by providing you with the logistics necessary to keep commodities flowing.
Copper: Illogistics™ We bring you to the stuff To get you stuff faster By bringing consumers to the factories to pick up components and putting them together themselves.
Aluminum: TinyFlow™ Your house as a supply chain. We can help you optimize you home to build efficient supply networks around centers of demand.


âTMª I'll end in ages, but I'll ask for your Monday âTMª
âTMª Most wonderful show is âTMª
âTMª Keeping up with the Joneses âTMª
- Hey guys, well as you listen to this,
we are all enjoying summer
and just basically family vacation.
So we're down in Florida
enjoying some much needed R&R with our family
and our friends, but before we went,
Alan did an interview with some very special guests.
Yeah, a few weeks ago, I got to interview two guys, Corey, Westerhold and Aaron Martin.
Both of them are living in Silicon Valley in California.
They both work for some very interesting companies like Twitter, Yahoo, Facebook and Apple, but
I didn't interview them because they've worked for companies I like.
I interviewed them because they make one of my very favorite apps for iPhone and iPad.
This is a little departure from our normal podcast format, but I think you're going to
love the conversation I had with them.
covers the Bible, Apple products, design, excellence, fonts, topography. If you
already used a wrap, I'm sure you've appreciated the care they put into
building it and you probably gonna be interested in the details of the
behind the scenes. If you haven't used a wrap, I bet you're gonna want to after
this. So without further ado, here's an interview I recorded with Corey and Aaron
the geniuses behind my favorite Bible app, New Bible.
Now, the first thing I wanna ask you guys is,
am I pronouncing the name of your app correctly?
- It's Nue Bueble.
(laughing)
No, you're...
- No, yeah, New Bible's correct.
- Well, here's the thing, you know, Helvetica New
is the way I pronounce it, but I heard some people call it
Helvetica New A, and I was like, is it New A Bible?
So I didn't know what the story was by the name.
- Yeah, I think I've heard Helvetica Noia,
which I believe is what the Germans will say.
- All the insufferable designers that we know
call it Helvetica Noia.
- Yeah, so I like to not be insufferable.
So I'm just gonna say new.
- Yeah, all right.
- Depends on the crowd that I'm talking about it with.
- Exactly, you'll adjust your parlamps
to the level of designeriness in your audience.
So I just realized I didn't even introduce yourself.
So please introduce yourself to our audience.
- Cool, my name is Corey Westerhold.
I am a co-creator of New Bible without Silicon Valley.
We're in Palo Alto right now.
I'm Aaron Martin, the other co-creator of New Bible.
I also live out here in California.
Well, we're just thrilled to have you on the show.
Thanks for coming on and talk to us.
Thanks for having us.
I guess my first question that I'm itching to know is,
how did you end up deciding to make a Bible app?
Talk to me about the process of why you wanted to do this.
I guess it started for me probably
the narrative of kind of been like throwing out there
has been, oh, it was like just a few years ago
after we moved to California,
but honestly it was much longer ago than that.
I lived in New York City for several years before,
my wife and I moved out of California.
And I remember the big thing for me was the iPad,
and I remember when the iPad came out,
I think it was the ESV released their version.
They had at the time, like I think made
like the most beautiful Bible out for the phone
and it had this really nice navigation
where you hit like kind of the book.
You know, the book list and it kind of like was this
like dark, you know, scrim that lived over the top
of the Bible and it was this beautiful, like large,
thin type and when they moved that over to the iPad,
I remember using that at the church I was going to
at the time, it was this church called Trinity Grace
down in Chelsea and like seeing an iPad and it just being such a great experience.

And then that just kind of, you know, like sat there and then some of
years later ended up moving, you know, out to California and, um,
we when we moved out here, my wife and I were looking for churches.  Like, I didn't have a paper Bible and it'd be great to like use a
Bible on my phone while we're at church. And because this is the church where I like didn't
project like the verse, like a lot of like modern churches that like project the verses up onto
the screen. It's like, a lot of I need to use a Bible. But like this church didn't.
I just remember all of them just kind of being subpar and even the ESV, like being very similar
to the way, very similar to the app that I had used several years prior.
So at that time I was just like, "Oh man, I need to do this now."
And so kind of came home one day and just started scratching around and photoshop a
little bit and seeing what came up and came up with some, I think, pretty good ideas.
Aaron is a buddy of mine and we know each other actually from a decade ago, I guess,
back in 2004. Yeah, we both worked at this magazine called Relevant. And at different times,
he worked right before I did. And right after he left, I came and worked there. But
yeah, I remember Aaron and I were hanging out one day and I just like, through the idea by him,
you know, about designing a Bible app and showed him a couple of my kind of like early screens.
and he was really into it. But at the time, I worked at Apple. I think you were at high
tail at the time.
Yeah, I left AOL. That was at high tail.
And we just weren't in a position to be able to do anything about it. So just kind of like
sat on the shelf, literally. And then a couple years later, so this was 2014.
in 2013, maybe.
- Checking about Yosemite trip.
- Yosemite trip.
- 2014.
- 2014, yeah.
Spring 2014, we were,
we went on camping trip to Yosemite.
And when you're camping in Yosemite,
you just have like a lot of time to talk
and be alone together.
That sounded weird.
But yeah, we were just like, you know, on this road trip,
it's like a five hour road trip from where we live.
And just like kind of like chatting about stuff
and Aaron had brought up to me, he was like,
"What's going on?"
He asked me a question,
"What's going on with the Bible app?"
And I was like, "I don't know."
I'd love to do it someday,
but it just doesn't make sense.
And he kind of pushed me on it.
He's like, "Well, what have we just did it?
"What if we just did it, got it built,
"just figured out how we got it,
"we could get it released."
Because I couldn't, at Apple,
I couldn't actually release apps.
You can't be a designer there.
and I think it can employ you there.
- You can't be an employee and release stuff
to the abstract.
- Right, 'cause they'll own it as basically the principal.
Anything you create, your employer owns.
That's fairly standard.
- Yeah, essentially.
- Yeah, essentially.
- Even if you do it off to the side.
And so I was like, well, I can't do it,
but yeah, Aaron was just like, well,
we need, it needs to be done.
Like I hate using the apps that I use.
I wanna make something that I wanna use.
And I agree with him.
And so we just like said, all right, let's do it.
And uh--
- Which was a very easy decision to make
amongst the zero distractions of being in the wilderness.
- Yeah.
- Like we were free from all of the tech trappings
of Silicon Valley and looking around and seeing all these.
- And you're staring at it.
- Yeah.
- How to go home.
- And you're just looking at all of the wonder
of God's creation and it was easy to sort of just go,
let's just do it.
- And then the next day we got home.
(laughing)
What it really looked like to do something.
- Yeah.
We didn't think about the immense amount of work
that it was gonna take.
- Yeah, so that's kind of that, sorry,
that was like a long walk for him sandwich,
but that was essentially like how the idea came about.
- It was easy to jump on to the idea,
just I had, you know, at relevant,
when I was working there,
talked to a handful of like publishers,
and the idea of creating a Bible
is just like a designer dream.
I just love it.
And then the shift, when I moved out here,
My mind shift was going into church and realizing
that more people were pulling out their phones
to look at verses than were physical Bibles.
So that just cemented the idea and the drive
that like we have to do this.
- One of the things, and I'm gonna spread
some major love for your app, and it's legitimate.

It's my Bible of choice.
- Have you gotten the check that we sent you yet?
(laughs)
But one of the things that you guys have touched on already,
and it's the situation I find myself in a law,
in that your app is meticulously created.
- Thank you.
- And what I notice from a lot of people
is it seems like design is a feature
that it feels like most people have to be educated to care about.
Now, not in the circles that you live in, I'm sure,
but for the average person, like my reaction,
when I show people any app that I prefer to use over another app,
but let's talk about Bible apps.
People will be used to using some of the commonly downloaded
free Bible apps, and yes, they serve their purpose
in that you can open them up and you can pick a translation
and you can find a chat and you can find a verse.
So utilitarian-wise, it does what it says on the tin,
but there was something beautiful about opening up
your app instantly, and then the more you use it,
You know, you probably read the same people as I do, but Sean Blanc has this, you know,
wonderful book called Delight is in the Details.
Mm hmm.
And there's a delight to using your app because of all these little details.
And talk to me about some of the, I mean, I'm pleased to hear that you guys
created the app for you primarily.
You were like, we're going to build this for us.
And it sounds like there's enough like-minded people who also fell in love with the app.
But talk to me about the challenges of caring about design,
'cause excellence is the sum of a thousand tiny details.
Did you ever get to the point where like,
ah, let's not sweat those details?
Or talk to me about that design process.
- I think, you know, when it's 2 a.m.
And you've been working on something,
you tend to like wonder if that detail is worth it,
but I think that's the core of,
that's the core of like equality design processes.
Design not in the details, the design is the details.
- Right.
- I don't think, I think we,
since we were crafting it for ourselves as like the,
I mean, it wasn't the sole purpose,
but we definitely wanted to make something
that we would both enjoy to enjoy using immensely.
- Right.
- And when you're making something for yourself,
it's very easy to continue on that quest
for that perfect thing, that perfect interaction.
We also had, I mean, Corinne, I did a talk,
a tiny little thing at a church a couple of weeks back
about design and Christianity.
And it's just disappointing to see design
sort of not care about Christianity.
So I think it was easy for us to care
about the design decisions and the details
because we have this immense love and care
for the product that we're designing and creating for.
- Right.
- And I think that's gotten lost in the church lately.
Design's not just something that you can throw on
at the end or is not valuable.
Even though the message is where the power is,
that doesn't mean we don't have to care
and craft the best experience we possibly can.
- Right.
It's not to get like churchy with it,
or to get churchy with it, I mean, it's the podcast.
But I think it's very similar to faith.
If you think about your faith,
and the way you live it out,
it's not just about the things that you see.
A lot of people think faith is this outward expression.
It's things that I do, or things that I say,
or the way people perceive me,
but it's so much deeper than that.
I think design is similar.
Design isn't just the way something ends up being expressed
in whether it's a book, or it's an app on a screen,
So like a website or if you know, it's a fit like getting like film stuff like that like you have to care about these things
And you have to like we give to walk out your faith every day and it's it's
Meticulous and you have to be have to consider it every day and all throughout your days and design is the same way like
When you're thinking about a product like you have to consider every single little part of that product
and I think in a lot of ways to like
You know just we're both of us are very fortunate and lucky to get to the jobs that we do
at the kinds of places that we do out here, you know, at Aaron at Yahoo and we at Facebook.
And it is a tenant of the products that we work on every day.
And I think that just pours over into the work, you know.
And I think this could be a long conversation much longer than a podcast conversation.
But I think for me, my decision to go from working in the Christian industry,
I before I was at relevant, I worked at, I was on staff at a church for several years.
Aaron, this was the same thing. And the decision to go outside of that and be and put ourselves
into environments that design was held at a higher standard and valued more. I think that
basically that just like rubs off on you. And I definitely think that's rubbed off on me.
And so doing that every day and then going to work on a project that happened to be like very
like faith-centric, something like the Bible, you know, the things that like I'm exposed to every
day of my day job has I think in a lot of ways just like it wasn't me it was just like the
result of all the things that I've seen and conversation that I've had like kind of like
spilling over into the thing that we worked on. You covered a lot of ground there some of which
I'd love to unpack maybe at a later date. The thing that really interests me is you mentioned
a talk that you did a couple of weeks ago please tell me that was recorded and is available online
because I would love to watch and I know a bunch of our listeners who have to watch that.
And if it is, we'll link in the show notes.
It was recorded and it was definitely a, it's something that we both care about.
I think the concept and the idea, and it was more of a first rough draft.
I think self-aware enough to know that like we had a great idea and I don't think we hit it
over the fence.
I want to pick up on what you were talking about a little bit there because it's important to
to know you guys have full time jobs that don't involve making new Bible.
Like, you know, you work at Facebook, you work at Yahoo.

So it's important that people realize this is a labor of love.
You built this app on top of having highly demanding jobs in Silicon Valley.
Where do you a find the time and be?
How do you stay motivated?
Cause I find people have tons of motivation to start projects, but finishing them.
Boy, that's a different story.
It's really easy to get a lot of stuff done if you don't want to sleep.
Sleep is overrated.
Sleep is incredibly overrated.
Let's sleep.
Yeah.
That's where we got most of our stuff done was after work late into the night.
It was basically like working two full-time jobs for the most.
I really feel bad.
So I had left Apple and ended up getting a job at Twitter while we were building new
Bible. And a live share of the design work had been done, but we had just started, I think we
started development late in 2014. I just started my job at Twitter in 2014. And like,
I definitely regret that in some ways, because I don't like, just being honest, like,
parents, like, give me a look. Like, I don't think I like performed as well, or was as good an
an employee is like, I could or should have been at Twitter
because I was so focused on this.
So I think like, how do you find the time?
I don't know if I did find the time.
I think it could be the expense of my job.
And granted, like I didn't get,
I feel like I was able to like course correct
and like do some really great work
and not be a complete waste of an employee.
- No, I don't think that time was tough.
- Yeah, it's definitely tough.
I mean, I got married and had a baby
in the midst of all of it.
I mean, it's the fun thing to say,
like, oh, we just stayed up late at night
and pulled like the TV show sitcom,
like start up together by like sweating
and like drinking Red Bull
and like theres a Hades montage.
But the reality was it was a lot of really hard work.
Like there's no magic potion to it.
There was nothing special that we did
that anyone else probably couldn't do.
It was just spreading ourself very, very thin.
- And how did your wives respond to that?
- I still have a wife.
- I also still have a wife.
- So they responded well enough
or I bought enough flowers that I made up for it.
- Oh my God.
- My wife was incredibly supportive.
And I know Jocelyn has been immensely supportive as well.
She does, I'm gonna say she does as much
for new Bible as I do.
My wife is in PR.
She's done PR for slight magazine,
on slight.com for over a decade.
And she's been like very valuable.
Like, ask her.
- She's been immensely like--
- It's not different, like, hey babe,
can you do the, like she believes,
I mean, like, I don't know if you know
this part of the back strip,
but like we, like, Dubai was like completely bootstrapped.
So we paid for it completely out of pocket.
And like, our wives were supportive enough to let us like,
we're our savings.
- Yeah.
And like that's, I mean, you're married,
I'm sure you know, like that's a hard thing to do
and to come in terms of what I've done.
But anyways, yeah, I mean, she has PR and like,
she was able to like, we had this on launch day.
It was amazing.
We were able to get this piece on the front page
of Fast Company about like what we were doing
and which was like crazy.
And it was like, I remember that morning,
like us all waking up and me and Aaron were texting
and I was like crying and she was like crying.
I don't know if Aaron was crying.
I don't wanna like put that on you.
- I don't cry.
But it was just like, wow, like regardless of like this, where this thing goes, because
you don't know at the launch or something, we were able to get like fast company, the
front page of fast company the entire day to like have something about like a couple
of dudes making a Bible.
Yeah, which I felt like a big step.
Yeah.
Yeah.
So that was like really, really cool.
And like I couldn't have done that without her support.
 But yeah, I think I'm always been late
nights as well working on new Bible. It was, it was great to
have the support. And I don't think if grace, my wife wasn't
totally on board, I don't think I would have been able to hang
on. It would have fizzled out for sure.
Let me ask you this, because I'm fascinated in the behind the
scenes details of how does one get rights to use the Bible?
Because probably a lot of people don't realize the Bible and
all its different versions are copyrighted works of many, many people.
So, Zondervin just send you a text file or, I mean, talk me through how literally you turn a,
I'm imagining just a raw text file that they send you into what we see on our screens in New Bible.
How do you do that?
Did you have to format and lay everything out and strip out footnotes?
Tell me those nerdy little details.
I'll let Aaron talk this.
I can talk more about the like securing the right side of things.
Yeah.
Just from a pure implementation standpoint, Aaron and dealt with most of that with our dev
team.
But so, let's see, try to figure out how to say this.
There's no good digital Bible text file.
is just whatever each of these companies has decided to put together.
So some of them we got an ebook file, like a dot ebook that we had to HTML file.
We got one of the translations was 60 plus HTML files.
And I'm not saying that because I don't know how many books of the Bible there are, but
because it was just random, some books were split into.
And some XML files, we got one that was just a single text file with some weird sort of
like XML type tags and languaging inside of it.
The short answer is there is no single good way.
And I would absolutely love to spearhead a real way of normalizing.

Which is funny, it really makes you empathize with all of the different developers out there,
whether it be the Life Church guys or the logo guys.
I feel like I've heard that there is an effort underway, this service is basically unifying
formats.
I would love for that to happen.
The reality is right now there is no single way that we got any of these translations
together.
Even if we got two XML files that were both just, that's the file type, the formatting
and how they label all of the parents and children inside of these files is completely
different.
So we ended up having to build a localized sort of parsing engine that resides inside
of.
Yeah.
new Bible, there's a, we read each of these things, parse it out individually, build our
own database and archive files, which is why our search and our navigation is so lightning
quick. We've had some speed issues with some of the older devices. What we did was very,
very smart. And that's all on the dev team.
Aaron's patting himself on the back right now.
Yeah, it's just going to show.
Go Aaron.
I had nothing to do with that. The developers who built it, like came up with a great
solution.
And what's crazy, like so we just more behind the scenes I guess.
So both Aaron and I are designers.
Aaron is like much more technically savvy and Dev savvy I guess.
I'm not even saying it right.
You can tell us.
I can speak their language.
You can speak the language.
And I'm just like not like I know like some you know like I can do it when I can build
a website but like when it comes to some of this stuff I'm just like completely out
on the dark and the guys that we,
so we actually hired a development shot called HIPAA Labs.
They were based in Canada and Istanbul.
- Yes.
- Where were they in Canada?
- Toronto.
- Toronto, so Toronto and Istanbul.

Like they had no idea about the Bible.
And like the fact that they were able to like build this thing
unaware of like what we were having,
it was funny like on our dev calls with them,
We were having to, in addition to like talk about like
implementation details of that, like talk about like,
well, this is how the Bible works.
- Here's what a verse is.
Here's what a, which is a references.
- Pretty, like when I, I guess I've never thought about that,
like when I think about it, like look back and like,
I don't know how we got that done.
Like that's pretty incredible.
- It was fascinating to like see them sort of pull
the solution together.
But short answer, there's no easy way to do it.
And after seeing that, I think the greatest amount of respect I gained out of all of this
was for the development team at LifeChurch, who has gone through something like 300 or
400 translations.
Yeah, we're dealing with a handful of translations.
And we are honestly, like we're only dealing with a handful.
We get emails like I would say probably multiple times a day.
Easy.
asking for all of these additional translations and all these different languages.
And I think it's hard to say, well, you don't understand how it works, but you don't understand
how resource-intensive it is. Pull each of these individual translations in. So when I think about
just this small team, it's me, Aaron, and we have this, our developer right now is this guy named Zach,
who's based in Kentucky. The three of us being able to do that at any kind of scale, it just
It doesn't happen.
It doesn't happen.
It doesn't happen.
It doesn't happen.
It doesn't happen.
It doesn't happen.
It doesn't happen.
It doesn't happen.
It doesn't happen.
It doesn't happen.
It doesn't happen.
It doesn't happen.
It doesn't happen.
It doesn't happen.
It doesn't happen.
It doesn't happen.
It doesn't happen.
It doesn't happen.
It doesn't happen.
It doesn't happen.
It doesn't happen.
It doesn't happen.
It doesn't happen.
It doesn't happen.
It doesn't happen.
It doesn't happen.
It doesn't happen.
It doesn't happen.
It doesn't happen.
That's the business side of negotiating.
Yeah, the business side of translations is pretty rough.
It's tough.
Yeah.
And in retrospect, it's been a learning process.
But I think when it comes to, oh, it's not for a lack of want to do it.
Yeah.
It's not like we don't like the NLT.
But it just-- so we just talk about the technical realities
of implementing these things.
but like the business realities
of like acquiring some of these translations,
it's hard.
And I think if we did this full time,
like if this was our full time gig,
it would be much easier, you know?
We were not easier, but it would be more tenable.
- Sure.
- But like the fact that like we're doing these things
on the side and like, I, you know, like can get to an email
once maybe every week on the stuff
wherever, you know, a couple of times a week
versus like doing that every day,
It just don't, the time it takes to like kind of facilitate some of these relationships is just tough when you do it on the sides.
Yeah.
Before we leave the technical talk, I found a great new use for new Bible that I hadn't thought about before, but I load up on the iPad Pro.
My wife has an iPad Pro user.
And so I load up the passage, whatever passage I'm either studying or preparing a sermon on.

We haven't even got to talk about your choice of typography and all of that, which is gorgeous.
But so I capture a page with screenshot.
And then I import that into PDF expert and then I mark up that passage with the pencil.
And it's an absolutely joy to use.
It was another way of using your app in a new way other than just reading that.
I was like, Oh, I love this.
And I had some people around me watching me do this.
That's great.
Oh, that's incredible.
That's a game change, I'm like, yeah, it really is.
- Yeah, it's funny when the iPad Pro case,
so I am also, is your wife, you choose the 129,
or the one set?
- Yeah, she uses the 129.
- Yeah, I have the 129, it's like my favorite
computer I've ever owned, and when we started,
so we started working on the iPad,
I guess back in January of this year.
- Like the technical side of it?
- Or just the implementation.
We started on the design side of it,
late last year.
And I remember sitting down with some of the initial comps
and looking at margin, margining the text
and looking at the margins on the iPad Pro
and just being like, oh my god, this would be amazing
just sit here and read and be able to,
rather than just tap and long press
and hold and drag to highlight,
I just wanna highlight with my pencil
and I wanna leave notes in the margins
of the iPad Pro with my pencil.
So yeah, I'm absolutely tracking with you.
But yeah, when it comes to implementing that thing,
- That's a rewrite.
- I mean, we haven't even considered it.
- Oh, yeah.
- I don't know if it's a rewrite.
I think it's like, how do you do it in a way
that like makes sense for people?
'Cause like that'd be awesome to do on the pro,
but then how does that then carry over
into the rest of your experience?
- Yeah.
- Do you use OCR to basically like read those notes
and like save those as notes in some format?
Like I haven't gotten into thinking through that flow
because it's probably beyond what we're capable of
at this point, but I absolutely track with you
that that would be an awesome thing to do.
- Yeah, that workflow of layout screenshot at Markup,
it's a joy because the reason I stopped reading--
- Oh, that's good. - Yeah, yeah.
- I hadn't even thought of that.
- The reason I stopped using a paper Bible
is my Bibles would get stolen or I'd lose them
and with it I would lose all my margin notes
and my highlighting and minder lighting.
So now I'm having that digital workflow
because essentially I'm left with PDFs
that I can read anywhere of my highly customized versions.
- Yeah, so that's cool to hear you say that.
I definitely use it on my pro and have been like,
man, that'd be nice.
If only I knew somebody that could do that.
- Let me leave the technical talk for a little bit
and let me segue into, I'm fascinated to ask you
about the spiritual climate in Silicon Valley.
As somebody who has always had a keen interest
in technology, somebody who has spent some time
in Silicon Valley and I did my research paper
in Mountain View back when I was doing my degree.
And so I fell in love with Palo Alto.
I remember eating at Yill Finayo
and just loving that restaurant.
But I've always had a keen interest
but looking from the outside in,
I don't know why but I'd never considered
there was a huge Christian presence there
because the whole world revolves around tech.
Like if you come to Nashville, wherever you wander around,
you know, where the buckle of the Bible belt,
there's a Christian influence everywhere.
I'm not saying that's great.
When my time spent out in the valley,
it wasn't a noticeable Christian influence.
So what is the spiritual climate like there?
Like do you feel isolated as believers
working in a tech culture?
Are you considered peculiar because of your beliefs?
Or is there an openness for what you believe?
Talk us about that.
Give us an insights window on what life is Christians
and Silicon Valley is like.
- It's interesting.
So I just for background,
I actually grew up in Birmingham.
So I grew up in the Bible Belt in the South and lived in that and existed in that until I was 23, I guess, before I left home.
Or I left Alabama.
And so it is definitely like different than the South, obviously.
There is, I think there's a pretty good community of people here.
Yeah.
I think what's interesting is like,
I would almost expect it you to be seeing this peculiar
out here and I've definitely felt some,
I mean, just being real, like, you're working at,
like in these companies, like,
there's a nervousness to like talk about that stuff.
- Yeah.
- But I remember just anecdotally, like,
I remember, so the day that New Biola came out,
when I was at Twitter, I remember that evening,
like I was getting rid of work and I,
parking was under the building,
I'd gone up to our security office to get my parking
validated and I got it validated and I'm walking out
the hallway to the elevators and got stopped by this couple.
And they're like, "Hey, you're Cory."
I was like, and I had never met them before.
And I was like, "Yeah, yeah, how's it going?"
I didn't say I have no idea who you are.
But I was like, "Hey, you know, yeah."
They're like, "Oh man, like we saw about new Bible today,
that is awesome. That's awesome to see somebody out here who's Christian like just like owning
it. And it's like, it was this weird, it was this weird moment for me because it's like, I didn't,
I don't think we did this. I can't speak for you, Aaron. I didn't do this to say like, Hey,
everybody like, I'm a believer. Look at this thing that I made. I just like, I wanted something,
Yeah, I wanted a Bible that like didn't sacrifice quality and didn't sacrifice like
thoughtfulness and design and just made that thing. It wasn't about like being a Christian. It wasn't
about like sharing my faith. It was just about like doing this thing. But like what happened after
that was really interesting. So that happened one day. And then I remember like a couple days later,
a couple of people like during messaging me on Twitter and being like, hey, you know,
you know, like, I didn't know you were a Christian too.
Like, we have this thing where we like get together.
Like there's a few of us believers here
and like we get together enough coffee once a week
and we chat and so I started going to that a little bit.
So that was cool.
And I think it's just like the whole like,
everybody out here like does their own thing.
It was kind of weird.
Like you would expect to be looked at as a peculiar person.
But I think because everybody's just like, you do you,
like it's kind of nice because I think in New York,
So I lived in New York before that, sorry, I'm long-winded.
You definitely felt that.
I definitely felt weird about like talking about
like the fact that I was a believer.
And I don't just personally, I don't like walk around
and say, "Hey, Corey, my name is Corey, I'm a Christian."
That's not how I believe that you should share your faith.
But out here, yeah, it's, I don't feel weird about it.
I mean, there's not a ton, it's not like the Bible about, but--
- Yeah.
I grew up in, I was born and raised in Southern California.
So I've been in California most of my life.
So a solid 32, 31 years.
I've been alive in California, the rest elsewhere.
One thing I've noticed about California Christians,
you know, is it's very purposeful.
- Sees as we call ourselves.
- I lived in Orlando for a bit and church being in the South
was definitely much more of a cultural experience.
Like there was that aspect of it.
Out here, it was less cultural and more purposeful.

There was less of that and there was more
of like an obvious commitment.
Maybe I'm projecting, I don't know,
but that was always sort of my observation.
And the external view of California
and its interaction with Christianity,
definitely I think is,
it's ratcheted up a little bit
as opposed to what it actually is.
I've never told someone I'm a Christian here,
and then have them push me into the street
and kick dirt on me.
I'd say the biggest reaction I've gotten from someone is,
oh really?

- Right.
- It's always, the default is, okay,
Why would you believe that?
- Right. - But whatever.

Okay, that's weird.
And then that's it.
And then they move on and then you're back to,
I don't know, talking about design or go to the movie.
- So what was interesting for me,
like when we had a California was,
growing up in the South,
you always hear of California as being
like the devil's playground.
- Yeah. - And it's like this,
It's gonna fall off into the ocean, it's horrible,
and it's dark, and San Francisco,
blah, blah, blah, blah, blah, blah, blah,
I don't get into that.
And then coming out here and just like realizing
not only like, is there like a,
like pretty healthy church communities
out here, very healthy churches,
but like just the fact that like Calvary has,
is pretty good in general,
is I just felt like people were like lying to me back home.

And like doing these things.
And yeah.
- Yeah, growing up in church out here,
we definitely were sort of told that we were
like the mission field.
So even being out here in California,
the church is sort of a point of view
or their thought was that,
man, we're in the trenches.
We're out here in California.
It's the devil's playground.
And I'd never really got that.
It's about as much as the playground of the devil is and the other city.
Right.

So a broken person is a broken person.
Right.
It doesn't matter how broken.
Well, I have to say that when I when I saw your app initially, I was
excited that somebody was tending to the Word of God with such deliberate care and intention.
And when I opened it up and started to use it, I was like, oh, I am so thrilled to see a truly
excellent app independent of whether it's the Bible or not. You know, if it was just a, you know,
an e-reader, just the way that navigation happens, the way that all of the interface
strips away until you need it. They're really thoughtful gestures. I just loved that this was an
A-Class app in terms of usability, and then it was a Bible program. I just loved that somebody
was... I think the difficulty that we have as Christians is we have an awful lot of people with
more influence than us speaking on behalf of us indirectly. So it's horrendous when we see
Christians on Twitter or Christians on the news or Christians who have a professing faith in Jesus,
but then are saying things that are completely contrary to his nature or our values. And then
we have to go into work and people are like, "Oh, you're one of those," which is probably why you're
getting surprised. So to take that little dynamic and put it into the microcosm of the world, we used
where we live in, which is apps, technology, to see somebody represent us well through your craft,
which is building apps. It was an absolute joy because nothing would be worse than opening up a
Bible app that's getting a lot of attention and it's set in papyrus or it's just a terrible
implement. Do you know what I mean? So I think you guys have done a great job.
Papyrus was on our short list of stuff to use.
Yeah, I'm sure. Yeah. Just as somebody who lives on the other side of the country, who
moves in a similar circle as you guys do in terms of the things we appreciate, I was so thrilled
to see something done with such excellence that represent a thing so well.
And it genuinely thrilled me that, oh my gosh, there's app developers who
not only love Jesus, but are fanatical about producing brilliant apps.
So well done on that.
Quite apart from the fact I love using your app.
Thank you.

I know that not to be true, but nevertheless, there's a point I'm trying to make
in there somewhere and I'm not sure how well I'm articulating.
That's incredibly encouraging.
We, when we started designing new Bible, we kind of, maybe it sounds a bit too much to say we hit a
wall, but we were kind of frustrated with a couple of things. And then Corey at one point
just kind of flipped it. And it was like, we're designing a reading experience. So that's what we
need to do. So how can we design an excellent reading experience?
And I think that for us, it just opened things.
- Like light bulbs went off.
- Yeah, and yeah, I think in a lot of ways
we started making it for us.
And I think then we were hitting some of those walls
and we had to realize,
oh, it's just about being your experience for reading.
And I think in a lot of ways, it's like,
this needs to embody a lot of the just points of view
we have about interaction design and app design period.
What would it look like to make an app
that we think contains all of the best UX thinking and gestures and all of the stuff
that we would want to see in that period.
It just so happened to coalesce in an app that we can make the Bible.
So I'm really excited that you saw that and recognize that.
That means a lot.
It's something we talked about in our design in Christianity, Spiel, taking away the fact
that it was the Bible also helped us to be objective about it and not just rely on the
fact that it was the word of God and we could get away with not trying to craft the best
possible experience.
So taking that away and just trying to be objective about the design quality itself,
I think helped us push further than we probably would have if we had just stuck with this
idea of, hey, we're designing a great Bible.
Well, I think you guys did a great job when you hit the nail on the hat.
Thank you.
If you guys have not checked out new Bible, I would really encourage you to do it.
It's an app that screams of intentionality.
There's an obvious care for details that just adds up to a brilliant reading experience
and a great navigating experience.
You're going to be the envy of everybody sitting to your left or right or behind you
because people are going to be looking at what app are you using.
It's available for iPhone and for all sizes of iPad.
my Bible reading app of choice and I'd highly encourage you to check out.
Where can people find out more information about you guys and about new Bible?
How can we find you on Instagram, Twitter, websites?
Give us all those details.
Yeah, so if you want to read more about kind of new Bible and all of the details about it
that you might not see just by using the app, just go to the website, newbible.co.
I, both Erin and I are pretty active Twitter users, maybe too active.
Maybe a bit.
You can find us on Twitter. I'm I'm Corey. I am K O R Y and I am I am Aaron Martin. I am Aaron Martin.
You can also find us at We Are Dorks. I think I stole that from you when I couldn't just get Corey.
Yeah, then on Instagram, I'm that everywhere. I'm the same. I'm Aaron Martin on pretty much every social channel you can find.
My my spaces. I'm Corey
Friendster God bless my space. I will put links on the show notes for everybody who wanted to follow you guys and they can also can link there
No problem, but I super appreciate not only your efforts on the app but taking time out this afternoon and talk to me
Thanks so much for doing that. Yeah, yeah, I enjoyed it. All right. Well, thanks guys. Appreciate it
Did you have fun recording that babe? Yeah, I loved picking the brains of people who make delightful things
If you haven't yet checked out their app, please visit our show notes for this episode at allen and aj.com/110
And we'll post a link to the app and everything else that we talked about in that interview
Including the links to their social media so you can follow them for now. We're gonna go back to the beach
We hope you guys are having an amazing week
Join us next week for another different but brilliant interview while we're still on vacation
See you later.
âTMª Faith, life, communication âTMª
âTMª Tacos and video games âTMª
âTMª Paleotronuts and the kindness of God âTMª
âTMª But things we deal with every day âTMª
âTMª From Franklin, Tennessee âTMª
âTMª They are just like you and me âTMª
âTMª Alan, yeah âTMª
âTMª And A.J. âTMª Oh yeah
âTMª Keeping up with the Joneses âTMª
Keeping up with the Joneses, sharing their life, experience it
Keeping up with the Joneses, keeping up with the Joneses
They talk about faith in God, and everything under the sun
If you are a human being, there's something here for everyone
(bell dings)
[ Silence ]


|
Linux Installation |
Table of Contents |
If you perform an evaluation and then move a file like a source file, a test input file etc. (to replace an old file, or to add it in the first place), the evaluator might not notice the change when it is run again. This is because a move operation preserves the file's time-stamp, so the modify time might very well be before the time of the original evaluation. Unfortunately, fixing this problem would probably make the software much slower. To avoid this problem, always copy a file to a directory under eval/ (as opposed to moving it from some outside directory).
Under Windows, a fatal error might occur if the system is under heavy load. In this case, eval will stop with the following message: FATAL ERROR: shoot! Cygwin bug...
This is likely a bug in the Cygwin DLL (the pid management code). Hopefully, this will not cause problems, since the grading machine is not normally under such a heavy load.


| Home | Trees | Indices | Help |
|
|---|
|
|
defines logger classes and few convinience methods, not related to the declarations tree
| Submodules | |
| Classes | |
|
loggers class-namespace, defines few loggers classes, used in the project |
|
|
cached Convert a method into a cached attribute |
|
|
enum Usage example: class fruits(enum): apple = 0 orange = 1 |
| Functions | |||
|
|||
|
|||
|
|||
|
|||
|
| Function Details |
small convinience function that creates temporal file. This function is a wrapper aroung Python built-in function - tempfile.mkstemp |
returns computer architecture: 32 or 64. The guess is based on maxint. |
| Home | Trees | Indices | Help |
|
|---|
| Generated by Epydoc 3.0.1 on Mon Oct 20 09:00:17 2008 | http://epydoc.sourceforge.net |


|
Properties
|
| id |
string |
oneTime |
|
Set id to the component |
| class |
string |
oneWay |
|
Set custom classes to the component |
| style |
string |
oneWay |
|
Set custom styles to the component |
| size |
string |
oneWay |
md |
Set size to the component. Acceptable values : 'sm', 'md', 'lg'. |
| total-pages |
number | string |
oneWay |
1 |
Set The number of pages. |
| selected-page |
number | string |
oneWay |
1 |
The current page that show on start. |
| visible-pages |
number | string |
oneWay |
1 |
visible pages. |
| hide-only-one-page |
boolean | string |
oneWay |
true |
This hides all control buttons if it has one page. |
| direction-links |
boolean | string |
oneWay |
true |
if
false previous and next buttons will be hidden. |
| boundary-links |
boolean | string |
oneWay |
false |
if
false first and last buttons will be hidden. |
| loop |
boolean | string |
oneWay |
false |
Carousel-style pagination. |
| show-goto |
boolean | string |
oneWay |
false |
This feature allows you to jump to a specific page when you have plenty of pages. This works if the
visible-pages is
greater than or equal to
7 . |
| template |
string |
oneWay |
%s |
You can define a text as a template. Make sure to use
%s as a placehoder for number of pages. |
| first-text |
string |
oneWay |
First |
Text label for the
First button. |
| last-text |
string |
oneWay |
Last |
Text label for the
Last button. |
| prev-text |
string |
oneWay |
Previous |
Text label for the
Previous button. |
| next-text |
string |
oneWay |
Next |
Text label for the
Next button. |
| first-icon |
string |
oneWay |
|
Icon class for the
First button. |
| last-icon |
string |
oneWay |
|
Icon class for the
Last button. |
| prev-icon |
string |
oneWay |
|
Icon class for the
Previous button. |
| next-icon |
string |
oneWay |
|
Icon class for the
Next button. |
|
Events
|
| page-changed |
Function |
call(event, startPageNumber) |
|
This event fires when page changed.
|


Every day, we look at every tweet sent by U.S. federal government Twitter accounts and rank them based on an algorithm that looks at audience size, retweets, and favorites. Great Gov Tweets highlights the amazing work Government communicators do every day.
Are you tracking my Twitter account?
We look at all Twitter accounts in USA.gov’s Social Media Registry. If you manage a U.S. federal government Twitter account, look it up in the registry on HowTo.gov. If it’s not there, add it.
Who’s Behind This?
We’re the creators of Measured Voice, the only social media management tool designed with government in mind. We aspire to help government agencies develop professional, mission-driven, social media operations.
Sign up for a 30-day free trial of Measured Voice.
If you have any questions, comments, or suggestions for Great Gov Tweets, please send an email to jed [at] measuredvoice.com.


Batting Visualizations
A story written in data
These interactive charts show the relationships and changes over time of a few popular batting metrics.
Click on the colored bars to toggle the graph to reflect the metric you wish to see.


| Dans_Diffraction (version 3.1.0, 20/07/23) | index c:\users\grp66007\onedrive - diamond light source ltd\pythonprojects\dans_diffraction\dans_diffraction\__init__.py |
Dans_Diffraction
Python package for loading crystal structures from cif files and calculating diffraction information.
Installation:
$ python -m pip install Dans-Diffraction
or
$ git clone https://github.com/DanPorter/Dans_Diffraction.git
or
$ python -m pip install git+https://github.com/DanPorter/Dans_Diffraction.git
Requirements:
Python 2.7+/3+ with packages: Numpy, Matplotlib, Tkinter
BuiltIn packages used: sys, os, re, glob, warnings, json, itertools
Usage:
***In Python/ script***
import Dans_Diffraction as dif
f = '/location/of/file.cif'
xtl = dif.Crystal(f)
Usage:
***From Terminal***
$ cd /location/of/file
$ ipython -i -m -matplotlib tk Dans_Diffraction
GitHub Repo: https://github.com/DanPorter/Dans_Diffraction
Citation DOI: https://doi.org/10.5281/zenodo.8106031
By Dan Porter, PhD
Diamond
2017
Version 3.1.0
Last updated: 11/07/23
Version History:
02/03/18 1.0 Version History started.
30/05/18 1.1 Fdmnes added
08/06/18 1.2 Python3 now fully supported
23/02/19 1.3 Graphical user intrface and magnetic x-ray scattering now implemented
13/07/19 1.4 FDMNES GUI functionality added
13/12/19 1.5 Multiple Scattering added, tkGUI refactored, Startgui changed to start_gui
20/02/20 1.6 Tensor Scattering added
31/03/20 1.7 Refactored multicrystal methods, other minor changes, improved powder diffraction
19/04/20 1.7.1 Added write_cif + spacegroup file + functions
02/05/20 1.8 Updated readcif, added heavy atom properties, added magnetic spacegroups
12/05/20 1.8.1 Updated readcif, added atomic_scattering_factors and classes_orbitals
26/05/20 1.8.2 Updated copyright, removed tensor scattering. Updated magnetic spacegroups
09/06/20 1.9 Chaneged magnetic symmetry calculation, now correctly generates mag symmetry from operations
10/06/20 1.9.1 Added time symmetry to Symmetry class
16/06/20 1.9.2 Made change in simpulate_powder to remove linspace error
29/06/20 1.9.3 Removed import of scipy.convolve2d due to import errrors, new method slower but more accurate
02/09/20 1.9.4 Added string methods to Crystal classes
26/11/20 1.9.5 Various improvements and corrections
04/01/21 1.9.6 Added Scattering.structure_factor function
26/01/21 1.9.7 Added xray dispersion correction functions, plus x-ray interactions calculations
15/02/21 1.9.8 Added plotting options for out-of-plane recirprocal lattice lines
10/06/21 1.9.9 Corrected error in calculation of DebyeWaller factor (APDs), added x-ray factors by Waasmaier and Kirfel
09/07/21 1.9.9 Added new scattering factors to scattering factor settings
20/08/21 2.0.0 Added functions_scattering module with updated, more consistent scattering formula
27/09/21 2.1.0 Added classes_orientation and diffractometer orientation functions
15/11/21 2.1.1 Updated Plot.plot_crystal, added additional orientation functions
07/02/22 2.1.2 Corrected error in classes_scattering.powder() of wrong tth values. Thanks Mirko!
14/03/22 2.2.0 Scatter.powder() updated for new inputs and outputs for pVoight and custom peak shapes. Thanks yevgenyr!
23/07/22 2.2.1 Fixed error in MultiCrystal.Scatter
06/01/23 2.2.2 Removed redundent references to np.float
14/01/23 2.2.3 Corrected background error in xtl.Scatter.powder
08/05/23 2.3.0 Merged pull request for non-integer hkl option on SF and electron form factors. Thanks Prestipino!
25/06/23 3.0.0 Added new GUI elements including new Scattering UI and diffractomter simulator, plus other updates
11/07/23 3.0.1 Some fixes for plotting and additions to diffractometer orientation. Thanks asteppke!
20/07/23 3.1.0 Refactored FDMNES wrapper with new methods and new defaults. Thanks YvesJoly!
Acknoledgements:
2018 Thanks to Hepesu for help with Python3 support and ideas about breaking up calculations
Dec 2019 Thanks to Gareth Nisbet for allowing me to inlude his multiple scattering siumulation
April 2020 Thanks to ChunHai Wang for helpful suggestions in readcif!
May 2020 Thanks to AndreEbel for helpful suggestions on citations
Dec 2020 Thanks to Chris Drozdowski for suggestions about reflection families
Jan 2021 Thanks to aslarsen for suggestions about outputting the structure factor
April 2021 Thanks to Trygve Ræder for suggestions about x-ray scattering factors
Feb 2022 Thanks to Mirko for pointing out the error in two-theta values in Scatter.powder
March 2022 Thanks to yevgenyr for suggesting new peak profiles in Scatter.powder
Jan 2023 Thanks to Anuradha Vibhakar for pointing out the error in f0 + if'-if''
Jan 2023 Thanks to Andreas Rosnes for testing the installation in jupyterlab
May 2023 Thanks to Carmelo Prestipino for adding electron scattering factors
June 2023 Thanks to Sergio I. Rincon for pointing out the rounding error in Scatter.powder
July 2023 Thanks to asteppke for suggested update to Arrow3D for matplotlib V>3.4
July 2023 Thanks to Yves Joly for helpful suggestions on FDMNES wrapper
-----------------------------------------------------------------------------
Copyright 2023 Diamond Light Source Ltd.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Files in this package covered by this licence:
classes_crystal.py
classes_scattering.py
classes_plotting.py
classes_properties.py
classes_multicrystal.py
classes_orbitals.py
functions_general.py
functions_plotting.py
functions_crystallography.py
tkgui/*.py
Other files are either covered by their own licence or not licenced for other use.
Dr Daniel G Porter<EMAIL_ADDRESS>www.diamond.ac.uk
Diamond Light Source, Chilton, Didcot, Oxon, OX11 0DE, U.K.
| Functions | ||
|
| Data | ||
| structure_list = <Dans_Diffraction.classes_structures.Structures object> |


{{< layout}}
{{$pageTitle}}{{/pageTitle}}
{{$content}}
{{< hmpo-partials-form}}
{{$form}}
We have sent you a confirmation email.
Your application reference number is Application submitted
PEX 319 825 680X
| Total | £102.86 |
|---|---|
| Reference | IE19852 |
HM Passport Office
Ref: PEX 319 825 680X
Aragon Court
Northminster Road
Peterborough
PE1 1QG
You don’t need to include a covering letter. It’s up to you whether you use standard post or a secure service.
If you have questions contact contact HM Passport Office(Opens in a new window)
Give feedback


{% extends 'contributor/base.html' %} {% load crispy_forms_tags %} {% block base_page_header %}
Enter a message describing your changes in the form below. Your changes will be retrieved from your DE org and committed to your feature branch in Github automatically. After submitting, watch the sync status to make sure everything saved successfully.


EVO HTML to PDF Converter allows you to transform any region of a PDF page into a link to any point of PDF page of the same PDF document. You can save the created PDF document to a file, a stream or in a memory buffer.
In this demo you can see how to transform a text and an image from a PDF document into links to other sections of the same PDF document.


{% extends "layout.html" %} {% block above_article_body %}
Regent’s
Park
St Paul’s
Cathedral
Kensington
Gardens
St James’s
Park
Hyde
Park
Tower
Bridge
Westminster
Bridge
2 km
Regent’s
Park
St Paul’s
Cathedral
Kensington
Gardens
St James’s
Park
Hyde
Park
Tower
Bridge
Southwark
Bridge
Westminster
Bridge
2 km
Regent’s
Park
St Paul’s
Cathedral
Kensington
Gardens
St James’s
Park
Hyde
Park
Tower
Bridge
Southwark
Bridge
Westminster
Bridge
Regent’s
Park
St Paul’s
Cathedral
Kensington
Gardens
St James’s
Park
Hyde
Park
Tower
Bridge
Southwark
Bridge
Westminster
Bridge
Nitrogen Oxides emissions
Total NO2 emissions
Road transport
Other
60
50
40
30
20
10
0
2008
2010
2013
2020
2025
2030
Source: GLA
Nitrogen Oxides
emissions
Total NOx emissions
Road transport
Other
60
50
40
30
20
10
0
2008
2010
2013
2020
2025
2030
Source: GLA
Composition of TFL’s bus fleet
By European emission standard (’000)
10
Euro I (least stringent)
8
Euro II
Euro III
6
Euro IV
4
Euro V
2
EEV
0
07
08
09
11
13
14
15
16
2017
06
10
12
Euro VI (Most stringent)
Sources: GLA; TFL
By type
Jan 2017
Electric
Diesel
Hybrid
71
7,202
2,307
Fuel cell
8
Over 2,000 older, dirtier, diesel buses have
been fitted with selective catalytic reduction
What is selective catalytic reduction
Urea injection
Diesel exhaust
Diffuser
plate
CRT filter
CRT catalyst
1
2
3
4
6
5
Nitrogen, water and carbon
dioxide into the atmosphere
Mixing section
SCR catalyst
Cleanup catalyst
Composition of TFL’s
bus fleet
By European emission standard (’000)
10
Euro I (least stringent)
8
Euro II
Euro III
6
Euro IV
4
Euro V
2
EEV
0
07
08
09
11
13
14
15
16
17
06
10
12
Euro VI (Most stringent)
Sources: GLA; TFL
By type
Jan 2017
Fuel cell
Electric
8
71
Hybrid
2,307
Over 2,000 older, dirtier,
diesel buses have been
fitted with selective
catalytic reduction
Diesel
7,202
What is selective
catalytic reduction
Diesel
exhaust
Diffuser
plate
Urea
injection
CRT
catalyst
CRT
filter
Cleanup
catalyst
SCR
catalyst
Mixing
section
Nitrogen, water
and carbon dioxide
into the atmosphere


Mark 10:43
But so shall it not be among you: but whosoever will be great among you, shall be your minister:


HBAppearanceSettings
Objective-C
@interface HBAppearanceSettings : NSObject
Swift
class HBAppearanceSettings : NSObject
The HBAppearanceSettings class in CepheiPrefs provides a model object read by other components of Cephei to determine colors and other appearence settings to use in the user interface.
Appearance settings are typically set on a view controller, via the
-[PSListController(HBTintAdditions) hb_appearanceSettings]
property. This is automatically
managed by Cephei and provided to view controllers as they are pushed onto the stack.
Most commonly, the API will be used by setting the hb_appearanceSettings
property from the
init method. The following example sets the tint color, table view background color, and
customises the navigation bar with a background, title, and status bar color:
- (instancetype)init {
self = [super init];
if (self) {
HBAppearanceSettings *appearanceSettings = [[HBAppearanceSettings alloc] init];
appearanceSettings.tintColor = [UIColor colorWithRed:66.f / 255.f green:105.f / 255.f blue:154.f / 255.f alpha:1];
appearanceSettings.barTintColor = [UIColor systemRedColor];
appearanceSettings.navigationBarTitleColor = [UIColor whiteColor];
appearanceSettings.tableViewBackgroundColor = [UIColor colorWithWhite:242.f / 255.f alpha:1];
appearanceSettings.statusBarStyle = UIStatusBarStyleLightContent;
self.hb_appearanceSettings = appearanceSettings;
}
return self;
}
-
The tint color to use for interactable elements within the list controller. Set this property to a UIColor to use.
A nil value will cause no modification of the tint to occur.
Declaration
Objective-C
@property (nonatomic, copy, nullable) UIColor *tintColor;
Swift
@NSCopying var tintColor: UIColor? { get set }
Return Value
By default, nil.
-
The user interface style to use. Set this property to a UIUserInterfaceStyle to use.
Declaration
Objective-C
@property (nonatomic) UIUserInterfaceStyle userInterfaceStyle;
Swift
var userInterfaceStyle: UIUserInterfaceStyle { get set }
Return Value
By default, UIUserInterfaceStyleUnspecified.
-
The tint color to use for the navigation bar buttons, or, if invertedNavigationBar is set, the background of the navigation bar. Set this property to a UIColor to use, if you don’t want to use the same color as tintColor.
A nil value will cause no modification of the navigation bar tint to occur.
Declaration
Objective-C
@property (nonatomic, copy, nullable) UIColor *navigationBarTintColor;
Swift
@NSCopying var navigationBarTintColor: UIColor? { get set }
Return Value
By default, nil.
-
The color to use for the navigation bar title label. Set this property to a UIColor to use.
A nil value will cause no modification of the navigation bar title color to occur.
Declaration
Objective-C
@property (nonatomic, copy, nullable) UIColor *navigationBarTitleColor;
Swift
@NSCopying var navigationBarTitleColor: UIColor? { get set }
Return Value
By default, nil.
-
The background color to use for the navigation bar. Set this property to a UIColor to use.
A nil value will cause no modification of the navigation bar background to occur.
Declaration
Objective-C
@property (nonatomic, copy, nullable) UIColor *navigationBarBackgroundColor;
Swift
@NSCopying var navigationBarBackgroundColor: UIColor? { get set }
Return Value
By default, nil.
-
The status bar style to use. Set this property to a UIStatusBarStyle to use.
Declaration
Objective-C
@property (nonatomic) UIStatusBarStyle statusBarStyle;
Swift
var statusBarStyle: UIStatusBarStyle { get set }
Return Value
By default, UIStatusBarStyleDefault.
-
Deprecated
Set statusBarStyle instead.
The color to use for the status bar icons. Set this property to a UIColor to use.
A nil value will cause no modification of the status bar color to occur.
Warning
Setting the status bar to a custom color is no longer possible as of iOS 13. Set statusBarStyle instead.Declaration
Objective-C
@property (nonatomic, copy, nullable) UIColor *statusBarTintColor;
Swift
@NSCopying var statusBarTintColor: UIColor? { get set }
Return Value
By default, nil.
-
Deprecated
Set navigationBarBackgroundColor and navigationBarTitleColor instead.
Whether to use an inverted navigation bar.
An inverted navigation bar has a tinted background, rather than the buttons being tinted. All other interface elements will be tinted the same.
Declaration
Objective-C
@property (nonatomic) BOOL invertedNavigationBar;
Swift
var invertedNavigationBar: Bool { get set }
Return Value
By default, NO.
-
Whether to use a translucent navigation bar. Set this property to YES if you want this behavior.
Declaration
Objective-C
@property (nonatomic) BOOL translucentNavigationBar;
Swift
var translucentNavigationBar: Bool { get set }
Return Value
By default, YES.
-
Whether to show the shadow (separator line) at the bottom of the navigation bar.
Requires iOS 13 or later.
Declaration
Objective-C
@property (nonatomic) BOOL showsNavigationBarShadow;
Swift
var showsNavigationBarShadow: Bool { get set }
Return Value
By default, YES.
-
Whether to use a large title on iOS 11 and newer. Set this property to a value from HBAppearanceSettingsLargeTitleStyle.
Declaration
Objective-C
@property (nonatomic) HBAppearanceSettingsLargeTitleStyle largeTitleStyle;
Swift
var largeTitleStyle: HBAppearanceSettings.LargeTitleStyle { get set }
Return Value
By default, HBAppearanceSettingsLargeTitleStyleRootOnly.
-
The color to be used for the overall background of the table view. Set this property to a UIColor to use.
Declaration
Objective-C
@property (nonatomic, copy, nullable) UIColor *tableViewBackgroundColor;
Swift
@NSCopying var tableViewBackgroundColor: UIColor? { get set }
Return Value
By default, nil.
-
The color to be used for the text color of table view cells. Set this property to a UIColor to use.
Declaration
Objective-C
@property (nonatomic, copy, nullable) UIColor *tableViewCellTextColor;
Swift
@NSCopying var tableViewCellTextColor: UIColor? { get set }
Return Value
By default, nil.
-
The color to be used for the background color of table view cells. Set this property to a UIColor to use.
Declaration
Objective-C
@property (nonatomic, copy, nullable) UIColor *tableViewCellBackgroundColor;
Swift
@NSCopying var tableViewCellBackgroundColor: UIColor? { get set }
Return Value
By default, nil.
-
The color to be used for the separator between table view cells. Set this property to a UIColor to use.
Declaration
Objective-C
@property (nonatomic, copy, nullable) UIColor *tableViewCellSeparatorColor;
Swift
@NSCopying var tableViewCellSeparatorColor: UIColor? { get set }
Return Value
By default, nil.
-
The color to be used when a table view cell is selected. This color will be shown when the cell is in the highlighted state.
Declaration
Objective-C
@property (nonatomic, copy, nullable) UIColor *tableViewCellSelectionColor;
Swift
@NSCopying var tableViewCellSelectionColor: UIColor? { get set }
Return Value
By default, nil.


Nicola Parker
North America’s largest independent Salesforce consulting and application development firm.
Consulting
Products
Marketing
Design
Development
Destruction
| DO | DON'T |
|---|---|
| → ask tons of questions | → be afraid of offering ideas |
| → talk to everyone | → work too hard |
| → embrace the learning journey | → assume you know things |


Streetscape Comparison | San Francisco, CA
This page shows street scape design before and after effects interactively.


Test Reset
|
| open |
../../xforms/html/test_reset.html |
|
opens the form |
| assertTitle |
Testing Reset |
|
Ensures correct form loaded |
| waitForElementPresent |
xpath=/html/body/xf:input[@id='i0']/pe-value/input |
|
waits for the input control to be present |
| waitForNotValue |
xpath=/html/body/xf:input[@id='i0']/pe-value/input |
|
waits for the input control to be bound |
| assertValue |
xpath=/html/body/xf:input[@id='i0']/pe-value/input |
sailor |
Checks that the value has been set correctly |
| assertValue |
xpath=/html/body/xf:input[@id='i1']/pe-value/input |
matelot |
Checks that the value has been set correctly |
| assertValue |
xpath=/html/body/xf:input[@id='i2']/pe-value/input |
sjoemann |
Checks that the value has been set correctly |
| type
|
xpath=/html/body/xf:input[@id='i0']/pe-value/input |
dolly |
types "dolly" into the first input |
| type
|
xpath=/html/body/xf:input[@id='i1']/pe-value/input |
kitty |
types "kitty" into the second input |
| type
|
xpath=/html/body/xf:input[@id='i2']/pe-value/input |
is it me you're looking for? |
types "is it me you're looking for?" into the third input |
| click |
t0 |
|
resets the first model |
| waitForNotValue |
xpath=/html/body/xf:input[@id='i0']/pe-value/input |
dolly |
waits for the input control to be bound |
| assertValue |
xpath=/html/body/xf:input[@id='i0']/pe-value/input |
sailor |
Checks that the first input has been reset |
| assertValue |
xpath=/html/body/xf:input[@id='i1']/pe-value/input |
kitty |
Checks second input is still bound to "kitty" |
| type
|
xpath=/html/body/xf:input[@id='i0']/pe-value/input |
dolly |
types "dolly" into the first input |
| click |
t2 |
|
resets the second model |
| assertValue |
xpath=/html/body/xf:input[@id='i0']/pe-value/input |
dolly |
Checks that the first input has not been reset |
| assertValue |
xpath=/html/body/xf:input[@id='i1']/pe-value/input |
matelot |
Checks that the second input has been reset |
| assertValue |
xpath=/html/body/xf:input[@id='i2']/pe-value/input |
sjoemann |
Checks that the third input has been reset |
| type
|
xpath=/html/body/xf:input[@id='i1']/pe-value/input |
kitty |
types "kitty" into the second input |
| type
|
xpath=/html/body/xf:input[@id='i2']/pe-value/input |
is it me you're looking for? |
types "is it me you're looking for?" into the third input |
| click |
t1 |
|
resets the default (first) model |
| assertValue |
xpath=/html/body/xf:input[@id='i0']/pe-value/input |
sailor |
Checks that the first input has been reset |
| assertValue |
xpath=/html/body/xf:input[@id='i1']/pe-value/input |
kitty |
Checks that the second input has not been reset |
| assertValue |
xpath=/html/body/xf:input[@id='i2']/pe-value/input |
is it me you're looking for? |
Checks that the third input has not been reset |
| close |
|
|
|