Lecture 3:
Loss functions and
Optimization
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 1 11 Jan 2016
A1 is due Jan 20 (Wednesday). ~9 days left
Warning: Jan 18 (Monday) is Holiday (no class/office hours)
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 2 11 Jan 2016
Challenges in Visual Recognition
Camera pose Illumination Deformation Occlusion
Background clutter Intraclass variation
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 3 11 Jan 2016
data-driven approach, kNN
the data NN classifier 5-NN classifier
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 4 11 Jan 2016
Linear classifier
| image parameters |
|
|
|
[32x32x3]
array of numbers 0...1
(3072 numbers total)
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 5 11 Jan 2016
Going forward: Loss function/Optimization
-3.45 -0.51 3.42
-8.87 6.04 4.64
0.09 5.31 2.65
2.9 -4.22 5.1
4.48 -4.19 2.64
8.02 3.58 5.55
3.78 4.49 -4.34
1.06 -4.37 -1.5
-0.36 -2.09 -4.79
-0.72 -2.93 6.14
TODO:
Define a loss function that quantifies our unhappiness with the scores across the training data.
Come up with a way of efficiently finding the parameters that minimize the loss function.
(optimization)
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 6 11 Jan 2016
With some W the scores are:
cat
car
frog
3.2 1.3 2.2
5.1 4.9 2.5
-1.7 2.0 -3.1
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 7 11 Jan 2016
With some W the scores are:
| cat | 3.2 | 1.3 | 2.2 |
| car | 5.1 | 4.9 | 2.5 |
| frog | -1.7 | 2.0 | -3.1 |
Multiclass SVM loss:
Given an example
where is the image and where is the (integer) label,
and using the shorthand for the scores vector:
the SVM loss has the form:
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 8 11 Jan 2016
Suppose: 3 training examples, 3 classes.
With some W the scores are:
|
1.3 | 2.2 | ||
|
4.9 | 2.5 | ||
|
2.9 | 2.0 | -3.1 | |
| Losses: |
Fei-Fei Li & Andrej Karpathy & Justin Johnson
Multiclass SVM loss:
Given an example
where is the image and where is the (integer) label,
and using the shorthand for the scores vector:
the SVM loss has the form:
max(0, 5.1 - 3.2 + 1) +max(0, -1.7 - 3.2 + 1)
max(0, 2.9) + max(0, -3.9)
2.9 + 0
2.9
| Lecture 3 9 |
|
Suppose: 3 training examples, 3 classes.
With some W the scores are:
|
3.2 | 2.2 | |
|
5.1 | 2.5 | |
|
-1.7 | -3.1 | |
| Losses: | 2.9 | 0 |
Fei-Fei Li & Andrej Karpathy & Justin Johnson
Multiclass SVM loss:
Given an example
where is the image and where is the (integer) label,
and using the shorthand for the scores vector:
the SVM loss has the form:
max(0, 1.3 - 4.9 + 1) +max(0, 2.0 - 4.9 + 1)
max(0, -2.6) + max(0, -1.9)
0 + 0
0
| Lecture 3 10 |
|
Suppose: 3 training examples, 3 classes.
With some W the scores are:
|
3.2 | 1.3 | ||
|
5.1 | 4.9 | ||
|
-1.7 | 2.0 | 10.9 | |
| Losses: | 2.9 | 0 |
Fei-Fei Li & Andrej Karpathy & Justin Johnson
Multiclass SVM loss:
Given an example
where is the image and where is the (integer) label,
and using the shorthand for the scores vector:
the SVM loss has the form:
max(0, 2.2 - (-3.1) + 1) +max(0, 2.5 - (-3.1) + 1)
max(0, 5.3) + max(0, 5.6)
5.3 + 5.6
10.9
| Lecture 3 11 |
|
With some W the scores are:
|
3.2 | 1.3 | 2.2 |
|
5.1 | 4.9 | 2.5 |
|
-1.7 | 2.0 | -3.1 |
|
2.9 | 0 | 10.9 |
Multiclass SVM loss:
Given an example
where is the image and where is the (integer) label,
and using the shorthand for the scores vector:
the SVM loss has the form:
and the full training loss is the mean over all examples in the training data:
L = (2.9 + 0 + 10.9)/3
4.6
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 12 11 Jan 2016
With some W the scores are:
|
3.2 | 1.3 | 2.2 |
|
5.1 | 4.9 | 2.5 |
|
-1.7 | 2.0 | -3.1 |
|
2.9 | 0 | 10.9 |
Multiclass SVM loss:
Given an example
where is the image and where is the (integer) label,
and using the shorthand for the scores vector:
the SVM loss has the form:
what if the sum was instead over all classes?
(including j = y_i)
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 13 11 Jan 2016
With some W the scores are:
|
3.2 | 1.3 | 2.2 |
|
5.1 | 4.9 | 2.5 |
|
-1.7 | 2.0 | -3.1 |
|
2.9 | 0 | 10.9 |
Multiclass SVM loss:
Given an example
where is the image and where is the (integer) label,
and using the shorthand for the scores vector:
the SVM loss has the form:
Q2: what if we used a mean instead of a sum here?
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 14 11 Jan 2016
With some W the scores are:
|
3.2 | 1.3 | 2.2 |
|
5.1 | 4.9 | 2.5 |
|
-1.7 | 2.0 | -3.1 |
|
2.9 | 0 | 10.9 |
Multiclass SVM loss:
Given an example
where is the image and where is the (integer) label,
and using the shorthand for the scores vector:
the SVM loss has the form:
Q3: what if we used
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 15 11 Jan 2016
With some W the scores are:
|
3.2 | 1.3 | 2.2 |
|
5.1 | 4.9 | 2.5 |
|
-1.7 | 2.0 | -3.1 |
|
2.9 | 0 | 10.9 |
Multiclass SVM loss:
Given an example
where is the image and where is the (integer) label,
and using the shorthand for the scores vector:
the SVM loss has the form:
Q4: what is the min/max possible loss?
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 16 11 Jan 2016
With some W the scores are:
|
3.2 | 1.3 | 2.2 |
|
5.1 | 4.9 | 2.5 |
|
-1.7 | 2.0 | -3.1 |
|
2.9 | 0 | 10.9 |
Multiclass SVM loss:
Given an example
where the image and
where the (integer) label,
and using the shorthand for the scores vector:
the SVM loss has the form:
Q5: usually at initialization W are small numbers, so all s ~= 0. What is the loss?
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 17 11 Jan 2016
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 18 11 Jan 2016
|
|
|
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 20 11 Jan 2016
E.g. Suppose that we found a W such that L = 0. Is this W unique?
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 21 11 Jan 2016
With some W the scores are:
|
3.2 | 2.2 | |
|
5.1 | 2.5 | |
|
-1.7 | -3.1 | |
|
2.9 | 0 |
Before:
max(0, 1.3 - 4.9 + 1) +max(0, 2.0 - 4.9 + 1)
max(0, -2.6) + max(0, -1.9)
0 + 0
0
With W twice as large:
max(0, 2.6 - 9.8 + 1) +max(0, 4.0 - 9.8 + 1)
max(0, -6.2) + max(0, -4.8)
0 + 0
0
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 22 11 Jan 2016
Weight Regularization
\lambda = regularization strength (hyperparameter)
In common use:
L2 regularization
L1 regularization Elastic net (L1 + L2) Max norm regularization (might see later) Dropout (will see later)
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 23 11 Jan 2016
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 24 11 Jan 2016
(Multinomial Logistic Regression)
cat
car
frog
3.2
5.1
-1.7
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 25 11 Jan 2016
(Multinomial Logistic Regression)
scores = unnormalized log probabilities of the classes.
cat
car
frog
3.2
5.1
-1.7
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 26 11 Jan 2016
(Multinomial Logistic Regression)
scores = unnormalized log probabilities of the classes.
where
cat
car
frog
3.2
5.1
-1.7
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 27 11 Jan 2016
(Multinomial Logistic Regression)
scores = unnormalized log probabilities of the classes.
where
cat
car
frog
3.2
5.1
-1.7
Softmax function
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 28 11 Jan 2016
(Multinomial Logistic Regression)
cat
car
frog
scores = unnormalized log probabilities of the classes.
|
||||||||
| 3.2 |
|
|||||||
|
||||||||
5.1
-1.7
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 29 11 Jan 2016
(Multinomial Logistic Regression)
cat
car
frog
scores = unnormalized log probabilities of the classes.
|
||||||||
| 3.2 |
|
|||||||
|
||||||||
5.1
-1.7 in summary:
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 30 11 Jan 2016
Softmax Classifier (Multinomial Logistic Regression)
cat
car
frog
3.2
5.1
-1.7
unnormalized log probabilities
|
|
|
Softmax Classifier (Multinomial Logistic Regression)
unnormalized probabilities
cat
car
frog
3.2 24.5
exp
5.1 164.0
-1.7 0.18
unnormalized log probabilities
|
|
|
Softmax Classifier (Multinomial Logistic Regression)
unnormalized probabilities
cat
car
frog
3.2 24.5 0.13
| exp | normalize | ||||
| 5.1 | 164.0 | 0.87 | |||
-1.7 0.18 0.00
|
probabilities | |
|
Lecture 3 33 |
|
Softmax Classifier (Multinomial Logistic Regression)
unnormalized probabilities
cat
car
frog
| 3.2 | 24.5 | 0.13 | |||
| exp | normalize | ||||
| 5.1 | 164.0 | 0.87 | |||
-1.7 0.18 0.00
L_i = -log(0.13)
0.89
|
probabilities | |
|
Lecture 3 34 |
|
Softmax Classifier (Multinomial Logistic Regression)
Q: What is the min/max possible loss L_i?
unnormalized probabilities
cat
car
frog
| 3.2 | 24.5 | 0.13 | |||
| exp | normalize | ||||
| 5.1 | 164.0 | 0.87 | |||
-1.7 0.18 0.00
L_i = -log(0.13)
0.89
|
probabilities | |
|
Lecture 3 35 |
|
Softmax Classifier (Multinomial Logistic Regression)
|
||
|
||
|
||
| unnormalized probabilities |
|
|
cat
car
frog
| 3.2 | 24.5 | 0.13 | |||
| exp | normalize | ||||
| 5.1 | 164.0 | 0.87 | |||
-1.7 0.18 0.00
L_i = -log(0.13)
0.89
|
probabilities | |
|
Lecture 3 36 |
|
|
|
|
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 38 11 Jan 2016
assume scores: [10, -2, 3] [10, 9, 9]
[10, -100, -100] and
Suppose I take a datapoint and I jiggle a bit (changing its score slightly). What happens to the loss in both cases?
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 39 11 Jan 2016
http://vision.stanford.edu/teaching/cs231n/linear-classify-demo/
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 40 11 Jan 2016
Optimization
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 41 11 Jan 2016
- We have some dataset of (x,y) e.g.
We have a score function:
We have a loss function:
Softmax
SVM
Full loss
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 42 11 Jan 2016
Random search
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 43 11 Jan 2016
15.5% accuracy! not bad!
(SOTA is ~95%)
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 44 11 Jan 2016
|
|
|
|
|
|
Follow the slope
In 1-dimension, the derivative of a function:
In multiple dimensions, the gradient is the vector of (partial derivatives).
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 47 11 Jan 2016
| current W: |
|
||
| [0.34, |
|
||
| -1.11, |
|
||
| 0.78, |
|
||
| 0.12, |
|
||
| 0.55, |
|
||
| 2.81, |
|
||
| -3.1, |
|
||
| -1.5, |
|
||
| 0.33,…] |
|
||
| loss 1.25347 | |||
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 48 11 Jan 2016
| current W: |
|
| [0.34, |
|
| -1.11, |
|
| 0.78, |
|
| 0.12, |
|
| 0.55, |
|
| 2.81, |
|
| -3.1, |
|
| -1.5, |
|
| 0.33,…] |
|
| loss 1.25347 |
|
gradient dW:
[?,
?,
?,
?,
?,
?,
?,
?,
?,…]
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 49 11 Jan 2016
| current W: |
|
| [0.34, |
|
| -1.11, |
|
| 0.78, |
|
| 0.12, |
|
| 0.55, |
|
| 2.81, |
|
| -3.1, |
|
| -1.5, |
|
| 0.33,…] |
|
| loss 1.25347 |
|
gradient dW:
[-2.5,
?,
?,
(1.25322 - 1.25347)/0.0001 = -2.5
?,
?,…]
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 50 11 Jan 2016
| current W: |
|
| [0.34, |
|
| -1.11, |
|
| 0.78, |
|
| 0.12, |
|
| 0.55, |
|
| 2.81, |
|
| -3.1, |
|
| -1.5, |
|
| 0.33,…] |
|
| loss 1.25347 |
|
gradient dW:
[-2.5,
?,
?,
?,
?,
?,
?,
?,
?,…]
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 51 11 Jan 2016
| current W: |
|
| [0.34, |
|
| -1.11, |
|
| 0.78, |
|
| 0.12, |
|
| 0.55, |
|
| 2.81, |
|
| -3.1, |
|
| -1.5, |
|
| 0.33,…] |
|
| loss 1.25347 |
|
gradient dW:
[-2.5,
0.6,
?,
?,
(1.25353 - 1.25347)/0.0001 = 0.6
?,…]
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 52 11 Jan 2016
| current W: |
|
| [0.34, |
|
| -1.11, |
|
| 0.78, |
|
| 0.12, |
|
| 0.55, |
|
| 2.81, |
|
| -3.1, |
|
| -1.5, |
|
| 0.33,…] |
|
| loss 1.25347 |
|
gradient dW:
[-2.5,
0.6,
?,
?,
?,
?,
?,
?,
?,…]
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 53 11 Jan 2016
| current W: |
|
| [0.34, |
|
| -1.11, |
|
| 0.78, |
|
| 0.12, |
|
| 0.55, |
|
| 2.81, |
|
| -3.1, |
|
| -1.5, |
|
| 0.33,…] |
|
| loss 1.25347 |
|
gradient dW:
[-2.5,
0.6,
0,
?,
(1.25347 - 1.25347)/0.0001 = 0
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 54 11 Jan 2016
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 55 11 Jan 2016
approximate
very slow to evaluate
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 56 11 Jan 2016
want
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 57 11 Jan 2016
want
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 58 11 Jan 2016
want
Calculus
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 59 11 Jan 2016
= ...
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 60 11 Jan 2016
[0.34,
-1.11,
0.78,
0.12,
0.55,
2.81,
-3.1,
-1.5,
0.33,…] loss 1.25347
dW = ...
(some function
data and W)
gradient dW:
[-2.5,
0.6,
0,
0.2,
0.7,
-0.5,
1.1,
1.3,
-2.1,…]
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 61 11 Jan 2016
Numerical gradient: approximate, slow, easy to write
Analytic gradient: exact, fast, error-prone
=>
In practice: Always use analytic gradient, but check implementation with numerical gradient. This is called a gradient check.
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 62 11 Jan 2016
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 63 11 Jan 2016
original W
W_1
negative gradient direction
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 64 11 Jan 2016
only use a small portion of the training set to compute the gradient.
Common mini-batch sizes are 32/64/128 examples e.g. Krizhevsky ILSVRC ConvNet used 256 examples
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 65 11 Jan 2016
(Loss over mini-batches goes down over time.)
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 66 11 Jan 2016
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 67 11 Jan 2016
Mini-batch Gradient Descent
only use a small portion of the training set to compute the gradient.
Common mini-batch sizes are 32/64/128 examples e.g. Krizhevsky ILSVRC ConvNet used 256 examples
we will look at more fancy update formulas (momentum, Adagrad, RMSProp, Adam, …)
|
|
|
(image credits to Alec Radford)
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 69 11 Jan 2016
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 70 11 Jan 2016
hue bins
+1
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 71 11 Jan 2016
8x8 pixel region, quantize the edge orientation into 9 bins
(image from vlfeat.org)
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 72 11 Jan 2016
8x8 pixel region, quantize the edge orientation into 9 bins
Many more:
GIST, LBP, Texton, SSIM, ...
(image from vlfeat.org)
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 73 11 Jan 2016
| Example: Bag of Words |
|
|||||||||
|
||||||||||
|
|
|||||||||
|
|
|||||||||
| 144 |
|
||
1000-d vector
e.g. 1000 centroids
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 74 11 Jan 2016
image statistics
| Feature |
|
|
|||||
| Extraction |
|
||||||
|
|||||||
[32x32x3]
f
10 numbers, indicating class scores
training
[32x32x3]
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 75 11 Jan 2016
Becoming a backprop ninja
and
Neural Networks (part 1)
Fei-Fei Li & Andrej Karpathy & Justin Johnson Lecture 3 76 11 Jan 2016


This page demonstrates how to use the multiple filter support for data sets.
Here is a working example that uses multiple filters.
{name}
Before starting, you must make sure that you include SpryDataExtensions.js *after* SpryData.js:
<script language="JavaScript" type="text/javascript" src="../../includes/xpath.js"></script>
<script language="JavaScript" type="text/javascript" src="../../includes/SpryData.js"></script>
<script language="JavaScript" type="text/javascript" src="../../includes/SpryDataExtensions.js"></script>
This will add multiple filter support to all data sets.
Now you can define your data set and filter functions as you normally would:
<script type="text/javascript"> <!-- var dsStates = new Spry.Data.XMLDataSet("../../data/states/states.xml", "states/state"); function ffAH(ds, row, index){ var c = row.name.charAt(0); return c >= 'A' && c <= 'H' ? null : row; }; function ffIP(ds, row, index){ var c = row.name.charAt(0); return c >= 'I' && c <= 'P' ? null : row; }; function ffQZ(ds, row, index){ var c = row.name.charAt(0); return c >= 'Q' && c <= 'Z' ? null : row; }; ... --> </script>
The filter functions above filter out rows of data based on whether or not the first letter in the 'name' column falls within a certain range of letters. These are the same functions used to filter in the live sample above.
The important thing to remember is that if you are going to use multiple filters, DO NOT USE the filter() function on the data set. If you do, it will blow away any filters you have installed. Now, to add a filter, use the addFilterFunction:
dsStates.addFilter(ffAH, true);
The first argument to addFilter is the filter function you want to add, the 2nd argument is optional, if true, it tells the data set to apply all filters after the filter is added. If false or undefined, it simply adds the filter function to its internal list and does nothing else.
To remove a filter, you call removeFilter(). Like addFilter, the optional 2nd argument determines whether or not the data set will apply the set of existing filters immediately or not:
dsStates.removeFilter(ffAH); // Remove. dsStates.removeFilter(ffIP); // Remove. dsStates.removeFilter(ffQZ, true); // Remove and then filter.
You can also remove all filters in a single call with removeAllFilters(). removeAllFilters() also takes an optional argument which tells the dataset whether or not it should unapply the last set of filters. This is useful if you want to remove any active filters, add some new filters and then apply the filters:
dsStates.removeAllFilters(); // Reset our filter list so its empty. dsStates.addFilter(ffIP, true); // Add a filter and apply it. ... dsStates.removeAllFilters(true); // Reset our filter list and restore all data.
To re-run the current set of active filters, you can use the applyFilters() function. This is sometimes useful if you want to set a bunch of filters and then apply them at a later point in time:
dsStates.addFilter(ffAH); // Add. dsStates.addFilter(ffIP); // Add. dsStates.addFilter(ffQZ); // Add. ... dsStates.applyFilters(); // Filter the data.


|
BL3 SDK
0.0.1
Borderlands 3 Class Documentation
|
#include <BL3_Engine_structs.hpp>
Public Attributes | |
| struct FVector | Location |
| struct FRotator | Rotation |
| float | FOV |
| float | ForegroundFOV |
| float | DesiredFOV |
| float | OrthoWidth |
| float | OrthoNearClipPlane |
| float | OrthoFarClipPlane |
| float | AspectRatio |
| unsigned char | bConstrainAspectRatio: 1 |
| unsigned char | bUseFieldOfViewForLOD: 1 |
| unsigned char | UnknownData00 [0x3] |
| TEnumAsByte< ECameraProjectionMode > | ProjectionMode |
| unsigned char | UnknownData01 [0x3] |
| float | PostProcessBlendWeight |
| struct FPostProcessSettings | PostProcessSettings |
| struct FVector2D | OffCenterProjectionOffset |
| unsigned char | bDisableSeparateTranslucency: 1 |
| unsigned char | UnknownData02 [0x7] |
| float AspectRatio |
| unsigned char bConstrainAspectRatio |
| unsigned char bDisableSeparateTranslucency |
| unsigned char bUseFieldOfViewForLOD |
| float DesiredFOV |
| float ForegroundFOV |
| float FOV |
| struct FVector Location |
| struct FVector2D OffCenterProjectionOffset |
| float OrthoFarClipPlane |
| float OrthoNearClipPlane |
| float OrthoWidth |
| float PostProcessBlendWeight |
| struct FPostProcessSettings PostProcessSettings |
| TEnumAsByte<ECameraProjectionMode> ProjectionMode |
| struct FRotator Rotation |
| unsigned char UnknownData00[0x3] |
| unsigned char UnknownData01[0x3] |
| unsigned char UnknownData02[0x7] |


Create and manage your own Magic tournaments, then battle it out without losing your self to confusion! Tournaments currently support an All-Play-All (Swiss style) arrangement.
Create
Manage
Battle


355_Sakamono.py
class Solution:
def avoidFlood(self, rains: List[int]) -> List[int]:
prev = None
for num in rains:
if prev and num > 0 and num == prev:
return []
prev = num
n = len(rains)
res = [-1] * n
zeros = []
seen = {}
for i, num in enumerate(rains):
if num == 0:
zeros.append(i)
continue
if num in seen:
possible = bisect.bisect_right(zeros, seen[num])
if possible == len(zeros):
return []
res[zeros[possible]] = num # dry the lake
zeros.pop(possible)
seen[num] = i
for other in zeros:
res[other] = 1
return res


Firstname Lastname
* LL.B. (he, him, his)
Title Line 1
Title Line 2
Title Line 3
<EMAIL_ADDRESS>T.
+1-416-863-2400
C.
+1-416-863-2653


The 4 teams Ireland could face in the Euro 2020 play-offs
Northern Ireland, Wales, Bosnia and Slovakia all may lie ahead.
by The42 TeamIRELAND’S 1-1 DRAW with Denmark on Monday night confirmed they will finish third in the group, with the Danes and the Swiss qualifying automatically for Euro 2020.
But the Boys in Green could yet qualify via the Nations League play-offs.
Exactly who Ireland play next is unconfirmed. The team’s pathway, however, will become clearer following the outcome of Tuesday night’s Group E clash between Wales and Hungary in Cardiff, with the Slovakia-Azerbaijan game in the same group also potentially significant.
Ireland are one of five teams from Nations League B not to have qualified already. The others are: Wales, Northern Ireland, Slovakia and Bosnia.
Of those teams, Ireland, Northern Ireland and Bosnia are all guaranteed a qualifying spot, while Wales and Slovakia may still qualify directly or at worst enter the play-offs.
A win for them on Tuesday would see Wales qualify, though a draw would open the way for Slovakia who will go through pending that outcome along with a victory for them over Azerbaijan. Hungary, meanwhile, will also qualify if they win regardless of what the Slovaks do.
All of which means Ireland are set to come up against either Wales, Bosnia or Slovakia in the semis. With all three teams having a higher ranking than the Irish side, it means the Boys in Green will have to travel away for their one-off semi-final.
Bosnia, meanwhile, as the best-ranked League B team look likely to face a home match against the worst-ranked side, Northern Ireland.
Mick McCarthy’s side could then potentially play a final with Northern Ireland or Bosnia should they get over the first obstacle.
So, to clarify, there are a couple of potential outcomes…
- Wales beat Hungary; Ireland play Slovakia.
- Wales draw with Hungary and Slovakia beat Azerbaijan to qualify; Ireland play Wales.
- Wales lose to Hungary or Wales draw and Slovakia fail to beat Azerbaijan; Ireland could play Bosnia, Slovakia or Wales depending on how the draw pans out.
If Ireland get past the semi-final, Friday’s draw in Nyon will determine whether their prospective final is either home or away.
The semi-finals of the play-offs will be on 26 March, while the final is set for 31 March.
- Originally published at 01.36


F5 Identity and Access Management Solutions > Class 3: SWG - Securing Outbound Internet Access Source | Edit on
Lab Environment¶
In the interest of time, the following components have been set up with basic configurations for you in a cloud-based virtual lab environment with:
- Windows Jump Host – Provides remote access the virtual lab
- environment via RDP (note: you will need to connect to it using your Remote Desktop Client for Windows/Mac). This will also be your test client.
- BIG-IP Virtual Edition (VE) – Pre-licensed and provisioned for Access
- Policy Manager (APM) and Secure Web Gateway (SWG)
- BIG-IQ Centralized Management (CM) VE – BIG-IQ console
- BIG-IQ Data Collection Device (DCD) VE – BIG-IQ logging node
- Windows Server – Active Directory and DNS services
- DLP Server – ICAP mode
Each student’s lab environment is independent.
Lab Environment Diagram¶
The following diagram illustrates the lab environment’s network configuration and will be useful if you wish to replicate these exercises in your personal lab environment:
Timing for Labs¶
The time it takes to perform each lab varies and is mostly dependent on accurately completing steps. Below is an estimate of how long it will take for each lab:
Lab Timing
| Lab name (Description) | Time Allocated |
|---|---|
| Use Case: Enterprise Web Filtering | |
| Lab 1: SWG iApp - Explicit Proxy for HTTP and HTTPS | 30 minutes |
| Lab 2: URL Category-based Decryption Bypass | 25 minutes |
| Lab 3: Explicit Proxy Authentication - NTLM | 25 minutes |
| Use Case: Access Reporting | |
| Lab 4: SWG Reporting with BIG-IQ | 15 minutes |
| Use Case: Guest Access Web Filtering | |
| Lab 5: SWG iApp – Transparent Proxy for HTTP and HTTPS | 15 minutes |
| Lab 6: Captive Portal Authentication | 25 minutes |
| Use Case: SSL Visibility | |
| Lab 7: SSL Visibility for DLP (ICAP) | 15 minutes |
General Notes¶
Provisioning Secure Web Gateway (SWG) requires Access Policy Manager (APM to also be provisioned.
When working with iApp templates for the first time, you should change the BIG-IP Configuration Utility’s default “Idle Time Before Automatic Logout” setting to a larger value. This has already been done for you in the lab environment to save time.
Accessing the Lab Environment¶
To access the lab environment, you will require a web browser and Remote Desktop Protocol (RDP) client software. The web browser will be used to access the Lab Training Portal. The RDP client will be used to connect to the Jump Host, where you will be able to access the BIG-IP management interfaces using HTTPS and SSH. You will also be using the Jump Host as a test client.
You class instructor will provide additional lab access details.
- Establish an RDP connection to your Jump Host and login with the
- following credentials:
- User: JUMPBOX\external_user
- Password: password
- Use Firefox to access the BIG-IP GUI (https://<IP_ADDRESS>).
- Login into the BIG-IP Configuration Utility with the following
- credentials:
- User: admin
- Password: admin


Currently a student at California State University East Bay. Majoring in Business Administration with focuses in Marketing and HR, but also minoring in Multimedia. At the age of 24, my passion is to travel. I hope to travel around the world with my son, document it and share it with the world.


Jesse
Cravens

Austin
, TX USA

<a<EMAIL_ADDRESS>class="email">jesse[dot]cravens[at]gmail[dot]com

Resume

Blog

Portfolio

LinkedIn profile

Summary of Qualifications

Jesse is an innovative Principal Software Engineer with a deep background in web application and native mobile application development. His focus has been on rich internet applications, the mobile web, and HTML5. He possesses a rare blend of technical aptitude and an ability to provide oversight and direction to technical teams.

He previously held Sr. Software and Technical Management positions at USAA, leading a team of mobile application developers that included both domestic full time employees and offshore 3rd party contractors. He was responsible for providing technical leadership in the planning, designing, development, testing, implementation and maintenance of USAAs industry leading iPhone, Android, Blackberry, and mobile web applications.

Prior to that, Jesse contributed to Drupal powered websites for entertainment clients such as Jackson Browne, CSNY, and Angie Ruiz.

He is also a contributor to open source and regular speaker on Node.js, HTML5 and JavaScript:

TechX 2012

Devcon5 HTML5 Summit Austin 2012

Devcon5 HTML5 Summit San Francisco 2012

HTML5.tx 2013

SXSW Interactive 2013

Fluent Conf 2013

Devcon HTML5 Summit NYC 2013

Oredev 2013

Experience & Accomplishments

Jesse Cravens

Principal Engineer

Frog

April 2012
– present

Designs and builds innovative solutions.

Collaborates closely with designers to express design assets and artifacts in the form of presentation layer code, interactive prototypes, technical proof-of-concepts, and presentation-layer components and templates.

Provides subject matter expertise in one or more domains leading to UI presentation layer architecture
recommendations and design integration support to help ensure the intended user experience is successfully translated into the engineered software.

Provides work breakdown plans and estimates of work.

Develops software components or modules and/or binding of UI / presentation, logic / middleware, and/or backend / data services tiers in the software application stack.

Lead the triage, analysis, and problem-solving efforts in collaboration with software architects for technical design problems or challenges discovered during the software engineering process.

Collaborates with client technical resources.

Provides valuable technical consulting and insights to the team as a whole.

Jesse Cravens

IT Technical Manager - Mobile/Tablet Applications Infrastructure and Support

USAA

April 2010
– April 2012

Manages team of mobile/tablet application developers, including domestic and offshore 3rd party teams. Provides management of personnel related activities. Coordinates on hiring actions.  Monitors the status of projects. Coordinates with customers to ensure business needs are met. Negotiates solutions to issues and problems.

Participates in planning sessions involving equipment, hardware and procedural changes to fully exploit information technology solutions and ensure that industry best practices are implemented.

Jesse Cravens

Senior Software Engineer - Presentation Tier

USAA

April 2008
– April 2010

Organize enterprise JavaScript libraries and corresponding Standards and Guidance Documentation to reflect best practices.

Educate company's front end web developers through weekly presentations and one on one meetings. (Topics include: Basics of Object Oriented JavaScript, Singleton and Factory JavaScript Design Patterns, AJAX and YUI Connection Manager, YAHOO.util.Dom) Integrate YUI components into existing proprietary J2EE framework.

Rewrite various legacy JavaScript components to be reusable and extensible.

Develop and promote a Paired Programming model to bridge the gap between UI Design and J2EE development communities and to promote W3C web standards.

Build prototypes and content models for usability testing from UI requirements documentation and wire-frames. (consider use cases, scenarios, and flow)

Collaborate with teams of software developers, UX professionals, and business professionals to promote user-centered design, and best practices in usability.

Research and evaluate various client-side technologies for use in internal and external applications and present findings: Yahoo User Interface Library, ExtJS JavaScript Library, JQuery, XSLT, JSDoc, JSDocToolkit, JSLint, Apache WicketStuff (YUI Integration)

Jesse Cravens

Front End Development Consultant

TekSysytems

August 2007
-
April 2008

Collaborate with teams of software developers, user interface professionals, and business professionals to promote user-centered design, and best practices in usability.

Create new solutions and design patterns to overcome usability issues.

Design prototypes and content models for new features, and new applications.

Promote and follow web standards.

Rescript JavaScript libraries to reflect Enterprise best practices.

Evaluate various client-side technologies for use in internal and external applications.

Jesse Cravens

Lead Web (LAMP) Architect

Thompson Media Group

January 2005
-
September 2006

Select and implement software, platforms, publishing tools, and programming languages for the development of Web architecture.

Manage all projects of geographically dispersed virtual team.

Plan, configure, deploy, and theme
Drupal
-powered websites

Perform cost-benefit analysis of proposed Web implementations, enhancements, and modifications.

Monitor and report on Web site traffic and performance.

Manage and/or provide guidance to junior members of the team.

Jesse Cravens

Web and Interactive Developer

Digett

January 2005
-
June 2006

Work with high profile entertainment clients such as:
Jackson Browne
,
CSNY
,
Angie Ruiz
, and the
Kentucky Derby

Plan, configure, deploy, and theme
Drupal
-powered websites

Plan, configure, deploy, and theme ASP.NET-powered websites

Create custom behaviors and features in Drupal

Support client websites

Translate web designs into clean, valid HTML/CSS

Implement complex UI objectives through the use of AJAX, PHP, JavaScript, and related technologies

Meet project objectives,budget requirements and schedules

Meet internal process standards

Manage multiple projects using Basecamp project management platform

Jesse Cravens

Business Computer Programming Teacher

Assistant Varsity Boy's Basketball Coach

Boerne ISD

August 2003
-
June 2007

Certifications:

TExES 8-12 Computer Science

TExES 8-12 Technology Education

TExES K-12 Technology Applications

TExES EC-12 Art

Skills Taught:

identify employment opportunities in various business environments

differentiate the concepts of integrity and confidentiality as related to technology in the business environment

analyze programming languages and operating systems

solve problems using different types and levels of programming languages

solve problems using analytical techniques

apply procedures for maintaining the security of computerized information

Education

B.A Art/Art History

Department of Art History at Rice University

June 1993
–
June 1998

 <acronym title="Grade Point Average">GPA</acronym>
3.0,
President's Honor Roll

M.A. Education - Curriculum and Instruction

College of Education and Human Development (COEHD) at The University of Texas at San Antonio

June 2003
–
June 2005

 <acronym title="Grade Point Average">GPA</acronym>
3.9

Affiliations

1993 San Antonio Express News High School Basketball Player of the Year

1995 Team Captain
Rice University Men's Basketball Team

Colorado Certified Whitewater Rafting Guide

Wilderness First Responder

Professional Bass Player


Class: Geom::PolygonMesh
| Relationships | |
| Inherits: | Object |
Overview
As of SketchUp 2022.0 the new ::Sketchup::EntitiesBuilder
interface can be used to generate bulk geometry. It has similar performance as PolygonMesh
, but with similar degree of per-entity control as ::Sketchup::Entities
.
The #Geom::PolygonMesh
class contains methods to create polygon mesh structures. This is useful if you need to write a custom importer/exporter in Ruby that works at the level of triangulated polygons. For example, you can determine the triangles that make up a 15-sided #Sketchup::Face
by using this class, or write a #Sketchup::Importer
that reads a data file, creates a mesh from it, and draws faces based on the mesh.
You can construct a mesh manually using the methods of this class, or you can get a mesh from a face by calling the Sketchup::Face#mesh method. See Sketchup::Entities#add_faces_from_mesh for an easy way to convert a mesh back into faces.
Constant Summary
-
AUTO_SOFTEN =
# File 'lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb', line 38
Constants
nil
-
HIDE_BASED_ON_INDEX =
# File 'lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb', line 39
Stub value.
nil
-
MESH_NORMALS =
# File 'lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb', line 44
Stub value.
nil
-
MESH_POINTS =
# File 'lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb', line 45
Stub value.
nil
-
MESH_UVQ_BACK =
# File 'lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb', line 46
Stub value.
nil
-
MESH_UVQ_FRONT =
# File 'lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb', line 47
Stub value.
nil
-
NO_SMOOTH_OR_HIDE =
# File 'lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb', line 40
Stub value.
nil
-
SMOOTH_SOFT_EDGES =
# File 'lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb', line 41
Stub value.
nil
-
SOFTEN_BASED_ON_INDEX =
# File 'lib/sketchup-api-stubs/stubs/Geom/PolygonMesh.rb', line 42
Stub value.
nil
Class Method Summary
-
.new ⇒ Geom::PolygonMesh
constructor
Create a new empty polygon mesh.
Instance Method Summary
-
#add_point(point) ⇒ Integer
The #add_point method is used to add a point to the mesh.
-
#add_polygon(index, index, index, ...) ⇒ Integer
The #add_polygon method is used for adding a polygon to a
PolygonMesh
. -
#count_points ⇒ Integer
The #count_points method is used to count the number of points in a mesh.
-
#count_polygons ⇒ Integer
The #count_polygons count the number of polygons in the mesh.
-
#normal_at(index) ⇒ Geom::Vector3d?
The #normal_at method is used to determine the vertex normal at a particular index in the mesh.
-
#point_at(index) ⇒ Geom::Point3d?
The #point_at method is used to retrieve the point at a specific index in the mesh.
-
#point_index(point) ⇒ Integer
The #point_index method is used to retrieve the index of a point in the mesh.
-
#points ⇒ Array<Geom::Point3d>
The #points method is used to retrieve an array of points (vertices) in the mesh.
-
#polygon_at(index) ⇒ Array<Geom::Point3d>?
The #polygon_at method is used to retrieve an array of vertex index values for a polygon at a specific index.
-
#polygon_points_at(index) ⇒ Array<Geom::Point3d>?
The #polygon_points_at method is used to retrieve the points for a polygon that is at a specific index in the mesh.
-
#polygons ⇒ Array<Array<Integer>>
The #polygons method is used to retrieve an array of all polygons in the mesh.
-
#set_point(index, point) ⇒ Geom::PolygonMesh
The #set_point method is used to set the point at a specific index in the mesh.
-
#set_uv(index, point, front) ⇒ nil
The #set_uv method is used to define UV mapping coordinates to points in the mesh.
-
#transform!(transformation) ⇒ Geom::PolygonMesh
The #transform! method is used to apply a transformation to a mesh.
-
#uv_at(index, front) ⇒ Geom::Point3d?
The #uv_at method is used to access a uv (texture coordinates) at a specific index.
-
#uvs(front) ⇒ Array<Geom::Point3d>
The #uvs method is used to retrieve an array of uv coordinates in the mesh.
Constructor Details
.new ⇒ PolygonMesh
.new(numpts) ⇒ PolygonMesh
.new(numpts, numpolys) ⇒ PolygonMesh
PolygonMesh
.new(numpts) ⇒ PolygonMesh
.new(numpts, numpolys) ⇒ PolygonMesh
When creating a mesh with normals and/or UVQ data it’s critical that the number of points estimated is equal to or higher than the final number of points added. If fewer points are estimated the normals and UVQ data might end up out of sync.
Create a new empty polygon mesh.
The number of points and polygons are optional and are used as a hint to decide how much space to pre-allocate to speed up adding points and polygons.
As of SketchUp 2021.1 the performance of looking up and inserting points is significantly better provided the mesh was initialized with roughly the correct number of total points.
Instance Method Details
#add_point(point) ⇒ Integer
In SketchUp 2021.1 this method was improved to be faster. See #initialize
for details.
The #add_point
method is used to add a point to the mesh.
The returned index can be used for creating polygons.
#add_polygon(index, index, index, ...) ⇒ Integer
#add_polygon(index_array) ⇒ Integer
#add_polygon(point3d, point3d, point3d, ...) ⇒ Integer
#add_polygon(point3d_array) ⇒ Integer
Integer
#add_polygon(index_array) ⇒ Integer
#add_polygon(point3d, point3d, point3d, ...) ⇒ Integer
#add_polygon(point3d_array) ⇒ Integer
In SketchUp 2021.1 this method was improved to be faster. See #initialize
for details.
The #add_polygon
method is used for adding a polygon to a PolygonMesh
. All variations of this method require at least 3 elements to define a polygon, although more may be given.
#count_points ⇒ Integer
The #count_points
method is used to count the number of points in a mesh.
#count_polygons ⇒ Integer
The #count_polygons
count the number of polygons in the mesh.
#normal_at(index) ⇒ Geom::Vector3d?
Index starts at 1.
The #normal_at
method is used to determine the vertex normal at a particular index in the mesh. This only works for meshes retrieved from Sketchup::Face#mesh with the PolygonMeshNormals
flag.
#point_at(index) ⇒ Geom::Point3d?
Index starts at 1.
The #point_at
method is used to retrieve the point at a specific index in the mesh.
#point_index(point) ⇒ Integer
Returns 0 if point is not found.
The #point_index
method is used to retrieve the index of a point in the mesh.
#points ⇒ Array<Geom::Point3d>
The #points
method is used to retrieve an array of points (vertices) in the mesh
#polygon_at(index) ⇒ Array<Geom::Point3d>?
Index starts at 1.
The returned array can contain negative values with the sign indicating a hidden edge. For example, a return value of [-1, 2, 3] indicates that the edge from 1
to 2
is hidden. The negative values should not be used as an index for #point_at, take the absolute value of the index value in the polygon array. So if you get [-1, 2,3] use 1
as the argument to #point_at.
The #polygon_at
method is used to retrieve an array of vertex index values for a polygon at a specific index.
#polygon_points_at(index) ⇒ Array<Geom::Point3d>?
Index starts at 1.
The #polygon_points_at
method is used to retrieve the points for a polygon that is at a specific index in the mesh.
#polygons ⇒ Array<Array<Integer
>>
The #polygons
method is used to retrieve an array of all polygons in the mesh.
The returned array contains an array that can have a negative value with the sign indicating a hidden edge. For example, a return value of [-1, 2, 3] indicates that the edge from 1
to 2
is hidden.
#set_point(index, point) ⇒ PolygonMesh
Index starts at 1.
The #set_point
method is used to set the point at a specific index in the mesh.
#set_uv(index, point, front) ⇒ nil
If you don’t specify how many points you will be adding to the mesh when you initiate it you may risk the UV data becoming out of sync.
Index starts at 1.
The #set_uv
method is used to define UV mapping coordinates to points in the mesh.
Beware that the polygons connected to the point will share UV coordiates so UV mapping coordinates needs to be continuous across the polygon mesh.
When setting the UV for a point one need to make sure to have the correct index for the point. It’s therefore best to add the points using #add_point and use the index it returns for following calls to set_uv and #add_polygon.
If you are not able to calculate how many points there will be in your mesh make sure to not specify an index in #set_uv
higher than the number of times you have called #set_uv
.
#transform!(transformation) ⇒ PolygonMesh
The #transform!
method is used to apply a transformation to a mesh.
#uv_at(index, front) ⇒ Geom::Point3d?
Index starts at 1.
The #uv_at
method is used to access a uv (texture coordinates) at a specific index.
“UVs” is a way of referring to the u,v texture coordinates (as opposed to the X, Y, and Z axis that you construct your meshes on), which are points defining 1-by-1 positions within an image. These coordinates connect to points in your 3D model, to position an image texture onto it’s surface (similar to virtual “thumb tacks”)
These coordinates pin an exact spot on an image that you wish to use to texture your model to a specific point on an object’s surface. Between these points, your software will stretch the image smoothly. This is what is referred to as UV mapping.
#uvs(front) ⇒ Array<Geom::Point3d>
The #uvs
method is used to retrieve an array of uv coordinates in the mesh.


Exploration of Mars
The exploration of Mars has taken place over hundreds of years, beginning in earnest with the invention and development of the telescope during the 1600s. Increasingly detailed views of the planet from Earth inspired speculation about its environment and possible life —even intelligent civilizations— that might be found there. Probes sent from Earth beginning in the late 20th century have yielded a dramatic increase in knowledge about the Martian system, focused primarily on understanding its geology and habitability potential.
Viking Lander
The Viking 1 lander touched down on the surface of Mars on July 20, 1976 and was joined by the Viking 2 lander on September 3. The Viking landers conducted biological experiments designed to detect life in the Martian soil, as well as measure temperature, wind, and seismology.
Mars Rovers
Launched in 2003, Opportunity landed on Mars on January 25, 2004 on the other side of Mars from its twin rover Spirit. With a planned 90-day duration of activity, Opportunity is still active, gathering data and making scientific observations, and reporting back to Earth for over 40 times its designed lifespan.


CARREY OUT
ME, MYSELF & IRENE
Directed by the Farrelly Brothers
Written by the Farrelly Brothers and Mike Cerrone
With Jim Carrey, Renee Zellweger
UA South, De Vargas R 116 min.
 This must have been the game plan of the Farrelly Brothers, looking to ride the wave of their gross-out blockbuster There's Something About Mary. They hired Jim Carrey, filmdom's highest-priced comedian, and gave him a script that could have been written during recess at junior high. The guy does his best, but it's like bailing with a sieve.
Carrey leaps, he crawls, he slithers, he rubber-faces, he crashes through windows and tumbles down embankments, he even drops his pants for that revenge squat (not the only time he'll lower his trousers in a search for laughs), but it's no use; Carrey is funny, but he's not that funny.
He plays Charlie, a mild-mannered Rhode Island highway patrolman. His troubles start when he's humiliated on his wedding day by the African-American Mensa-president dwarf who chauffeurs the limo. When in the fullness of time his wife produces black triplets, Charlie willingly suspends disbelief. He raises them on Richard Pryor videos, and grown up, they become huge louts (Anthony Anderson, Mongo Brownlee, and Jerod Mixon) who use "motherfucker" as everything from article to adverb, but are actually smart. When Charlie's wife runs off with the dwarf, he sublimates his feelings. And develops Advanced Delusionary Schizophrenia with Involuntary Narcissistic Rage. In other words, a split personality.  Charlie has medicine to keep him bottled up, but when he forgets it, his evil genius bursts loose.
There's a plot. Irene P. Waters (get it?), played as wallpaper by a resigned Renee Zellweger, is a greenskeeper who may know something about a nefarious scheme that involves a rich guy and a golf course and most of the New York State Police. It's important enough to have almost everyone in the movie except Carrey trying to kill her, but not important enough to tell us what it is. Charlie's supposed to escort Irene back to New York and turn her over to the authorities, but when the attempts on her life start, he and Hank spring to the rescue, and both fall in love with her.
By the end of this mess I was trying to find places to laugh out of sympathy for Carrey, who really tries. He does some nice two-characters-fighting-for-control-of-the-same-body schtick, but Steve Martin did it better in All of Me. He works hard for his $20 million, but that sieve just won't hold water.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Telkom knockout semi-final player ratings
The Telkom Knockout cup has reached the final with Maritzburg United and Mamelodi Sundowns set to battle for 90 minutes for silverware.
by Phakaaathi ReporterLindokuhle Mtshali of Golden Arrows and Hlompho Kekana of Mamelodi Sundowns during the Telkom Knockout 2019 Semi Final match between Golden Arrows and Mamelodi Sundowns at Sugar Ray Xulu Stadium on November 23, 2019 in Durban, South Africa. (Photo by Anesh Debiky/Gallo Images)


I'm excited to announce my first full-scale Indie Game, a medieval rpg about magic and dragons. This is my dream project and I built it for you.
SteamSkydom started out as a dream with some close friends years ago and has evolved into a vast, open-world adventure you can soon experience for yourself. If you're a fan of fantasy worlds, castles, and dragons, or stories of bravery and courage, this game is for you.
Steam
Skydom is my most ambitious title to date but I've worked on a variety of previous projects as well. Most recently I've developed a totally free game for you, Raster. If you open this page on a computer you'll see it below. Enjoy!
In addition, I've worked on many other projects (games and other apps):
Jesse Bennett here :)
I'm a Computer Science student at TMU with a passion for coding and game development. I've been coding since I was 10 years old, and I like to think of it as a creative outlet, an art form. In addition to my own personal coding endeavors, I took a Software Development Internship back in Highschool which taught me the basics of mobile development.
When I was very young I used to dream about a world of dragons and castles, a story of a young boy who takes on the world, a big adventure. I've poured out much of my free time the last couple years into Skydom, the realization of that dream.
I'm currently pursuing a Bachlor's in Computer Science and Artificial Intelligence while working on Skydom with my spare time.


This intention replaces calls to 'rangeTo' or the '..' operator with calls to 'until' and offsets the upper bound by 1.


| (a) | real4 | % 4-byte real number | ||||||
| (b) | real8 | % 8-byte real number |
var width : real4
var height : real8
This implies that real8 and real are essentially the same type, so in practice there is no advantage to using real8 rather than real. However, real4 has the advantage of occupying half as much space (with correspondingly reduced precision).
Arithmetic for all real types (real, real4 and real8) is carried out with the accuracy and exponent range of 8-byte reals.
The type real4 is sometimes called single precision (because it occupies a single 4-byte word) and real8 is sometimes called double precision.


--- layout: post title: Mother's Day 2011 Ends with Marshmallow-y Goodness and Smiles categories: [] tags: - family - holiday status: publish type: post published: true meta: _original_post_id: '' _original_import_author: John Duprey author: ---
What a beautiful day for Mother's Day. There was lots of sun, good fun, food, and smiles.
We finished the day with a fire in the the fire pit, first of the year, and S'Mores(TM). I'm pretty sure we all have marshmallow on our faces in the pictures below..


Man dies days after arrest
by Colin DacreB.C.’s police watchdog has been called to Penticton to investigate the death of a man arrested by RCMP.
The Independent Investigations Office of B.C. says officers were called on Nov. 8 at 8:40 a.m. to a theft from a store.
“He was taken to hospital, which he subsequently left and had to be returned later, again by police,” the IIO said in a news release.
In hospital, the man’s condition deteriorated and he died six days later, on Nov. 14. The IIO was notified by the BC Coroners Service.
The Coroners Service is conducting an investigation into the cause of the man’s death, while the IIO has opened a parallel probe into “what role, if any, officers’ actions or inaction may have played into the death of the male.”
The identity of the man has not been released.


☭조선☭
Will a Woman Run North Korea? Kim’s Sister Outshines Male Rivals
Kim Jong-un's disappearance provides rare opportunity for China
North Korean leader is in grave danger after surgery
Kim Jong Un could be at resort, according to satellite images of luxury boats


AUX
: auxiliary verb
This document is a placeholder for the language-specific documentation
for AUX
.
Treebank Statistics (UD_Slovak)
There are 6 AUX
lemmas (0%), 39 AUX
types (0%) and 3409 AUX
tokens (4%).
Out of 17 observed tags, the rank of AUX
is: 16 in number of lemmas, 12 in number of types and 10 in number of tokens.
The 10 most frequent AUX
lemmas: byť, by, sa, sto, bývať, mať
The 10 most frequent AUX
types: som, je, bol, sme, by, bola, bude, bolo, sú, boli
The 10 most frequent ambiguous lemmas: byť (AUX 3201, VERB 403), sa (PRON 2367, AUX 14, VERB 3), sto (AUX 13, NUM 2), bývať (VERB 20, AUX 9), mať (VERB 496, AUX 3)
The 10 most frequent ambiguous types: som (AUX 1471, VERB 15), je (AUX 404, VERB 101), bol (AUX 179, VERB 41), sme (AUX 207, VERB 5), bola (AUX 115, VERB 31), bude (AUX 109, VERB 11), bolo (AUX 83, VERB 37), sú (AUX 84, VERB 20), boli (AUX 73, VERB 19), si (PRON 389, AUX 46, VERB 12)
- som
- je
- bol
- sme
- bola
- bude
- bolo
- sú
- boli
- si
Morphology
The form / lemma ratio of AUX
is 6.500000 (the average of all parts of speech is 1.776807).
The 1st highest number of forms (31) was observed with the lemma “byť”: Buďme, Nebudete, Nebuď, bol, bola, boli, bolo, bude, budem, budeme, budete, budeš, budú, buďte, byť, je, nebol, nebola, neboli, nebolo, nebude, nebudem, nebudeme, nebudeš, nebudú, niesme, si, sme, som, ste, sú.
The 2nd highest number of forms (5) was observed with the lemma “bývať”: býva, býval, bývala, bývali, nebýva.
The 3rd highest number of forms (2) was observed with the lemma “mať”: majú, má.
AUX
occurs with 10 features: sk-feat/Aspect (3240; 95% instances), sk-feat/Polarity (3240; 95% instances), sk-feat/VerbForm (3240; 95% instances), sk-feat/Number (3197; 94% instances), sk-feat/Person (3197; 94% instances), sk-feat/Tense (3193; 94% instances), sk-feat/Mood (2746; 81% instances), sk-feat/Gender (614; 18% instances), sk-feat/Animacy (290; 9% instances), sk-feat/Typo (1; 0% instances)
AUX
occurs with 23 feature-value pairs: Animacy=Anim
, Animacy=Inan
, Aspect=Imp
, Gender=Fem
, Gender=Masc
, Gender=Neut
, Mood=Cnd
, Mood=Imp
, Mood=Ind
, Number=Plur
, Number=Sing
, Person=1
, Person=2
, Person=3
, Polarity=Neg
, Polarity=Pos
, Tense=Fut
, Tense=Past
, Tense=Pres
, Typo=Yes
, VerbForm=Fin
, VerbForm=Inf
, VerbForm=Part
AUX
occurs with 50 feature combinations.
The most frequent feature combination is Aspect=Imp|Mood=Ind|Number=Sing|Person=1|Polarity=Pos|Tense=Pres|VerbForm=Fin
(1481 tokens).
Examples: som
Relations
AUX
nodes are attached to their parents using 4 different relations: sk-dep/aux (1995; 59% instances), sk-dep/cop (1341; 39% instances), sk-dep/aux:pass (72; 2% instances), sk-dep/dep (1; 0% instances)
Parents of AUX
nodes belong to 10 different parts of speech: VERB (1951; 57% instances), ADJ (705; 21% instances), NOUN (647; 19% instances), DET (28; 1% instances), NUM (28; 1% instances), PRON (25; 1% instances), PROPN (17; 0% instances), ADV (5; 0% instances), PART (2; 0% instances), X (1; 0% instances)
3409 (100%) AUX
nodes are leaves.
The highest child degree of a AUX
node is 0.
AUX in other languages: [am] [ar] [bg] [bxr] [ca] [ckb] [cop] [cs] [cu] [da] [de] [el] [en] [es] [et] [eu] [fa] [fi] [fo] [fr] [ga] [gl] [got] [grc] [he] [hi] [hr] [hu] [id] [it] [ja] [kk] [kmr] [ko] [la] [lv] [mr] [nl] [no] [pl] [pt] [ro] [ru] [sa] [sk] [sla] [sl] [so] [sr] [sv] [swl] [ta] [tr] [ug] [uk] [u] [urj] [ur] [vi] [yue] [zh]


Before Change
// Copy logo to static sub-folder for RTD to be able to locate it
static_images_path = os.path.join(static_folder, static_images_folder)
os.mkdir(static_images_path)
shutil.copy(logo_path_abs, static_images_path)
global working_dir, module_path
output_path = working_dir
After Change
// Copy logo to static sub-folder for RTD to be able to locate it
static_images_path = os.path.join(static_folder, static_images_folder)
if not os.path.exists(static_images_path):
os.mkdir(static_images_path)
shutil.copy(logo_path_abs, static_images_path)
global working_dir, module_path
output_path = working_dir


Offers nice wrapper around functionality of vk::Buffer (See Vulkan documentation)
More...
#include <window.hpp>
Offers nice wrapper around functionality of vk::Buffer (See Vulkan documentation)
Definition at line 285 of file window.hpp.
◆ generic_buffer() [1/3]
| hp::vk::generic_buffer::generic_buffer |
( |
| ) |
|
|
default |
Standard default constructor.
◆ ~generic_buffer()
| hp::vk::generic_buffer::~generic_buffer |
( |
| ) |
|
|
virtual |
Standard virtual destructor.
◆ generic_buffer() [2/3]
Deleted copy constructor. Use the move constructor instead.
- Note
- The standard copy constructor has been deleted. You MUST use the
generic_buffer(generic_buffer &&rhs) noexcept
standard move constructor instead.
◆ generic_buffer() [3/3]
Standard move constructor.
- Parameters
-
| rhs | Right hand side of the copy construction |
◆ flush()
| void hp::vk::generic_buffer::flush |
( |
::vk::DeviceSize |
offset = 0 , |
|
|
::vk::DeviceSize |
size = VK_WHOLE_SIZE |
|
) |
| |
Flush memory so writes are visible to GPU. Writing MUST be active.
Consult vulkan docs for vkFlushMappedMemoryRanges
- See also
- invalidate() generic_buffer::start_write() generic_buffer::stop_write()
- Parameters
-
| offset | Offset (in bytes) of the range of memory to flush (0 by default) |
| size | Size (in bytes) of the region to flush (Uses entire allocation by default) |
◆ get_size()
| size_t hp::vk::generic_buffer::get_size |
( |
| ) |
const |
|
inline |
◆ invalidate()
| void hp::vk::generic_buffer::invalidate |
( |
::vk::DeviceSize |
offset = 0 , |
|
|
::vk::DeviceSize |
size = VK_WHOLE_SIZE |
|
) |
| |
Invalidate memory so GPU writes are visible to CPU. Writing MUST be active.
Consult vulkan docs for vkInvalidateMappedMemoryRanges
- See also
- invalidate() generic_buffer::start_write() generic_buffer::stop_write()
- Parameters
-
| offset | Offset (in bytes) of the range of memory to invalidate (0 by default) |
| size | Size (in bytes) of the region to invalidate (Uses entire allocation by default) |
◆ operator=() [1/2]
Deleted copy assignment operator. Use the move assignment operator instead.
- Note
- The standard copy assignment operator has been deleted. You MUST use the
generic_buffer &operator=(generic_buffer &&rhs) noexcept
standard move assignment operator instead.
◆ operator=() [2/2]
Standard move assignment operator.
- Parameters
-
| rhs | Right hand side of the move assignment operation |
- Returns
- Forwards the
rhs
parameter.
◆ start_write()
| uint8_t * hp::vk::generic_buffer::start_write |
( |
| ) |
|
Map a buffer so it is ready for writing.
- Warning
- Mapped memory IS NOT automatically unmapped! Any call to
start_write()
MUST be accompanied by a call to stop_write()
- Returns
- Pointer to the mapped region
◆ stop_write()
| void hp::vk::generic_buffer::stop_write |
( |
| ) |
|
Unmap a buffer so it is ready for reading and use.
◆ write_buffer() [1/2]
| void hp::vk::generic_buffer::write_buffer |
( |
const void * |
data, |
|
|
size_t |
offset = 0 , |
|
|
size_t |
size = 0 |
|
) |
| |
Write data to a buffer that is eHostVisible
.
This function maps and unmaps the buffer. See void write_buffer(uint8_t *dest, generic_buffer *buf, const void *src, size_t offset = 0, size_t size = 0)
, generic_buffer::start_write()
, and generic_buffer::stop_write()
for explicit mapping/unmapping.
- Note
- This buffer MUST have the memory property
eHostVisible
! Consult vulkan docs.
- Parameters
-
| data | The data to write |
| offset | The index (in bytes) of the buffer at which to start writing. |
| size | The size of the data to write. |
◆ write_buffer() [2/2]
| void hp::vk::generic_buffer::write_buffer |
( |
uint8_t * |
dest, |
|
|
const void * |
src, |
|
|
size_t |
offset = 0 , |
|
|
size_t |
size = 0 |
|
) |
| |
Write data to a buffer with eHostCoherent
and eHostVisible
.
This function DOES NOT map and unmap memory! Memory must be explicitly mapped/unmapped using start_write()
and stop_write()
.
- Parameters
-
| dest | The data to write to. Should be the value returned from hp::vk::generic_buffer::start_write() |
| src | The data to write. |
| offset | The index (in bytes) at which to start writing. |
| size | Size of the data to write. |
◆ index_buffer
◆ shader_program
◆ vertex_bind_info
◆ window
The documentation for this class was generated from the following file:


Overlook
Available seats
Seats overlook
Screen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Reset overlook
Occupied seats


JQuery Form Builder Plugin
Add Field
Field Settings
Form Settings
Standard Fields
Fancy Fields
Language:
English
简体中文
Start adding some fields from the menu on the left.


Tension at Vettithara church
by Special CorrespondentA tense situation prevailed at Mar Michael Church, Vettithara, on Friday following a standoff between the Jacobite and Orthodox factions of the Malankara Church.
A couple of priests and members of the Orthodox faction arrived at the church in the morning, but could not enter the church since members of the Jacobite faction who were present in large numbers on the premises opposed their entry. The Jacobite faction said a recent court order did not specify whether to hand over the church or the key to the church to the rival faction.
The church was established in 1915 by families who opted to separate from their home church at Mamalassery. A couple of priests too had joined the Orthodox faction. The church had remained closed for a year due to the faction feud.
The Jacobite faction reiterated that it would not allow anyone who opposes the existing church committee or the Patriarch of Antioch to enter the church.


|
|
|
|
|
|
Type | Location | Is Side-event? | venue |
|
Actions |
|---|
|
|
{{doc.acronym}} | {{doc.title}} | {{doc.atTable}}/{{doc.capacity}} |
|
{{roomsCtrl.getType(doc.type,'title')}} | {{doc.location}} |
Yes
|
|
| There are 0 rooms for this venue. |


Linkognito demo
First,
install the extension
from the
Chrome Web Store
or on the
Mozilla Add-ons
website.
Then click the following link:
This link will open in a new private browsing window
if the extension is installed.


STRATIV Django Assignment
{{country.name}}
-
Alpha2Code:
{{country.alpha2code}}
-
Capital:
{{country.capital}}
-
Population:
{{country.population}}
-
Timezone:
{{country.timezones}}
-
Neighbouring Countries:
{{country.borders}}
-
Languages:
{{country.languages}}
Go Back to Home Page


{% with event.from_user as user %}
{% if user.image.url %}
{% else %}
{% endif %}
{%endwith%}
{% if event.action = 'vote'%}
{% if event.from_user.id = user.id %}
{% blocktrans with event.from_user as username and event.item.id as itemid and event.item.name as itemname and event.value as value %}
You have voted {{itemname}} with {{value}}.
{% endblocktrans %}
{% else %}
{% blocktrans with event.from_user as username and event.item.id as itemid and event.item.name as itemname and event.value as value %}
{{username}} has voted {{itemname}} with {{value}}.
{% endblocktrans %}
{% endif %}
{% endif %}
{% if event.action = 'add_wishlist'%}
{% if event.from_user.id = user.id %}
{% blocktrans with event.from_user as username and event.item.id as itemid and event.item.name as itemname %}
You added {{itemname}} to your wish list.
{% endblocktrans %}
{% else %}
{% blocktrans with event.from_user as username and event.item.id as itemid and event.item.name as itemname %}
{{username}} added {{itemname}} to his/her watch list.
{% endblocktrans %}
{% endif %}
{% endif %}
{% if event.action = 'add_critic'%}
{% if event.from_user.id = user.id %}
{% blocktrans with event.from_user as username and event.item.id as itemid and event.item.name as itemname %}
You added a critic to {{itemname}}.
{% endblocktrans %}
{% else %}
{% blocktrans with event.from_user as username and event.item.id as itemid and event.item.name as itemname %}
{{username}} added a critic to {{itemname}}.
{% endblocktrans %}
{% endif %}
{% endif %}
{% if event.action = 'add_fave'%}
{% if event.from_user.id = user.id %}
{% blocktrans with event.from_user as username and event.item.id as itemid and event.item.name as itemname %}
You added {{itemname}} as a favourite item.
{% endblocktrans %}
{% else %}
{% blocktrans with event.from_user as username and event.item.id as itemid and event.item.name as itemname %}
{{username}} added {{itemname}} as a favourite item.
{% endblocktrans %}
{% endif %}
{% endif %}
{% if event.action = 'add_friend'%}
{% if event.from_user.id = user.id %}
{% blocktrans with event.from_user as username and event.value as value %}
You added {{value}} as friend.
{% endblocktrans %}
{% else %}
{% blocktrans with event.from_user as username and event.value as value %}
{{username}} added {{value}} as friend.
{% endblocktrans %}
{% endif %}
{% endif %}


Participants need to crack an abstract image which is provided to you at the time of the event. Few clues will be given to them using them they need to crack the image and have to explain the content hidden in the image to the Judges.
₹200 (per team)
Number of persons per team:2
₹150 (individual)
1st Place: ₹7,000
2nd Place: ₹5,000
3rd Place: ₹3,000


| < Day Day Up > |
|
[SYMBOL]
[A]
[B]
[C]
[D]
[E]
[F]
[G]
[H]
[I]
[J]
[K]
[L]
[M]
[N]
[O]
[P]
[Q]
[R]
[S]
[T]
[U]
[V]
[W]
[X]
[Y]
[Z]
wais_relay_host directive wais_relay_port directive WCCP (Web Cache Coordination Protocol) interception caching configuration FreeBSD Linux systems NetBSD OpenBSD wccp_incoming_address directive wccp_outgoing_address directive wccp_router directive wccp_version directive Web caching Web Polygraph, workload file filesystem benchmarks Webalyzer whitespace, Request-URI winbind authentication helper Basic authentication NTLM authentication Windows, Cygwin workload files, Polygraph WPAD (Web Proxy Auto Discovery) proxy configuration |
| < Day Day Up > |


Research and analysis
These reports review how GCSE and A level qualification providers are chosen and how the qualifications’ market might change due to reform.
PDF , 595KB , 23 pages
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
PDF , 1.09MB , 50 pages
If you use assistive technology (such as a screen reader) and need a version of this document in a more accessible format, please email<EMAIL_ADDRESS>. Please tell us what format you need. It will help us if you say what assistive technology you use.
GCSEs, AS and A levels are being reformed. These changes could have implications for the products that exam boards offer and, in turn, the uptake from schools and colleges for those products.
The two reports here look at these issues from different perspectives. Frontier Economics, commissioned by Ofqual, considered whether the reforms to GCSE, AS and A levels might lead to changes in the price and quality of the overall offer of exam boards’ qualifications. They also considered the risks for which Ofqual might need to prepare given those changes. The Ofqual report looks at the purchasing behaviours of schools and colleges. It summarises findings from a survey conducted by Opinion Leader and other available evidence.
In combination, the reports conclude that:
The reports also identify a number of potential risks to the qualifications market depending on how competition evolves as a result of the reforms. These include questions about the marketing strategies of exam boards, the specifications they offer and prices (fees) they charge. We are gathering further evidence about these risks. For example:


Steven: ‘Well, what does this do?’ Doctor: ‘That is the dematerialising control. And that over yonder is the horizontal hold. Up there is the scanner, these are the doors, that is a chair with a panda on it. Sheer poetry, dear boy. Now please stop bothering me.’
— Dennis Spooner, The Time Meddler (a Doctor Who serial, 1965)
A switchable
object is one which can be switched off or
on, usually because it has some obvious button, lever or switch on it.
The object has the attribute on
if it's on, and doesn't
have it if it's off. (So there's no attribute called off
,
just as there's no attribute called closed
.)
The actions SwitchOn
and SwitchOff
allow
the player to manipulate anything which is switchable
.
For example:
Object searchlight "Gotham City searchlight" skyscraper with name 'search' 'light' 'searchlight' 'template', article "the", description "It has some kind of template on it.", when_on "The old city searchlight shines out a bat against the feather-clouds of the darkening sky.", when_off "The old city searchlight, neglected but still functional, sits here." has switchable static;
Something more portable would come in handy for the explorer of ‘Ruins’, who would hardly have embarked on his expedition without a decent lamp:
Object sodium_lamp "sodium lamp" with name 'sodium' 'lamp' 'heavy', describe [; if (self has on) "^The sodium lamp squats on the ground, burning away."; "^The sodium lamp squats heavily on the ground."; ], battery_power 100, before [; Examine: print "It is a heavy-duty archaeologist's lamp, "; if (self hasnt on) "currently off."; if (self.battery_power < 10) "glowing a dim yellow."; "blazing with brilliant yellow light."; Burn: <<SwitchOn self>>; SwitchOn: if (self.battery_power <= 0) "Unfortunately, the battery seems to be dead."; if (parent(self) hasnt supporter && self notin location) "The lamp must be securely placed before being lit."; Take, Remove: if (self has on) "The bulb's too delicate and the metal handle's too hot to lift the lamp while it's switched on."; ], after [; SwitchOn: give self light; SwitchOff: give self ~light; ], has switchable;
The ‘Ruins’ lamp will eventually be a little more complicated, with a daemon to make the battery power run down and to extinguish the lamp when it runs out; and it will be pushable from place to place, making it not quite as useless as the player will hopefully think at first.
▲
The reader may be wondering why the lamp needs to use a describe
routine to give itself a description varying with its condition: why
not simply write the following?
when_off "The sodium lamp squats heavily on the ground.", when_on "The sodium lamp squats on the ground, burning away.",
The answer is that when_on
and when_off
properties, like initial
, only apply until an object
has been held by the player, after which it is normally given only a
perfunctory mention in room descriptions.
“You can also see a sodium lamp here.” As the describe
property has priority over the whole business of how objects are described
in room descriptions, the above ensures that the full message always
appears even if the object has become old and familiar. For much more
on room descriptions, see §26.
•
REFERENCES
The original switchable object was the brass lamp from ‘Advent’,
which even provides verbs “on” and “off” to
switch it.
•Jayson Smith's library extension
"links.h" imitates a set of gadgets found in Andrew
Plotkin's game ‘Spider and Web’. In this scheme, “linkable”
machines only work when linked to “actuators”, which are
switches of different kinds (remote controls, attachable push-buttons
and so on).


Courses Taken at Logos
- PE
Disappear
- Algebra 2
Begone
- Bible 10
Shoo
- Science 10
Poof
- Drama
Adios
- Web Design
Vanish
- Khmer 3
Swoosh
- History 10
Hide
Back to Home
Worldview
Interests


WITNESS LIST Civil Practices Committee March 18, 1997-4:00P HB 95 For: Nixon, Joe (author of bill) Against: Hampton, Hartley (TTLA & self) Slack, Mike (TTLA & self) On: Brister, Scott (self) Registering, but not testifying: For: Freeman, Harold (Tex. Medical Assn.) Grigsby, Anthony (Tex. Civ. Justice Lg.) Kamm, Robert (Tx. Assn. of Bus. & CC) Trabulsi, Jr., Richard (TLR & self) Welsh, Dinah (Tex. Hospital Assn.) White, Michael (Gr. Houston Partnership) HB 172 For: Curlee, Durward (Tx. Assoc. Gen. Contr.) Nixon, Joe (author of bill) On: Cain, Delmar (Tx. A&M General Counsel) Herrera, Nelly (Attorney General's Off.) Reynolds, Carl (Tx. Bd. Crim. Justice) Templeton, Bobbie F. (Tx. Dept. of Trans.) Registering, but not testifying: For: Lancaster, David (Tx. Soc. of Architects) HB 657 For: Craddick, Tom (author of bill) Donaldson, Vaughn (self) On: Tabor, Paul A. (Tx. Dpt. of Health/self) Weatherall, Gene (Tx. Dpt. of Health/self) HB 1425 For: Dunnam, Jim (author of bill) Against: Hampton, Hartley (TTLA) On: Vance, Bill (self) HB 1477 For: Bonnen, Dennis (author of bill) Grove, Lloyd (TCPIA) Huxel, Robert C. (Tx. Assn. of In. Agents) Nichols, Ron (State Farm & TCPIA) Shawn, Jim (TCPIA) Zapp, Jr., Lee Otis (self/TCPIA/GWAC) Registering, but not testifying: Against: Slack, Mike (TTLA) HB 1543 For: Brimer, Kim (author of bill) On: Borella, Larry (TX Railroad Commission) Loudermilk, Brenda (Attorney General's Ofc) HB 1657 For: Gallego, Pete (author of bill) Registering, but not testifying: For: Allison, Jim (Cty Judges & Comm._Assn) Igo, Shanna (Tx. Municipal League) On: Herrera, Nelly (Attorney General's Off.) HB 2533 For: Hightower, Allen (Author of bill) HB 2664 For: Langford, David_K. (self & Tx. Wldlf. Assn.) Turner, Bob (author of bill) HCR 96 For: Bonnen, Dennis (Author of Bill)


Generated at 08/12/2020 18:48:28 by DelphiCodeCoverage - an open source tool for Delphi Code Coverage.
Aggregate statistics for all modules
| Unit Name | Number of covered lines | Number of lines (which generated code) | Percent(s) covered |
|---|---|---|---|
| Horse | 82 | 147 | 55% |
| Horse.Commons | 2 | 19 | 10% |
| Horse.Core | 85 | 436 | 19% |
| Horse.Core.RouterTree | 167 | 213 | 78% |
| Horse.Exception | 0 | 80 | 0% |
| Horse.HTTP | 52 | 86 | 60% |
| Horse.Provider.Console | 0 | 30 | 0% |
| Horse.WebModule | 18 | 23 | 78% |
| Aggregated for all units | 406 | 1034 | 39% |


Explanation of Expected Goals and why we show Standard Deviation.
Get values for the current seasons of the EPL and MLS to use in this simulator.


Funnels are used to analyze conversion rate from one step to another. The final conversion rate is shown at the top. To see specific users and their event timelines from any step in the funnel, click on the section of the funnel you’re interested in.
{{collapse ? "Show Tip" : "Hide Tip"}}


Drive Me Crazy * * (out of * * * * )
Directed by John Schultz. Cast: Melissa Joan Hart, Adrian Grenier, Mark Webber, Keri Lynn Pratt, Ali Larter, Susan May Pratt, Gabriel Carpenter, Kris Park, Stephen Collins, Faye Grant, Mark Metcalf, William Converse-Roberts. 1999 - 95 minutes Rated PG-13 (for profanity and sexual innuendo). Reviewed by Dustin Putman, October 3, 1999.
If 1999 should go down in movie history for anything, it shouldn't be for the eagerly-awaited release of "Star Wars, Episode 1: The Phantom Menace" because, let's face it, people didn't seem to care about the film after they had seen how mediocre it really was. And although one of the year's few true masterpieces, it shouldn't be for Stanley Kubrick final motion picture, "Eyes Wide Shut," because it was overhyped and generally disappointed the average moviegoer expecting a sex-filled romp instead of the slow, contemplative "art" film it really was. No, what 1999 should be known for is the full-blown explosion of that timeless genre known as the "teen" movie. As is the case, not all were very good (the vapid "She's All That," the empty "Varsity Blues"), but some turned out to be the best since John Hughes, circa the mid-1980's ("The Breakfast Club," "Sixteen Candles," "Pretty in Pink"), such as the brilliant satire, "Election," the smart "10 Things I Hate About You," the instant teen classic, "American Pie," and the slick "Cruel Intentions." All were released this past Spring or Summer, so John Schultz's "Drive Me Crazy," a sort of "She's All That" reversal, at least holds the distinction of being the sole "teen" movie of the Fall.
Based on the book, "How I Created My Perfect Prom Date," by Todd Strasser, the film version is in limbo between the successful "teen" movies, and the not-so-successful. On its side is an occasionally adept screenplay and two likable characters that are more appealing than the story they have been stranded in. On the other side of the spectrum, "Drive Me Crazy" faithfully follows the same stringent formula that most of these movies have, and it is instantly forgettable due to its own stubborn banality, and the inability to have many distinguishable qualities among the large crop of similar films.
The premise goes like this: Nicole Maris (Melissa Joan Hart), one of the most popular seniors at Timothy Zonin High School, is in the middle of preparing the big Centennial Dance, the 100-year anniversary of the school. She has her close eye on the star of the basketball team, Brad (Gabriel Carpenter), but when he falls for someone else, Nicole finds herself dateless for the dance. That's where her next-door neighbor and fellow classmate, Chase Hammond (Adrian Grenier), comes into the picture. A rebellious slacker type, Chase and Nicole used to be best friends until they hit middle school and drifted apart into their differing cliques, but now Nicole wants his help, and since his own girlfriend, Dulcie (Ali Larter), has just dumped him, he accepts. Buying him a whole new, stylish wardrobe, Chase starts to hang out with Nicole at school functions and her group of friends, and to his own surprise, he begins to enjoy it, including the company of Nicole. In the process, however, Chase seems to little-by-little forget about his old group of buddies, who are left waiting in the wings. Complications ensue, some truths will be spoken, the Centennial Dance arrives at the climax, and no awards will be given out to those who can guess how everything is sure to turn out.
If Chase had been paid by Nicole, "Drive Me Crazy" would almost be a carbon copy of 1987's "Can't Buy Me Love," a more-sappy, but also more satisfying, "teen" picture. Without that added gimmick, however, the storyline is easier to swallow and graciously spares us a lot of melodramatic speeches that plagued "Can't Buy Me Love."
In her very first starring role in a feature film, Melissa Joan Hart (TV's "Sabrina, The Teenage Witch") is one of the most engaging and fresh young actresses to appear in any of this year's "teen" movies, second to only the wonderful Julia Stiles in "10 Things I Hate About You." Beautiful in a non-Hollywood type of way, Hart is refreshingly not pencil-thin, has lots of freckles on her face, and her more normal physical appearance only helps the film so that you can easily identify with her, much like Jason Biggs did for "American Pie." Not only that, but Hart really is a fine actress that definitely has an acting future ahead of her, as she never mugs for the camera or uses exaggerated body language to express her emotions.
Adrian Grenier, last seen in the independent "coming-of-age" film, "The Adventures of Sebastian Cole," is well-cast to play off of Hart, and together they have a certain amount of winning chemistry. Better yet, in his scenes in which he is apart from Hart, Grenier is natural and instinctive, so good he very rarely ever appears to be acting much at all.
If there is one aspect of "Drive Me Crazy" that screenwriter Rob Thomas gets exactly right, it is in his view of teenagers, and the relationships between the different cliques in school. The popular group are pleasingly not looked upon as easy stereotypes, and are seldom portrayed as the one-dimensional bad guys that so many films of this ilk fall victim to (paging "She's All That").
For the most part, a few of the supporting performances should be pin-pointed for the way they are able to create added levels to their characters, particularly Mark Webber, as one of Chase's friends who is carrying on a relationship via the internet with a mystery person from the school, and Keri Lynn Pratt, as Dee-Vine, a fellow classmate who got her nickname before she lost 40 lbs. Pratt, especially, is one of the most charming performers I've come across in many-a-moons, and her character is both instantly appealing and even poignant in one of the best scenes in the film, in which she is verbally assaulted and put down because of her past weight problem.
The film is also often visually impressive, signalling unusually high production values for a clearly low-budget effort. A quiet, effective sequence between Nicole and her estranged father (Stephen Collins) is absolutely stunning, as it takes place on a hot-air ballon, high above the gorgeous green landscape. Several of the song choices, on the other hand, are far too teenybopperish, including Britney Spears' tune that the film was even named after. If anything, Spears' relation to the picture should aid the picture financially. Tellingly, my friend and I, both in our first year of college, instantly felt like elder statesmen once we set foot in the theater, overrun with middle school girls who giddily sang along to Spears and The Backstreet Boys, one of which went as far as to use hand motions as she belted out the songs!
"Drive Me Crazy" is enjoyable on a minor level, and nothing more. It is fun to watch simply for Hart and Grenier, but its one fatal flaw is its own needlessly generic nature. Aside from a couple scenes in which the film deals with domestic issues within families, and the way kids sometimes drift apart the older they get, the film is little more than adequate, not a total washout, but nothing that hasn't been recycled a thousand times before, and done more ambitiously.
- Copyright 1999 by Dustin Putman
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


How do I skip past a random act that I don't want to do?
For right now, you would just go ahead and click the "generate" button again. This will refresh the generator and provide you a new random act of kindness. We are working on having a "skip" button in future versions so it will not come back to you.
Can I enter my own acts of kindness?
Yes! We encourage everyone to add random acts of kindness into our generator! If there is something special you enjoy doing for others, please add it!
What are the benefits of doing an act of kindness?
Not only will it brighten your day and make you feel good about yourself, but it will help someone else in the community.
Is there a way to use the Random Acts Generator without logging in?
Unfortunately, the only way to operate the generator is to log in.
Do the acts of kindness cost money?
Some of them can cost money and some of them are free. If you get an act of kindness that costs outside of your budget, you can just click the generate button and obtain a new one!
Is there a point system in place for each act of Kindness that we do?
We do not reward acts of kindness with prizes or reward points. We belive everyone should give back to the community out of the love in their hearts.
How do I report my acts of kindness?
If you would like to share your act of kindness, please feel free to contact us!
What if I don’t finish the act of kindness I signed up for, do I get penalized?
There is no pentalty for not finishing your act of kindness. All we ask of you is that you do your best.
Is there a t-shirt, badge, or hat we get in the mail for signing up, I don’t want the police being called on me for trying to help someone cross the street?
Unfortunately, we do not provide any type of uniform. It is best practice to ask the person if they would like for you to do your act of kindness with them (helping them cross the street).


Play around with the inputs and observe the outputs for the eight functions below. As you do so, make notes in your notebook about the following questions:
- What do you notice about the relationship between the input and the output?
- What do you wonder about these relationships?


Thoughts On Programming
Interesting thoughts from /u/drawkbox that sort of remind me of the ‘The Zen of Python’.
“Programmers with lots of hours of maintaining code eventually evolve to return early, sorting exit conditions at top and meat of the methods at the bottom.
Same way you evolve out of one liners.
Same way comments are extra weight that should only be in public or algorithm/need to know areas.
Same way braces go on the end of the method/class name to reduce LOC.
Same way you move on from heavy OO to dicts/lists.
Same way you go more composition instead of inheritance.
Same way while/do/while usually fades away, and if needed exit conditions.
Same way you move on from single condition bracket-less ifs. (debatable but more merge friendly and OP hasn’t yet)
Same way you get joy deleting large swaths of code.
and many others on and on.
Usually these come from hours of writing/maintaining code and styles that lead to bugs.”


Source code for pyproct.tools.commonTools
'''
Created on 16/03/2012
@author: victor
'''
import sys
[docs]def merge_files(file_handler_list, merged_handler, verbose = True):
"""
Merges the files which are in the file_handler_list to write them, line per line,
into the merged_handler in the same order that have in the array.
@param file_handler_list: An array with the file handlers of the files to merge.
@param merged_handler: The handler of the output file with all the input files merged.
@param verbose: If true it will print a line every time a file is processed.
"""
total_files = len(file_handler_list)
current_file = 1
if verbose:
print ""
for f in file_handler_list:
if verbose:
print "Processing file",current_file,"of",total_files
for line in f:
merged_handler.write(line)
current_file = current_file +1
[docs]def gen_consecutive_ranges(num_elems_1,num_elems_2):
"""
Generates two consecutive ranges from 0 to num_elems_1-1 and from num_elems_1 to
num_elems_1+num_elems_2 -1 .
@param num_elems_1: Number of elements of the first range.
@param num_elems_2: Number of elements of the second range.
@return: The two ranges
"""
return range(num_elems_1),range(num_elems_1,num_elems_1+num_elems_2)
[docs]def print_and_flush(this_string, handler = sys.stdout):
"""
Prints a string to an opened file handler and makes a flush to ensure it's written.
@param this_string: The string to be written.
@param handler: The file handler to write in.
"""
handler.write(this_string)
handler.flush()
[docs]def convert_to_utf8(my_input):
"""
Recursively encodes all strings of an input dictionary as UTF-8. Useful to eliminate unicode strings.
@param my_input: A dictionary object.
@return: Encoded dictionary.
"""
if isinstance(my_input, dict):
return {convert_to_utf8(key): convert_to_utf8(value) for key, value in my_input.iteritems()}
elif isinstance(my_input, list):
return [convert_to_utf8(element) for element in my_input]
elif isinstance(my_input, unicode):
return my_input.encode('utf-8')
else:
return my_input


TODO: one day, revise this code to follow the paper implementation more closely
(e.g. using the Lanczos method based on power method) and improvements since the publication.
A hierarchical segmentation method that determines graph cuts
which maximize the difference between regions and minimize the differences
within a region using
cuts normalized by associations between adjacent regions.
implementation of the algorithm of
"Normalized Cuts and Image Segmentation"
by Jianbo Shi and Jitendra Malik
grouping algorithm:
1. Given an image or image sequence, set up a
weighted graph G(V; E) and set the weight on
the edge connecting two nodes to be a measure of
the similarity between the two nodes.
2. Solve (D - W)*x = lambda*D*x for eigenvectors with the
smallest eigenvalues.
(NOTE from mmds.org book chap 10, is that since the Laplacian is symmetric, the
2nd smallest value is the minimum of x^T * L * x where x is [x1, x2, . . . , xn]
is a column vector with n components, and the minimum is taken under the constraints:
the length of x = 1 (ie. sum of (x_i)^2 = 1), and x is orthogonal to the
eigenvector associated with the smallest eigenvalue (which is eigenvalue=0 and eigenvector
is all 1's).
3. Use the eigenvector with the second smallest
eigenvalue to bipartition the graph.
NOTE: The second smallest eigenvalue of D-W is sometimes known as the Fiedler value.
4. Decide if the current partition should be subdivided
and recursively repartition the segmented parts if
necessary
Much of the logic here is adopted from the scipy skimage
implementation of normalized cuts.
https://github.com/scikit-image/scikit-image/blob/master/skimage/future/graph/
The skimage API license is at
https://github.com/scikit-image/scikit-image/blob/master/LICENSE.txt
and is:
---begin scipy license ----
Copyright (C) 2011, the scikit-image team
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
3. Neither the name of skimage nor the names of its contributors may be
used to endorse or promote products derived from this software without
specific prior written permission.


I have been investing in the stock market since the fall of 2012 and my interest in all things related has been growing steadily ever since.
In early 2014 I started listening to poddcasts discussing the subject and one of the ones I grew fond of was Sparpodden. In the early epsiodes of this poddcast one of the participatns was called Günther Mårder and he described how he saw life. According to his view life was built on three pillars: The personal pillar, the professional pillar and the financial pillar. The fact that the possible yield is larger the more risk you take is true for all of these pillars and the total risk in your life is a sum of how much risk you currently are takeing in each of the pillars. I find this model of life quite good and applicable.
In order for a person to feel successful that person needs to be somewhat accomplished on all pillars and have at least one pillar that stands out.
Given this model the main focus of this post should be the financial piller that is why I will start with brief looks at the other two pillars.
As far as I can tell this pillar is very solid, I am happily married, have a good bunch of close friends that I feel I can rely on and great relationships with both my parents and my wifes parents. The amount of risk I currently taking on this pillar is almost negligible.
I am currently working as a consulting webdeveloper via one of the larger consultancy firms in sweden. The demand for the services we suply seem quite solid at the moment and the last time I was looking for job it took less than a week to get my first offer. The combination of my solid education and how the market for web developers have been developing the last five years make me quite confident that I will be able to find a new job if I should need on.
I would say that the risk in my professional pillar is quite low as well at the moment.
With the other two pillars being so solid I feel I can afford to amp up the risk in my investments. Another fact making me comfortable with investing with high risk is the fact that I am 29 years old and I am probalby going to be working for 40-50 years more, if I where to loose my entire life savings today it still would be a quite small portion of all the money I am going to handle through out my life.
For the time being I view my investing as a hobby, it is something I "spend" money on. I do not invest any money I need for my day to day life and I do not intend to use the money in my investments for anything but neew investments during the next 5-10 years.
I mainly invest in smaller companies working in technology or medicine. The reason I focus on those two fields is that I feel like I have a bit of an understanding of how they work. At my previous job I was working with developing software for the pharma-industry. I got to work with several companies in a wide range of sizes. From small companies conducting one phase II study for a single product hoping to be bought by one of the large ones to the actual large ones.
Nowadays I try to make my investments as soon as I make the decision. I do this for two reasons:
I still think that timeing is a good way to improve your performance and I am trying to analyze and learn so that in the future I might become good at timeing.
I am very unsure about which direction the market will take when the summer come to an end. So I intend to reduce my risk at least a little bit over the coming weeks. And at least in theory I really like the concept of a dividend yielding money making machine that just keeps churning. But I feel like a lot of the stocks I would put in such machine are priced very high at this moment.


Sauce:
Mango Chutney
Ingredients: ...
Instructions: ...
Sauce:
Some other sauce
Ingredients: ...
Instructions: ...


Prevel
Menu
Profile
Travel
Review
Findcrew
Login
Write your trip review
Trip Name
Province
Location
How many people who go for this trip
1
2
3
4
5
6
7
8
9
10
more than 10
Who do you go wuth ?
Adult
Children
Older
How much money for each person
$
610
- $
980
Please tell us about your trip
Select Image File to Upload:
Post


---
layout: post
title: ESP8266 JTAG Debugging in Visual Studio with Segger J-Link and Sysprogs VisualGDB
date: '2017-02-11T05:50:00.002-08:00'
author: gojimmypi
tags:
- Olimex
- OpenOCD
- JTAG
- Visual Studio
- GDB
- Segger
- Mouser
- Debug
- Embedded Debugging
modified_time: '2017-02-11T05:50:48.415-08:00'
thumbnail: https://3.bp.blogspot.com/-di8zzYdPcnY/WJ77PBwNPtI/AAAAAAAAAFI/6OAhSwnd8xYxK8pu5kU3Kc0-kHScSB6bACLcB/s72-c/Segger%2BModels.PNG
blogger_id: tag:blogger.com,1999:blog-4109066286647243251.post-1796754836754793802
blogger_orig_url: https://gojimmypi.blogspot.com/2017/02/esp8266-jtag-debugging-in-visual-studiosegger.html
---
My go-to development tool so far for the ESP8266 is still the Visual Micro add-in for Visual Studio
. It is however a pure software environment, that supports breakpoints, but in a different way. It is also a little odd in the way that it uses the Arduino environment - yes, in Visual Studio. But it works. Reliably. Consistently.
With my newfound confidence in
getting J-Tag debugging working with the Olimex ESP8266 I decided to revisit the first unit I bought - the Segger J-Link
.
Let's first start by noticing the ESP8266 is nowhere to be found on
the Segger supported device list page
. But it is a standard JTAG device that when adhering to standards, Should work, no? Besides, I always enjoy a challenge.
It is cool Segger has an EDU (Educational) version for only $60(USD). A large discount over their base unit of $378, and massive discount compared to their $1000 J-Link Pro, (with of course different capabilities). Here's a screen snip from their web site comparing versions. (or visit
the Segger Model Overview page
for a more detailed comparison).
I really like that the EDU version is available to any hobbyist, not just students - just provided that you are not using it to make a commercial product for profit.
Segger explains more on the terms of the EDU version on their web site.
One thing to note is that there's no support other than forum questions.
The
Olimex ARM-USB-OCD-H/ unit is also available for about $60 from Mouser Electronics
- but they do not appear to have other more advanced units with more features. The Segger with Ethernet could be a really cool device to have one day....
So yes, I'm over $120 into a couple of hardware debuggers that I intend to use with a $3 ESP8266.
I first tried connecting my Segger to a NodeMCU with no success. VisualGSB seemed happy with the JTAG interface at project setup / test time, but not when actually programming.
For an easy increment step - I'll revisit prgramminh the
$9 Olimex ESP8266 EVB shown in the SysProgs VisualGDB ESP8266 Tutorial
, using the same pins:
The first thing that was immediately obvious, is that I like the Olimex having its own 5V power supply for their EDP8266 EVB board. The Segger does not have a power supply connector, however on page 420 of
the J-Link manual - "Pin 19 of the connector can be used to supply power to the target hardware. Supply voltage is 5V, max. current is 300mA. The output current is monitored and protected against overload and short-circuit. Power can be controlled via the J-Link commander
". I could not find the specs on the ESP8266-EVB (surely it is less than 300mA, eh?) - but I used a separate power supply for the Olimex ESP8266-EVB.
For reference: Pages 418 and 419 of the Segger manual* shows this table of JTAG pin definitions:
* (I've requested permission from Segger to include this)
As noted in my previous blog, I am following the
Syslogs VisualGDB ESP8266 OpenOCD tutorial.
Success! The Segger *does* work in the same way as the Olimex ARM-USB-OCD-H to debug the ESP8266 - but my target is still the Olimex ESP8266-EVB. I really want to get debugging working on the NodeMCU
as noted in this long and winding forum topic
.
Copyright (c) gojimmypi all rights reserved. Blogger Image Move Cleaned: 5/3/2021 1:35:50 PM


Deleting a Site Alias
How to delete a site alias, also known as a HTTP alias, from a site using the Site Alias module. Once an alias has been deleted, the name of the site alias can then be reused if required. Restricted to SuperUsers only.
- Navigate to Host > Site Management and click the Edit button beside the title of the required site - OR - Navigate to Admin > Site Settings.
- Select the Advanced Settings tab.
- Expand the Site Aliases section.
- In the Manage Alias(es) list, click the Delete button beside the alias to be deleted. This displays the message "Are You Sure You Wish To Delete This Item?"
-


{%load static %} {% include 'inc.html' %}
Dashboard
Dashboard
Feedback
Form
{%csrf_token%}
Enter Your Feedback
All Feedbacks Are Anonymous


BC Developers Exchange
How does government collaborate with the BC Technology Sector to innovate on digital products and services? This was the question behind the idea that sparked the BC Developers’ Exchange (DevExchange). DevExchange’s focus was to grow the tech sector, and to do so, it was clear that BC’s digital resources need to be made available in ways that tech companies can use. So DevExchange is being co-created with the tech sector and with public sector organizations. The work is being done in the open, on the internet, using the language that software developers understand: gitHub, agile SCRUM methodologies, rapid prototyping, open data, APIs and cloud computing.
Contact: Todd Wilson @kelpisland on GitHub
> Impact
The DevExchange now acts as a sort of “living lab” for learning how to use modern approaches. Over time, tech companies are starting to use B.C public sector digital resources in their own product innovations, and conversely, the B.C. Public sector is starting to improve its own services by collaborating with the tech sector.
> Partner
GCPE Service Design Team
Resources Used
DevOps Pathfinder, Service Design Playbook, Agile Guidebook
Tags
#devops #agile #cloud #opendata
> Code
https://github.com/BCDevExchange/BCDevExchange-app