Config Tutorial¶
The config module defines the AntGraph
class.
The basic idea is to represent any directed acyclic graph (DAG) of higher level tensorflow operations
in a condensed and visually readable format. Here is a picture of a DAG of operations
derived from it’s representation in .config format:
Here are contents of the corresponding .config file:
dotproduct x_dot_y()
-all_user dnn([$kfactors,$kfactors,$kfactors], activation='tanh',bn=True,keep_prob=None)
--tanh_user tf.nn.tanh()
---merge_user concat($kfactors)
----huser lookup(dataname='user', initrange=$initrange, shape=[None, $kfactors])
----hage dnn([$kfactors,$kfactors,$kfactors],activation='tanh',bn=True,keep_prob=None)
-----agelookup embedding()
------age placeholder(tf.float32)
------user placeholder(tf.int32)
----hsex dnn([$kfactors,$kfactors,$kfactors],activation='tanh',bn=True,keep_prob=None)
-----sexlookup embedding()
------sex_weights weights('tnorm', tf.float32, [2, $kfactors])
------sexes embedding()
-------sex placeholder(tf.int32)
-------user placeholder(tf.int32)
----hocc dnn([$kfactors,$kfactors,$kfactors],activation='tanh',bn=True,keep_prob=None)
-----occlookup embedding()
------occ_weights weights('tnorm', tf.float32, [21, $kfactors])
------occs embedding()
-------occ placeholder(tf.int32)
-------user placeholder(tf.int32)
----hzip dnn([$kfactors,$kfactors,$kfactors],activation='tanh',bn=True,keep_prob=None)
-----ziplookup embedding()
------zip_weights weights('tnorm', tf.float32, [1000, $kfactors])
------zips embedding()
-------zip placeholder(tf.int32)
-------user placeholder(tf.int32)
----husertime dnn([$kfactors,$kfactors,$kfactors],activation='tanh',bn=True,keep_prob=None)
-----time placeholder(tf.float32)
-all_item dnn([$kfactors,$kfactors,$kfactors], activation='tanh',bn=True,keep_prob=None)
--tanh_item tf.nn.tanh()
---merge_item concat($kfactors)
----hitem lookup(dataname='item', initrange=$initrange, shape=[None, $kfactors])
----hgenre dnn([$kfactors,$kfactors,$kfactors],activation='tanh',bn=True,keep_prob=None)
-----genrelookup embedding()
------genre placeholder(tf.float32)
------item placeholder(tf.int32)
----hmonth dnn([$kfactors,$kfactors,$kfactors],activation='tanh',bn=True,keep_prob=None)
-----monthlookup embedding()
------month_weights weights('tnorm', tf.float32, [12, $kfactors])
------months embedding()
-------month placeholder(tf.int32)
-------item placeholder(tf.int32)
----hyear dnn([$kfactors,$kfactors,$kfactors],activation='tanh',bn=True,keep_prob=None)
-----yearlookup embedding()
------year placeholder(tf.float32)
------item placeholder(tf.int32)
----htfidf dnn([$kfactors,$kfactors,$kfactors],activation='tanh',bn=True,keep_prob=None)
-----tfidflookup embedding()
------tfidf_doc_term placeholder(tf.float32)
------item placeholder(tf.int32)
----hitemtime dnn([$kfactors,$kfactors,$kfactors],activation='tanh',bn=True,keep_prob=None)
-----time placeholder(tf.float32)
-ibias lookup(dataname='item', shape=[None, 1], initrange=$initrange)
-ubias lookup(dataname='user', shape=[None, 1], initrange=$initrange)
The lines in the .config file consist of a possibly empty graph marker, followed by a node name, followed by a node function call. We will discuss each of these in turn.
Terms¶
Node description: A line in a .config file
- Graph marker: A character or sequence of characters that delimits graph dependencies. Specified by the graph marker parameter
- for the constructor to AntGraph. By default ‘-‘.
Node name: The first thing on a line in a .config file after a possibly empty sequence of graph markers and possible whitespace.
- Node function: A function which takes as its first argument a tensor or structured list of tensors, returns
- a tensor, or structured list of tensors, and has an optional name argument.
Node function call: The last item in a node description.
Graph Markers¶
In the .config file depicted above the graph marker is ‘-‘. The graph markers in a .config file define the edges of the DAG. Lines in a .config file with no graph markers represent nodes with outorder = 0. These are the ‘roots’ of the DAG. The graph representation in .config format is similar to a textual tree or forest representation, however, multiple lines may refer to the same node. For each node description of a node, there is an edge from this node to the node described by the first line above of this node description that has one less graph marker.
Node Names¶
The next thing on a line following a possibly empty sequence of graph markers is the node name. Node names are used for unique variable scope of the tensors created by the node function call. The number of nodes in a graph
is the number of unique
node names in the .config file.
Examples¶
The best way to get a feel for how to construct a DAG in this format is to try some things out. Since node function calls have no bearing on the high level structure of the computational graph let’s simplify things and omit the node function calls for now. This won’t be acceptable .config syntax but it will help us focus on the exploration of this form of graph representation.
Here is a .config file minus the function calls (notice the optional whitespace before graph markers):
dotproduct
-huser
-hitem
-ibias
-ubias
Save this content in a file called test.config. Now in an interpreter:
>>> from antk.core import config
>>> config.testGraph('test.config')
This image should display:
Now experiment with test.config to make some more graphs.
1 2 3 4 5 6 7 8 | dotproduct
-huser
--hitem
-ibias
--hitem
-ubias
--hitem
-hitem
|
Note
Repeated Node Names Graph traversal proceeds in the fashion of a postorder tree traversal. When node names are repeated in a .config file, the output of this node is the output of the node description with this name which is first encountered in graph traversal. So, for the above example .config file and its corresponding picture below, the output of the hitem node would be the output of the node function call (omitted) on line 3. The order in which the nodes are evaluated for the config above is: hitem, huser, ibias, ubias, dotproduct.
dotproduct
-huser
--hitem
-ibias
--hitem
-ubias
--hitem
-hitem
a
b
c
d
Warning
Cycles: ANTk is designed to create directed acyclic graphs of operations from a config file, so cycles are not allowed. Below is an example of a config setup that describes a cycle. This config would cause an error, even if the node function calls were made with proper inputs.
hitem
-huser
--hitem
-ibias
--hitem
-ubias
--hitem
-hitem
Node Functions¶
The first and only thing that comes after the name in a node description is a node function call. Node functions always take tensors or structured lists of tensors as input, return tensors or structured lists of tensors as output, and have an optional name argument. The syntax for a node function call in a .config is the same as calling the function in a python script, but omitting the first tensor input argument and the name argument. The tensor input is derived from the graph. A node’s tensor input is a list of the output of it’s ‘child’ nodes’ (nodes with edges directed to this node) function calls. If a node has inorder = 1 then its input is a single tensor as opposed to a list of tensors of length 1.
Any node functions defined in node_ops may be used in a graph, as well as any tensorflow functions which satisfy the
definition of a node function. For tensorflow node function calls ‘tensorflow’ is abbreviated to ‘tf’.
User defined node functions may be used in the graph when specified by the optional
arguments function_map, and imports, to the AntGraph
constructor.
The node name is used for the optional name argument of the node function.
The AntGraph object¶
To use a .config file to build a tensorflow computational graph you call the AntGraph
constructor with the
path to the .config file as the first argument, and some other optional arguments. We’ll make the multinomial logistic
regression model from tensorflow’s basic MNIST tutorial, and then extend this model to a deep neural network
in order to demonstrate how to use a .config file in your tensorflow code.
Create a file called antk_mnist.py and start off by importing the modules and data we need.
1 2 3 4 5 | import tensorflow as tf
from antk.core import config
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)
|
We’ll need a config file called logreg.config with the content below:
pred mult_log_reg(numclasses=10)
-pixels placeholder(tf.float32)
Notice that we didn’t specify any dimensions for the placeholder pixels. We need to hand a dictionary with keys corresponding to placeholders with unspecified dimensions, and values of the data that will later get fed to this placeholder during graph execution. This way the constructor will infer the shape of the placeholder. This practice can help eliminate a common source of errors in constructing a tensorflow graph. To instantiate the graph from this config file we add to antk_mnist.py:
6 7 8 9 | with tf.name_scope('antgraph'):
antgraph = config.AntGraph('logreg.config', data={'pixels': mnist.test.images})
x = antgraph.placeholderdict['pixels']
y = antgraph.tensor_out
|
There are three accessible fields of a AntGraph
object which contain tensors created during graph construction from
a .config file:
tensordict
: a python dictionary of non-placeholder tensors.placeholderdict
: a python dictionary of placeholder tensors.tensor_out
: The output of the nodes of the graph with outorder 0 (no graph markers).
Note that we could replace line 9 above with the following:
9 | y = antgraph.tensordict['pred']
|
We can now complete the simple MNIST model verbatim from the tensorflow tutorial:
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | y_ = tf.placeholder(tf.float32, [None, 10])
cross_entropy = -tf.reduce_sum(y_*tf.log(y))
train_step = tf.train.GradientDescentOptimizer(0.01).minimize(cross_entropy)
correct_prediction = tf.equal(tf.argmax(y, 1), tf.argmax(y_, 1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
# tensorboard stuff
accuracy_summary = tf.scalar_summary('Accuracy', accuracy)
session = tf.Session()
summary_writer = tf.train.SummaryWriter('log/logistic_regression', session.graph.as_graph_def())
session.run(tf.initialize_all_variables())
for i in range(1000):
batch_xs, batch_ys = mnist.train.next_batch(100)
session.run(train_step, feed_dict={x: batch_xs, y_: batch_ys})
acc, summary_str = session.run([accuracy, accuracy_summary], feed_dict={x: mnist.test.images,
y_: mnist.test.labels})
summary_writer.add_summary(summary_str, i)
print('epoch: %f acc: %f' % (float(i*100.0)/float(mnist.train.images.shape[0]), acc))
|
If we let antk_mnist.py take a command line argument for a .config file we can use antk_mnist.py with any number of .config files expressing arbitrarily complex architectures. This will allow us to quickly search for a better model. Let’s use the argparse module to get this command line argument by adding the following lines to antk_mnist.py.
import argparse
parser = argparse.ArgumentParser(description="Model for training arbitrary MNIST digit recognition architectures.")
parser.add_argument("config", type=str,
help="The config file for building the ant architecture.")
args = parser.parse_args()
Now we change the former line 7 to:
antgraph = AntGraph(args.config, data={'pixels': mnist.dev.images})
We could try a neural network with nnet_mnist.config:
pred mult_log_reg(numclasses=10)
-network dnn([100,50,10], activation='tanh')
--pixels placeholder(tf.float32)
This should get us to about .94 accuracy. We might want to parameterize the number of hidden nodes per hidden layer or the activation function. For this we can use some more command line arguments, and the config file variable marker ‘$’.
First we change nnet_mnist.config as follows:
pred mult_log_reg(numclasses=10)
-network dnn([$h1, $h2, $h3], activation=$act)
--pixels placeholder(tf.float32)
Next we need some more command line arguments for antk_mnist.py. So we need to add these lines:
parser.add_argument("-h1", type=int,
help="Number of hidden nodes in layer 1.")
parser.add_argument("-h2", type=int,
help="Number of hidden nodes in layer 2.")
parser.add_argument("-h3", type=int,
help="Number of hidden nodes in layer 3.")
parser.add_argument("-act", type=int,
help="Type of activation function.")
Finally we need to bind the variables in the .config file in our call to the AntGraph
constructor
using the optional variable_bindings argument.
with tf.name_scope('antgraph'):
antgraph = AntGraph(args.config, data={'pixels': mnist.dev.images},
variable_bindings={'h1': args.h1,
'h2': args.h2,
'h3': args.h3,
'act': args.act})
For something really deep we might try a highway network with high_mnist.config:
pred mult_log_reg(numclasses=10)
-network3 dnn([50, 20])
--network2 highway_dnn([50]*20, activation='tanh', bn=True)
---network dnn([100, 50])
----pixels placeholder(tf.float32)
This may take 5 or 10 minutes to train but should get around .96 accuracy.
These higher level abstractions are nice for automating the creation of weight and bias Variables, and the Tensors involved a deep neural network architecture. However, one may need direct access to tensors created within a complex operation such as highway_dnn, to for instance analyze the training of a model. There is access to these tensors via a standard tensorflow function and some collections associated with each node defined in the .config file. To demonstrate accessing the tensors created by the highway_dnn operation in high_mnist.config, at the end of antk_mnist.py we can add:
weights = tf.get_collection('network')
bias = tf.get_collection('network_bias')
other = tf.get_collection('network')
for i, wght in enumerate(weights):
print('weight %d: name=%s tensor=%s' % (i, wght.name, wght))
for i, b in enumerate(bias):
print('bias %d: name=%s tensor=%s' % (i, b.name, b))
for i, tensor in enumerate(other):
print('other %d: name=%s tensor=%s' % (i, tensor.name, tensor))
And post training we get the following output modulo two memory addresses:
weight 0: name=antgraph/network/layer0/add:0 tensor=Tensor("antgraph/network/layer0/add:0", shape=(?, 100), dtype=float32)
weight 1: name=antgraph/network/layer1/add:0 tensor=Tensor("antgraph/network/layer1/add:0", shape=(?, 50), dtype=float32)
bias 0: name=network/layer0/network/Bias:0 tensor=<tensorflow.python.ops.variables.Variable object at 0x7f1b90764350>
bias 1: name=network/layer1/network/Bias:0 tensor=<tensorflow.python.ops.variables.Variable object at 0x7f1b90723d50>
other 0: name=antgraph/network/layer0/add:0 tensor=Tensor("antgraph/network/layer0/add:0", shape=(?, 100), dtype=float32)
other 1: name=antgraph/network/layer1/add:0 tensor=Tensor("antgraph/network/layer1/add:0", shape=(?, 50), dtype=float32)


Labrador Retriever
The Labrador Retriever, or just Labrador, is a type of retriever-gun dog.
The Labrador is one of the most popular breeds of dog in Canada, the United Kingdom and the United States.
A favourite disability assistance breed in many countries, Labradors are frequently trained to aid the blind,
those who have autism, to act as a therapy dog, or to perform screening and detection work for law
enforcement and other official agencies. Additionally, they are prized as sporting and hunting dogs.
A few kennels breeding their ancestors, the St. John's water dog, were in England. At the same time,
a combination of the sheep protection policy in Newfoundland and rabies quarantine in the United Kingdom,
led to the gradual demise of the St. John's water dog in Canada.
In the 1830s, the 10th Earl of Home and his nephews the 5th Duke of Buccleuch and Lord John Scott,
had imported progenitors of the breed from Newfoundland to Europe for use as gundogs.


Something went wrong - sorry for that! We have been informed and will fix this error as soon as possible.
» back to homepage


abs(expr)
Takes the absolute value of the result of expr. Operates on both gridded and station data. Missing data values do not participate.
expr


TIFF CHANGE INFORMATION
This document describes the changes made to the software between the
previous and current versions (see above). If you don't
find something listed here, then it was not done in this timeframe, or
it was not considered important enough to be mentioned. The following
information is located here:
MAJOR CHANGES:
- Complete the fixes for CVE-2009-2347.
- Tiffcrop now supports custom page sizes.
CHANGES IN THE SOFTWARE CONFIGURATION:
CHANGES IN LIBTIFF:
- Fixed inadequate validation of the SubjectDistance field.
- Fixed bad handling of out of order tags definated late by
a codec.
- Avoid re-preparing jpeg tables unnecessarily.
CHANGES IN THE TOOLS:
- tiffcrop: Added an option to allow the user to specify a
custom page size on the command line. Fix the case where a
page size specified with a fractional part was being coerced
to an integer by retyping the variables that define the paper
size. Corrected European page size dimensions.
- tiff2rgba: Completed fixes for "CVE-2009-2347 libtiff:
integer overflows in various inter-color space conversion
tools". http://bugzilla.maptools.org/show_bug.cgi?id=2079
- tiff2pdf: Fix assorted bugs in tiff2pdf: missing "return"
in t2p_read_tiff_size() causes t2p->tiff_datasize to be set entirely
wrong for COMPRESSION_JPEG case, resulting in memory stomp if actual
size is larger. Also, there are a bunch of places that try to
memset() a malloc'd buffer before checking for malloc failure, which
would result in core dump if there actually were a failure.
CHANGES IN THE CONTRIB AREA:
Last updated $Date: 2016-09-25 20:05:47 $.


TravelBuddy
Github
share
airplanemode_active
history
more_vert
Ready to Travel?
launch
Submit
City Name
Current weather:
History
clear


| Constants |
| ARTICLE |
An article from a journal or magazine.
|
| BOOK |
A book with an explicit publisher.
|
| BOOKLET |
A work that is printed and bound, but without a named publisher or sponsoring institution.
|
| CONFERENCE |
An article in the proceedings of a conference. This entry is identical to the 'inproceedings'
entry and is included for compatibility with BiBTex.
|
| INBOOK |
A part of a book, which may be a chapter and/or a range of pages.
|
| INCOLLECTION |
A part of a book with its own title.
|
| INPROCEEDINGS |
An article in the proceedings of a conference.
|
| JOURNAL |
A journal or magazine.
|
| MANUAL |
Technical documentation.
|
| MASTERSTHESIS |
A Master's thesis.
|
| MISC |
This type is used when nothing else seems appropriate.
|
| PHDTHESIS |
A PhD thesis.
|
| PROCEEDINGS |
The proceedings of a conference.
|
| TECHREPORT |
A report published by a school or other institution, usually numbered within a series.
|
| UNPUBLISHED |
A document with an author and title, but not formally published.
|
| EMAIL |
An eMail document
|
| WWW |
A Web document
|
| CUSTOM1 |
A user defined document type
|
| CUSTOM2 |
A user defined document type
|
| CUSTOM3 |
A user defined document type
|
| CUSTOM4 |
A user defined document type
|
| CUSTOM5 |
A user defined document type
|
| Constants' Details |
ARTICLE
const short ARTICLE = 0;
- Description
- An article from a journal or magazine.
|
|
BOOK
const short BOOK = 1;
- Description
- A book with an explicit publisher.
|
|
BOOKLET
const short BOOKLET = 2;
- Description
- A work that is printed and bound, but without a named publisher or sponsoring institution.
|
|
CONFERENCE
const short CONFERENCE = 3;
- Description
- An article in the proceedings of a conference. This entry is identical to the 'inproceedings'
entry and is included for compatibility with BiBTex.
|
|
INBOOK
const short INBOOK = 4;
- Description
- A part of a book, which may be a chapter and/or a range of pages.
|
|
INCOLLECTION
const short INCOLLECTION = 5;
- Description
- A part of a book with its own title.
|
|
INPROCEEDINGS
const short INPROCEEDINGS = 6;
- Description
- An article in the proceedings of a conference.
|
|
JOURNAL
const short JOURNAL = 7;
- Description
- A journal or magazine.
|
|
MANUAL
const short MANUAL = 8;
- Description
- Technical documentation.
|
|
MASTERSTHESIS
const short MASTERSTHESIS = 9;
- Description
- A Master's thesis.
|
|
MISC
const short MISC = 10;
- Description
- This type is used when nothing else seems appropriate.
|
|
PHDTHESIS
const short PHDTHESIS = 11;
- Description
- A PhD thesis.
|
|
PROCEEDINGS
const short PROCEEDINGS = 12;
- Description
- The proceedings of a conference.
|
|
TECHREPORT
const short TECHREPORT = 13;
- Description
- A report published by a school or other institution, usually numbered within a series.
|
|
UNPUBLISHED
const short UNPUBLISHED = 14;
- Description
- A document with an author and title, but not formally published.
|
|
EMAIL
const short EMAIL = 15;
- Description
- An eMail document
|
|
WWW
const short WWW = 16;
- Description
- A Web document
|
|
CUSTOM1
const short CUSTOM1 = 17;
- Description
- A user defined document type
|
|
CUSTOM2
const short CUSTOM2 = 18;
- Description
- A user defined document type
|
|
CUSTOM3
const short CUSTOM3 = 19;
- Description
- A user defined document type
|
|
CUSTOM4
const short CUSTOM4 = 20;
- Description
- A user defined document type
|
|
CUSTOM5
const short CUSTOM5 = 21;
- Description
- A user defined document type
|
|
Copyright © 2013, The Apache Software Foundation, Licensed under the Apache License, Version 2.0. Apache, the Apache feather logo, Apache OpenOffice and OpenOffice.org are trademarks of The Apache Software Foundation. Other names may be trademarks of their respective owners.


-
Simple and intuitive
Mini Diary features a beautiful and clean design with no distractions, letting you fully focus on your writing.
-
Private and secure
You're in control of your data. The journal is encrypted with a password and stored locally on your device.
-
Portable
Mini Diary makes it easy to import your existing journal from other apps or export your data in various file formats.
-
Completely free and open source
The app is and always will be free, and its source code can be viewed on GitHub.
Features
- Light and dark themes
- Encryption
- Basic text formatting
- Full-text search
- Localization in multiple languages
- Statistics
- Import from various apps and formats
- Export to various formats (PDF, Markdown, etc.)
FAQ
-
How can I change my password?
Unlock your diary and select Mini Diary → Preferences in the menu bar. You can edit your password here.
-
I forgot my password. How can I reset it?
Your diary can only be read with your password, and resetting it isn't possible. This type of local encryption is what makes Mini Diary secure. It's therefore very important that you write down your password when creating a diary.
-
How can I change where my diary is stored?
Unlock your diary and select Mini Diary → Preferences in the menu bar. You can change the location of your diary file here. (Please note that due to sandboxing, this option is not available in the Mac App Store version. You can download the non-sandboxed version to get this feature on macOS.)
-
How can sync my diary with the cloud?
Mini Diary stores your journal in an encrypted file. If you change the location of that file to a cloud folder like Dropbox or Google Drive, it will automatically become accessible on all other devices with the same setup.


| Version 1 (modified by trac, 8 years ago) (diff) |
|---|
Importing ticket data
Bugzilla
Ticket data can be imported from Bugzilla using the bugzilla2trac.py script, available in the contrib/ directory of the Trac distribution.
$ bugzilla2trac.py bugzilla2trac - Imports a bug database from Bugzilla into Trac. Usage: bugzilla2trac.py [options] Available Options: --db <MySQL dbname> - Bugzilla's database --tracenv /path/to/trac/env - full path to Trac db environment -h | --host <MySQL hostname> - Bugzilla's DNS host name -u | --user <MySQL username> - effective Bugzilla's database user -p | --passwd <MySQL password> - Bugzilla's user password -c | --clean - remove current Trac tickets before importing --help | help - this help info Additional configuration options can be defined directly in the script.
Currently, the following data is imported from Bugzilla:
- bugs
- bug activity (field changes)
- bug attachments
- user names and passwords (put into a htpasswd file)
The script provides a number of features to ease the conversion, such as:
- PRODUCT_KEYWORDS: Trac doesn't have the concept of products, so the script provides the ability to attach a ticket keyword instead.
- IGNORE_COMMENTS: Don't import Bugzilla comments that match a certain regexp.
- STATUS_KEYWORDS: Attach ticket keywords for the Bugzilla statuses not available in Trac. By default, the 'VERIFIED' and 'RELEASED' Bugzilla statuses are translated into Trac keywords.
For more details on the available options, see the configuration section at the top of the script.
Sourceforge
Ticket data can be imported from Sourceforge using the sourceforge2trac.py script, available in the contrib/ directory of the Trac distribution.
Mantis
Mantis bugs can be imported using the attached script.
Currently, the following data is imported from Mantis:
- bugs
- bug comments
- bug activity (field changes)
Attachments are NOT imported. If you use the script, please read the NOTES section (at the top of the file) and make sure you adjust the config parameters for your environment.
mantis2trac.py has the same parameters as the bugzilla2trac.py script:
mantis2trac - Imports a bug database from Mantis into Trac. Usage: mantis2trac.py [options] Available Options: --db <MySQL dbname> - Mantis database --tracenv /path/to/trac/env - Full path to Trac db environment -h | --host <MySQL hostname> - Mantis DNS host name -u | --user <MySQL username> - Effective Mantis database user -p | --passwd <MySQL password> - Mantis database user password -c | --clean - Remove current Trac tickets before importing --help | help - This help info Additional configuration options can be defined directly in the script.
Other
Since trac uses a SQL database to store the data, you can import from other systems by examining the database tables. Just go into sqlite command line to look at the tables and import into them from your application.
Using a comma delimited file - CSV
See http://trac.edgewall.org/attachment/wiki/TracSynchronize/csv2trac.2.py for details. This approach is particularly useful if one needs to enter a large number of tickets by hand. (note that the ticket type type field, (task etc...) is also needed for this script to work with more recent Trac releases)


Apple Pie
Description
Bethany received the recipe for this delicious pie from her grandmother. At the age of 5, she was already baking this all-American traditional apple pie at her home. As the recipe goes a long way back, it contains the most typical ingredients used for so many years to make this classic and popular pie.
This pie is available every dayand comes in 2 sizes. You can serve it cold or warm it for 4 minutes in the microwave to give it an extra touch.
This recipe has been in our family for generations. We hope you enjoy this pie as much as we do - Bethany
Note that some ingredients can be dangerous if you are allergic to them. See the list of ingredients below:
Bethany cares about the environmentand we try to limit our CO2 emmissions as much as we can. See our terms page for more info.
How we make this pie:
- First, we combine sugar, flour and spices. We toss the apples with some lemon juice and add sugar.
- We then creaate the bottom crust and fill that with apple mixture. We put some butter on that.We then roll remaining crust to fit top of pie.
- Then we beat the eggs until we have a foamy mix. That is then brushed over the crust. We sprinkle some extra sugar.
- Then the pie goes into the oven at 360o for 35 minutes. When ready, we let it cool on a wire rack.
Ingredients:
- Butter
- Eggs
- Sugar
- Flour
- Cinnamon
- Ginger
- Nutmeg
- Apples
- Lemons


Select an Excel sheet on your computer that contains the list of sponsors with their e-mail addresses and children's names.
These are the headers in your Excel sheet. Select which column should be used for what purpose.
| {{col}} |
|---|
|
|
|
|
| {{row[col]}} |


Attractive Deals on Ultrabooks Can Help You Save about $300
by Review TeamUltrabooks are designed to offer the functions of a laptop or a notebook computer but sport smaller screens like 12 inches and 14 inches. They are easy to tuck into your briefcase or office bag and carry wherever you go. These ultrabooks are quite thin as well and occupy very little space. You should go through the key specifications and select the model that comes close to what you have been looking for.
XIDU 12.5-Inch Tour PRO Touchscreen Ultrabook 2K
This XIDU 12.5-inch Tour PRO touchscreen Ultrabook 2K, as the name suggests, has a 12.5-inch IPS Full HD+ display offering a screen resolution of 2560 x 1440 pixels. The bezels have been kept to the bare minimum leaving a screen-to-body ratio of 85%. It’s a touchscreen display allowing you to freely move around the screen without a hassle. There is a 180° hinge that facilitates rotating to an angle that suits your viewing and working preferences. The processor fitted in this ultrabook is an 8th generation 3867U and it is supported by 8 GB LPDDR4 RAM along with 128 GB storage. Windows 10 Home edition OS has been pre-installed in this ultrabook.
This XIDU 12.5-inch Tour PRO touchscreen Ultrabook 2K is on offer at $382.49, $117.50 off on the earlier price of $499.99. You also get a mouse free with this ultrabook.
Razer Blade Stealth 13 Ultrabook
With a 13.3-inch Full HD display, this Razer Blade Stealth 13 ultrabook runs using a powerful Intel Core i7-8565U processor supported for graphics by an Intel UHD Graphics 620 GPU. The RAM is 8 GB and the internal storage is 256 GB SSD. The outer casing is made of CNC aluminum. The ultrabook is ultra-thin as well and boasts of 13 hours of battery life. The keyboard accompanying the ultrabook features RGB lighting. There are sufficient connectivity options so that you can use this ultrabook for all your computing and browsing needs.
You can order this Razer Blade Stealth 13 ultrabook now for $1,099.99; $300 down from the earlier price of $1,399.99.


localectl - Control the system locale and keyboard layout settings
localectl [OPTIONS...] {COMMAND}
localectl may be used to query and change the system locale and keyboard layout settings.
The system locale controls the language settings of system services and of the UI before the user logs in, such as the display manager, as well as the default for users after login.
The keyboard settings control the keyboard layout used on the text console and of the graphical UI before the user logs in, such as the display manager, as well as the default for users after login.
The following options are understood:
--no-ask-password
Do not query the user for authentication for privileged operations.
--no-convert
If set-keymap or set-x11-keymap is invoked and this option is passed, then the keymap will not be converted from the console to X11, or X11 to console, respectively.
-H, --host=
Execute the operation remotely. Specify a hostname, or a username and hostname separated by "@", to connect to. The hostname may optionally be suffixed by a container name, separated by ":", which connects directly to a specific container on the specified host. This will use SSH to talk to the remote machine manager instance. Container names may be enumerated with machinectl -H HOST.
-h, --help
Print a short help text and exit.
--version
Print a short version string and exit.
--no-pager
Do not pipe output into a pager.
The following commands are understood:
status
Show current settings of the system locale and keyboard mapping.
set-locale LOCALE...
Set the system locale. This takes one or more assignments such as "LANG=de_DE.utf8", "LC_MESSAGES=en_GB.utf8", and so on. See locale(7) for details on the available settings and their meanings. Use list-locales for a list of available locales (see below).
list-locales
List available locales useful for configuration with set-locale.
set-keymap MAP [TOGGLEMAP]
Set the system keyboard mapping for the console. This takes a keyboard mapping name (such as "de" or "us"), and possibly a second one to define a toggle keyboard mapping. Unless --no-convert is passed, the selected setting is also applied to the default keyboard mapping of X11, after converting it to the closest matching X11 keyboard mapping. Use list-keymaps for a list of available keyboard mappings (see below).
list-keymaps
List available keyboard mappings for the console, useful for configuration with set-keymap.
set-x11-keymap LAYOUT [MODEL] [VARIANT] [OPTIONS]
Set the system default keyboard mapping for X11. This takes a keyboard mapping name (such as "de" or "us"), and possibly a model, variant and options, see kbd(4) for details. Unless --no-convert is passed, the selected setting is also applied to the system console keyboard mapping, after converting it to the closest matching console keyboard mapping.
list-x11-keymap-models, list-x11-keymap-layouts, list-x11-keymap-variants [LAYOUT], list-x11-keymap-options
List available X11 keymap models, layouts, variants and options, useful for configuration with set-keymap. The command list-x11-keymap-variants optionally takes a layout parameter to limit the output to the variants suitable for the specific layout.
On success, 0 is returned, a non-zero failure code otherwise.
$SYSTEMD_PAGER
Pager to use when --no-pager is not given; overrides $PAGER. Setting this to an empty string or the value "cat" is equivalent to passing --no-pager.
$SYSTEMD_LESS
Override the default options passed to less ("FRSXMK").
systemd(1), locale(7), locale.conf(5), vconsole.conf(5), loadkeys(1), kbd(4), m[blue]The XKB Configuration Guidem[]s-2u[1]ds+2, systemctl(1), systemd-localed.service(8)
The XKB Configuration Guide
%http://www.x.org/releases/current/doc/xorg-docs/input/XKB-Config.html


Are you sure you want to delete {{title}} {{itemType | titlecase}}?
All information associated to this {{itemType}} will be permanently deleted. This operation can not be undone.


After my two tutorials about Mac and Windows, I have been getting plenty of emails ask for installing Clash of Clans on Linux.  I am goin...


GOVERNMENT OF THE DISTRICT OF COLUMBIA DC TAXICAB COMMISSION Open Government Report 2014 To institutionalize a culture of transparent and open government, accountability, and to expand opportunities for resident participation and collaboration, this Report describes how the DC Taxicab Commission has and will continue to develop and enhance transparency, public participation, and collaboration. In accordance with Mayor’s Order 2014-170, this report addresses the following topics: Transparency The DC Taxicab Commission (DCTC) communicates with the public through reports, testimony, press releases, letters and online posts as well as through media outlets and industry stakeholders. Interaction and engagement with customers, media and other agencies to provide updates and critical information ensures a thorough understanding of DCTC services, procedures and rulemakings. In addition, DCTC maintains the Freedom of Information Act (FOIA) acknowledgements and responses; files research, collects data and reviews records and performs redaction as warranted to fulfill the legal responsibilities to provide feedback to inquiries and act in an ethical manner to represent DCTC and the Mayor of the District of Columbia. The District is committed to a transparent, open form of government. DCTC makes certain records available online to the public (if those records exist). In cases where these records exist but are not yet available online, DCTC is working to provide them as soon as possible. Records available online include the following: employee salaries; budget information; minutes of public meetings; taxi driver Face IDs; DCTC regulations; DCTC purchases and contracts; organizational chart; DCTC performance plans; methods to submit feedback; and District-wide FOIA reports. The FOIA Officer can be contacted for further questions. To understand the process of submitting a FOIA request, please see foia.dc.gov. Access to most information sought by the public can be found on the DCTC website. Inquiries can be made online, by phone, standard mail, or by walking in to speak with a customer service representative. DCTC is undertaking serious consideration of the most cost-effective means to webcast live and archive commission meetings. This initiative is targeted for FY 2015. DCTC is working closely with the Office of the City Administrator (OCA) and the Office of the Chief Technology Officer (OCTO) to identify a significant number of datasets that OCA and OCTO expect to publish online 1 later this year. If no dataset from DCTC is selected in this 2014 release, work will continue to determine if there are appropriate datasets to publish in 2015. In the future, requirements for open data reporting will be provided by the Chief Data Officer. Public Engagement and Participation The public is encouraged to provide feedback at regular General Commission Meetings and Public Hearings on regulatory matters. The agency website encourages feedback by having a direct link to “Ask the Director” questions, and offer opinions or suggestions. In addition customer feedback includes compliments, complaints, observations and suggestions. Most comments pertain to industry-related issues regarding regulations, and the clarification of rules and procedures. In addition customer feedback includes compliments, complaints, observations and suggestions. Proposed rulemaking is modified to respond to comments as warranted. Information is also shared through community meetings, public hearings and online. The mission of DCTC is to provide the citizens of the District of Columbia and its visitors a safe, comfortable, efficient and affordable taxicab experience in well-equipped vehicles operated by highly qualified individuals who have knowledge of the District's streets, boundaries, history and tourist destinations, as well as the basic tenets of high quality customer service. The Commission strives to provide taxicab owners and operators with a system of rules and regulations that are fair and transparent and that allow for technological advancements to be introduced to the industry and for properly qualified individuals to participate in the industry. At the same time, the Commission has the statutory responsibility to preserve the economic viability of the District's public vehicle for hire industry. As the regulatory agency with the responsibility to oversee the public vehicle for hire industry it is our statutory duty to maintain open lines of communication with the public as well as industry stakeholders. There is great emphasis on public engagement and participation to better inform proposed rulemaking. Collaboration DCTC collaborates with several governmental agencies as well as both public and private entities. The Metropolitan Police Department (MPD) assists DCTC Public Vehicle Enforcement Inspectors with identifying illegal actions, operators and vehicles. The Office of Human Rights (OHR) investigates complaints to determine if the cause is due to discrimination. The DCTC Legal Department works with the Office of Policy and Legislative Affairs (OPLA) and the Office of the Attorney General (OAG) to prepare rulemaking. 2 The Department of Motor Vehicles (DMV) is a close partner that issues vehicle license plates. The Office of Contracting and Procurement (OCP) handles all solicitation for the services of outside vendors. In addition to managing the DCTC budget, the Office of Chief Financial Officer (OCFO) also collects the passenger surcharge which is the primary means of funding DCTC operations. The Office of Chief Technology Officer (OCTO) oversees and manages all District government websites and technical services. DCTC also engages with non-governmental agencies including: attending quarterly meetings of the Transportation Committee of the Metropolitan Washington Council of Governments (MWCOG); the monthly lunch meetings with the Hotel Association of Washington; the annual marketing presentation of Destination DC; and the distribution of the Events DC event calendar to the public vehicle for hire industry. Every effort will be made to continue the excellent cooperation between organizations. Yet, in order to better serve customers three new features are being introduced. DCTC, working with the Washington Metropolitan Area Transit Authority (WMATA), has developed the CAPS-DC program to offer an alternative to MetroAccess that provides an option for customers to ride in a standard taxicab without multiple stops and make a reservation one hour in advance. Another new communication mechanism is the Taxi Notification System. The recently implemented system provides a means for specific venues to alert on-duty taxis of the need for service for large groups. We expect to see a significant improvement in response times and vehicle loads. Lastly, in conjunction with the Office of Unified Communication (OUC) safety devices will be installed in all taxicabs licensed by DCTC for both the drivers and riders. The safety device will allow police, medical or DCTC Public Vehicle Enforcement Inspectors to respond immediately to calls for assistance. This platform should be fully operational by June 2015. 3


Address: 127.127.20.u
Reference ID: GPS
Driver ID: GPS_NMEA
Serial Port: /dev/gpsu; 4800 - 115200 bps, 8-bits, no parity
Serial Port: /dev/gpsppsu; for just the PPS signal (this
is tried first for PPS, before /dev/gpsu)
Serial Port: /dev/gpsu; symlink to server:port (for nmead)
Features: tty_clk
This driver supports GPS receivers with the $GPRMC, $GPGLL, $GPGGA, $GPZDA and $GPZDG NMEA sentences by default. Note that Accord's custom NMEA sentence $GPZDG reports using the GPS timescale, while the rest of the sentences report UTC. The difference between the two is a whole number of seconds which increases with each leap second insertion in UTC. To avoid problems mixing UTC and GPS timescales, the driver disables processing of UTC sentences once $GPZDG is received.
The driver expects the receiver to be set up to transmit at least one supported sentence every second.
The accuracy depends on the receiver used. Inexpensive GPS models are available with a claimed PPS signal accuracy of 1 μs or better relative to the broadcast signal. However, in most cases the actual accuracy is limited by the precision of the timecode and the latencies of the serial interface and operating system.
If the Operating System supports PPSAPI (RFC 2783), fudge flag1 1 enables its use.
The various GPS sentences that this driver recognises look like this:
(others quietly ignored)
| Sentence | Vendor |
|---|---|
| $GPRMC,UTC,POS_STAT,LAT,LAT_REF,LON,LON_REF,SPD,HDG,DATE,MAG_VAR,MAG_REF*CS<cr><lf> | |
| $GPGLL,LAT,LAT_REF,LON,LON_REF,UTC,POS_STAT*CS<cr><lf> | |
| $GPGGA,UTC,LAT,LAT_REF,LON,LON_REF,FIX_MODE,SAT_USED,HDOP,ALT,ALT_UNIT,GEO,G_UNIT,D_AGE,D_REF*CS<cr><lf> | |
| $GPZDA,UTC,DD,MM,YYYY,TH,TM,*CS<cr><lf> | |
| $GPZDG,GPSTIME,DD,MM,YYYY,AA.BB,V*CS<cr><lf> | Accord |
| Symbol | Meaning and Format |
|---|---|
| UTC | Time of day on UTC timescale. Hours, minutes and seconds [fraction (opt.)]. (hhmmss[.fff]) |
| POS_STAT | Position status. (A = Data valid, V = Data invalid) |
| LAT | Latitude (llll.ll) |
| LAT_REF | Latitude direction. (N = North, S = South) |
| LON | Longitude (yyyyy.yy) |
| LON_REF | Longitude direction (E = East, W = West) |
| SPD | Speed over ground. (knots) (x.x) |
| HDG | Heading/track made good (degrees True) (x.x) |
| DATE | Date (ddmmyy) |
| MAG_VAR | Magnetic variation (degrees) (x.x) |
| MAG_REF | Magnetic variation (E = East, W = West) |
| FIX_MODE | Position Fix Mode (0 = Invalid, >0 = Valid) |
| SAT_USED | Number of Satellites used in solution |
| HDOP | Horizontal Dilution of Precision |
| ALT | Antenna Altitude |
| ALT_UNIT | Altitude Units (Metres/Feet) |
| GEO | Geoid/Elipsoid separation |
| G_UNIT | Geoid units (M/F) |
| D_AGE | Age of last DGPS Fix |
| D_REF | Reference ID of DGPS station |
| GPSTIME | Time of day on GPS timescale. Hours, minutes and seconds [fraction (opt.)]. (hhmmss[.f]) |
| DD | Day of the month (1-31) |
| MM | Month of the year (1-12) |
| YYYY | Year |
| AA.BB | Denotes the signal strength (should be < 05.00) |
| V | GPS sync status '0' => INVALID time, '1' => accuracy of +/- 20ms, '2' => accuracy of +/- 100ns |
| CS | Checksum |
| <cr><lf> | Sentence terminator. |
Specific GPS sentences and bitrates may be selected by setting bits of
the 'mode' in the server configuration line:
server
127.127.20.x mode X
| Bit | Dec. | Meaning |
|---|---|---|
| 0 | 1 | process $GPMRC |
| 1 | 2 | process $GPGGA |
| 2 | 4 | process $GPGLL |
| 3 | 8 | process $GPZDA or $GPZDG |
| 4-6 | 0 | linespeed 4800 bps |
| 16 | linespeed 9600 bps | |
| 32 | linespeed 19200 bps | |
| 48 | linespeed 38400 bps | |
| 64 | linespeed 57600 bps | |
| 80 | linespeed 115200 bps | |
| 7 | 128 | Write the sub-second fraction of the receive time stamp to the
clockstat file for all recognised NMEA sentences. This can be used to
get a useful value for fudge time2. Caveat: This will fill your clockstat file rather fast. Use it only temporarily to get the numbers for the NMEA sentence of your choice. |
The default (mode 0) is to process all supported sentences at a linespeed of 4800 bps, which results in the first one received and recognised in each cycle being used. If only specific sentences should be recognised, then the mode byte must be chosen to enable only the selected ones. Multiple sentences may be selected by adding their mode bit values, but of those enabled still only the first received sentence in a cycle will be used. Using more than one sentence per cycle is impossible, because
Caveat: Using higher line speeds does not necessarily increase the precision of the timing device. Higher line speeds are not necessarily helpful for the NMEA driver, either. They can be used to accomodate for an amount of data that does not fit into a 1-second cycle at 4800 bps, but high-speed high-volume NMEA data is likely to cause trouble with the serial line driver since NMEA supports no protocol handshake. Any device that is exclusively used for time synchronisation purposes should be configured to transmit the relevant data only, e.g. one $GPRMC or $GPZDA per second, at a linespeed of 4800 bps or 9600 bps.
Configuring NMEA Refclocks might give further useful hints for specific hardware devices that exhibit strange or curious behaviour.
To make a specific setting, select the corresponding decimal values from the mode byte table, add them all together and enter the resulting decimal value into the clock configuration line.
"$PGRMO,,2<cr><lf>"
Now switch only $GPRMC on by sending it the following string.
"$PGRMO,GPRMC,1<cr><lf>"
On some systems the PPS signal isn't switched on by default. It can be switched on by sending the following string.
"$PGRMC,,,,,,,,,,,,2<cr><lf>"
The GPS sentence that is used is written to the clockstats file and available with ntpq -c clockvar.
Additional Information


Why are real people acting like 'Boris bots'?
by Joey D'UrsoThousands of nearly identical messages of support for Boris Johnson are being posted to Facebook pages.
It's prompted concerns about whether "bots", or automated inauthentic accounts, are being used to try to sway voters.
While bots do exist, the BBC has spoken to real people, both for and against Brexit, who have posted such comments.
They're doing it because they think it's funny - and to try to trick the other side.
What do the messages say?
The bot-like messages say things like "I support Boris 100%" and "Brilliant!". They appear, as above, on the prime minister's own Facebook page, as well as on the pages of news outlets.
There is similar activity on Jeremy Corbyn's official page but it is not nearly at the level as on Johnson's, which is liked by more than 700,000 people.
Stranger things
On some Johnson posts something even stranger is going on.
Lots of similar comments have appeared which include odd symbols and characters.
To the untrained eye this looks like a faulty line of code - a broken "Boris bot".
So what's really going on?
Not all bots
Some of the Boris "supporters" might actually be the result of automated activity, although there's no indication that anyone inside the prime minister's campaign is behind it.
William Dance, a linguistics and fake news expert at Lancaster University says Johnson's page shows "signs of inauthentic behaviour, with repetitious and duplicate comments."
But many of the accounts are real people, with fleshed-out authentic-looking profiles.
Why are they flooding social media with spammy messages?
It may have started as a trick.
'Driving Remainers crazy'
Fight4Brexit is a page with almost 100,000 members.
John Johnston, a political reporter for Politics Home, spotted last month that this page has been directly encouraging people to post bot-like messages because they are "driving Remainers crazy".
The idea, apparently, is to anger anti-Brexit activists by making it appear that a bot army is flooding Facebook.
What about that strange code?
But it appears that the other side caught on - which explains those weird code-like messages.
For example, this tweet was shared more than 3,000 times last week and appears to show a "malfunctioning bot" with the name Dan Bunting.
But the BBC messaged Mr Bunting and verified his identity. He's a masters student from the UK currently living in Sweden with his partner.
"I am not a bot - it was just a satirical comment," he says.
Mr Bunting told the BBC he supports Brexit, "but not the way it is behind handled".
Real or not real?
Some of those fake "malfunctioning bots" are simply a response to the fake "pro-Boris bots".
But others posting those code-like messages say they're highlighting the presence of fake accounts.
The BBC contacted Jake Graham, the person who posted above, who replied quickly to say his message was "just a joke". But it had a serious point.
Mr Graham, from Preston in Lancashire, says he opposes Brexit and that he made the comment to highlight what he thinks is dubious activity on Johnson's page.
"I've followed Boris for years on Facebook since he was Mayor of London and spotted so many comments that looked like bots," says Graham. "I thought I would make one to make it look like my programming had malfunctioned."
Bot or not?
Even if most of the pro-Boris and anti-Boris messages aren't actually posted by bots, that doesn't mean automated campaigns aren't a problem, says William Dance, the fake news expert.
"Facebook has a major bot problem" he says. "In the first quarter of 2019 alone, Facebook removed over 2 billion inauthentic accounts. This is was almost as many takedowns as Facebook has daily active users."
Unfortunately, when actual people pretend to be bots, it's even more difficult to distinguish real accounts from fake ones.
Additional reporting by Marianna Spring
What did you think of this story? Click here to email us.


Do you remember last spring sprawled in your car in harmony this is where it all begins?
Recognizing everyone we saw and seeing no one we knew
except for chatty and the monkey, which crawled out of your radio and onto our backs
and wild rides with water-windshield wipers off.
Countless car crashes. Human clashes. And miles of ashes.
Those trees filled our lungs and eyes and our minds. And left our souls
burning in the basements of those citadels.
Ashes on lashes and lust to dust.
And the tears from the sky seem like a sign but they fall on everything and nothing at the same time.
We may search for and never find what we have here in this green valley.
The jungle the rain and the fiery eyes and cries and screams and lies and dreams.
And we were the liars and the screamers and the criers.
You’re the princess here. You’re the beggar and the bag-lady with your car and yellow ski goggles.
You’re the sidewalk sitting coffee sipping townies.
You are every stare and soul in harmony,
wild raw temptation desperation.
And you were ordained here. Time stands still and wavers at our command here-
in this valley rivers waterfall and green. But the earth shifts under us and hands beckon from places far.
And we leave this place these trees the streets and feats and heaps of memories behind.
A place like this we may never find.
We only have one quiver one arrow one bow one swift let go.
When the world burst open the pieces fell crashed and resounded in euphony.
And as the dust was swept away there was left an echo of utopia
even if it was only a singularity and hopeless that there is no more.
Do you remember those green tea mornings through Guilford?
Spoonful after spoonful until school felt like a good idea.
Then the snow came and the blows maiming and beating me into the scarlet frozen ground.
And I walked my backpack all around this godforsaken town
until my feet began to walk right on the ground.
And the virid forest walks and the brave romantic talks and the shame of the sudden ending game
–as the players threw the board and the pieces to the floor.
And a happy birthday call threw a face against a wall as I lay in bed burning my way to sleep.
I woke dead the next day and so in bed I lay. But you were brave enough to come -
prop me up and make my heart beat.
Why do we go there every day? At first only for a vacation but now away we stay.
We travel there in cars. In bedrooms under midnight blankets.
We travel there from rooftops and trains on broadbrook
and new years and on broken and forgotten bridges.
Remember sitting every day in school- so out of fuel.
And the dry-cleaned books. And the dry-eyed looks.
And the driest minds and the driest times.
Remember my scarlet wax letter I left on silver cars
in the shadow of a brick mountain- a grave stone and a monster of the past.
Remember the bark and wood I drilled holes in for those wondrous thrills.
And the dancer thin and tall whose epigraph in harmony adorn the walls a travesty of therapy or graffiti.

We call his name but no help came. We walked so far to feed my car.
And seeing every car a squad car every time we drive.
Knock on cedar because they’re shooting up churches anyway.
Remember when you were Dorothy and you rose so high in your balloon.
Remember when you were Madonna and you rocked and rolled all night in dress
and swimming in murmurs and colors and blending rolling tones.

Remember when you were Daisy and you woke up from breakfast at tiffany’s and decided to ferociously socialize
until we sat under green light on doorsteps at Emma's watching the grass run and being watched from those doctor’s eyes.
Remember when you were Joan of Merlin, maid of the rain.
Your self up island branches canonized by the burning canopy light and the ashes falling lit to the waters.
Remember when you were Helen of troy and I didn’t notice when you left and you returned-
faced with a thousand burning shipwrecks.
Remember when you were the black widow and you wondered how you would eat the gazelle
even though you knew killing it wouldn’t be a problem.
Last winter do you remember winding roads to wild parties with tie-dye walls?

Like all those other dances we were rolling over the music and the crowds.
The poverty of the people. Poor from their fastfood. Dreary from their democracy.
Starving bathed in the captivating tv glow. They mass huddled in houses cars and parks.
Dying from what they don’t know and starving from what they do.
They are lost but all is not.
Their children will live. Poor from population and pollution.
Dreary from their disheveled and dissolving governments.
Starving climbing out of the darkest holes.
The machine is on the fritz contemplating life and death.
Fearing both and having none.
And the rain. Rain tears rain sorrows rain pain.
Macbeth spots won’t wash away. Our albatross in blood does lay.
Whatever happened to those tissue doves?
Pay homage to the fallen capitalists and the rise of capitalism.
You’d have run out of paper before you finished.
You’d have run out of hope before that.
Before the door of this prolific house the raving crow hops away not afraid to fly.
Go away you lunatic and rabid man.
And the cellist in her chair- at her song we blankly stare. What was she thinking?
The morning walks through snow canonized in the streetlamp glow- just to see you wake.
Do you feel we’re wasting time with our bonsai state of mind? Do you fear it too?
Do you feel so all alone reaching cross the telephone? Cause I feel it too.
Do you know the utter cold walking all the way from home just to see you.

I sat at home collecting bones and imagining you bushwhacking your way onto a nightmare.
Do you remember the mindless city? The bombs must have scared the people away or into the god’s house.
Do you remember the pedophile preacher?
Once again you stayed up all night writing for the paper when no one else would.
And in the conference I missed the Secretary’s song because I was being interviewed for the tv.
An entire night city to parking garage around in and all I was left with was the taste of cherry.
My mind rolled away in the airport but my disemminded body was guided by three disembodied voices
until you shooed them away like flies.
Remember the pizza cowboy’s girl. The princess of push.
Stumbling out of every forest, ally and crawling our of every ditch and car.
Always everywhere and never anywhere.

We all owe him our thanks and gave him our money.
And repentance we did find in the contemplating mind.
And atonement we did need as the lies began to bleed.
Remember the demigod from New York
who Drew up from his bag a month worth of time by the pound.
Driving to the city for burning Marlboroughs.
I drew the short straw and was dared by NY’s finest to display my stone working skills for you and the eyes of the mason and before a million tons of water and one small essential fire.
Where do the railroads lead? Where we walked so many times to get away but never to go away.
Where does that blue glass bridge reveal? What would happen if we didn’t just take the boat around the town-
reached the end and turned around.
Where would we be if we climbed down the other side of the mountain or if we didn’t stop climbing when we reached the top of trees.
And when we leave how will we go? In tears? With wild anticipation?
Will it come quiet or will it crash in cacophony?
And which way will our tornado grow: Will it swill to a pinnacle point and extinguish-
Or are we only a moment away from the advent and gaining momentum?
The teeth of the world are grinding down on us more than ever.
And its hard to imagine a future where the bullies are so easily appeased.
Thanks for holding my head back from the surface of my pool of tears.

And how long do we have on this god-forsaken rock? Until the sun goes out.
A billion years and counting. Not really forever and hardly an eternity.
Did you know we’d die here in this valley?

And when you repunzle your way to harmony after dining with every family’s ghosts
you will interrupt these words and we will go forth forever
but tomorrow I will be dead
my body will rise and ashes will fall
and you will rise too


[ aws ]
Amazon Lightsail is the easiest way to get started with AWS for developers who just need virtual private servers. Lightsail includes everything you need to launch your project quickly - a virtual machine, SSD-based storage, data transfer, DNS management, and a static IP - for a low, predictable price. You manage those Lightsail servers through the Lightsail console or by using the API or command-line interface (CLI).
For more information about Lightsail concepts and tasks, see the Lightsail Dev Guide .
To use the Lightsail API or the CLI, you will need to use AWS Identity and Access Management (IAM) to generate access keys. For details about how to set this up, see the Lightsail Dev Guide .


{{ .Title }}
{{ .Summary }} {{ if .Truncated }} {{ end }}
{{ define "main" -}} {{ partial "welcome.html" }}
Important announcments from our organization and from member institutions around the state and region are listed below. If you would like to have an announcement or event posted, email details to<EMAIL_ADDRESS>Announcements and events which go beyond a particular date are archived and may be accessed in the announcements library.
{{ .Summary }} {{ if .Truncated }} {{ end }}
{{ .Summary }} {{ if .Truncated }} {{ end }}


Naa Munna Naa!!

Do Something creative.
Start Doing Something related to Course or some extra things.
Good Bye!!


Node.js client library to use the Watson APIs.
npm install watson-developer-cloud
You will need the username
, password
, and url
(api_key
for Visual Recognition) for each service. Service credentials are different from your IBM Cloud account username and password.
To get your service credentials, follow these steps:
my-service-name
. Leave the default values for the other options.username
, password
(or api_key
for Visual Recognition), and url
.The examples below assume that you already have service credentials. If not, you will have to create a service in IBM Cloud.
If you are running your application in IBM Cloud, you don't need to specify the
credentials; the library will get them for you by looking at the VCAP_SERVICES
environment variable.
Credentials are checked for in the following order:
Hard-coded or programatic credentials passed to the service constructor
SERVICE_NAME_USERNAME
and SERVICE_NAME_PASSWORD
environment properties (or SERVICE_NAME_API_KEY
when appropriate) and, optionally, SERVICE_NAME_URL
IBM-Cloud-supplied credentials (via the VCAP_SERVICES
JSON-encoded environment property)
See the examples/
folder for Browserify and Webpack client-side SDK examples (with server-side generation of auth tokens.)
Note: not all services currently support CORS, and therefore not all services can be used client-side. Of those that do, most require an auth token to be generated server-side via the Authorization Service.
Custom headers can be passed with any request. Each method has an optional parameter headers
which can be used to pass in these custom headers, which can override headers that we use as parameters.
For example, this is how you can pass in custom headers to Watson Assistant service. In this example, the 'custom'
value for 'Accept-Language'
will override the default header for 'Accept-Language'
, and the 'Custom-Header'
while not overriding the default headers, will additionally be sent with the request.
var assistant = new watson.AssistantV1({
/* username, password, version, url, etc... */
});
assistant.message({
workspace_id: 'something',
input: {'text': 'Hello'},
headers: {
'Custom-Header': 'custom',
'Accept-Language': 'custom'
}
}, function(err, result, response) {
if (err)
console.log('error:', err);
else
console.log(JSON.stringify(result, null, 2));
});
To retrieve the HTTP response, all methods can be called with a callback function with three parameters, with the third being the response. Users for example may retrieve the response headers with this usage pattern.
Here is an example of how to access the response headers for Watson Assistant:
var assistant = new watson.AssistantV1({
/* username, password, version, url, etc... */
});
assistant.message(params, function(err, result, response) {
if (err)
console.log('error:', err);
else
console.log(response.headers);
});
By default, all requests are logged. This can be disabled of by setting the X-Watson-Learning-Opt-Out
header when creating the service instance:
var myInstance = new watson.WhateverServiceV1({
/* username, password, version, url, etc... */
headers: {
"X-Watson-Learning-Opt-Out": true
}
});
You can find links to the documentation at https://console.bluemix.net/developer/watson/documentation. Find the service that you're interested in, click API reference, and then select the Node tab.
There are also auto-generated JSDocs available at http://watson-developer-cloud.github.io/node-sdk/master/
If you are having difficulties using the APIs or have a question about the Watson services, please ask a question at dW Answers or Stack Overflow.
The examples folder has basic and advanced examples.
The Authorization service can generate auth tokens for situations where providing the service username/password is undesirable.
Tokens are valid for 1 hour and may be sent using the X-Watson-Authorization-Token
header or the watson-token
query param.
Note that the token is supplied URL-encoded, and will not be accepted if it is double-encoded in a querystring.
var watson = require('watson-developer-cloud');
var authorization = new watson.AuthorizationV1({
username: '<Text to Speech username>',
password: '<Text to Speech password>',
url: 'https://stream.watsonplatform.net/authorization/api', // Speech tokens
});
authorization.getToken({
url: 'https://stream.watsonplatform.net/text-to-speech/api'
},
function (err, token) {
if (!token) {
console.log('error:', err);
} else {
// Use your token here
}
});
Use the Assistant service to determine the intent of a message.
Note: you must first create a workspace via Bluemix. See the documentation for details.
var AssistantV1 = require('watson-developer-cloud/assistant/v1');
var assistant = new AssistantV1({
username: '<username>',
password: '<password>',
url: 'https://gateway.watsonplatform.net/assistant/api/',
version: '2018-02-16'
});
assistant.message(
{
input: { text: "What's the weather?" },
workspace_id: '<workspace id>'
},
function(err, response) {
if (err) {
console.error(err);
} else {
console.log(JSON.stringify(response, null, 2));
}
}
);
This service has been renamed to Assistant.
Use the Discovery Service to search and analyze structured and unstructured data.
var DiscoveryV1 = require('watson-developer-cloud/discovery/v1');
var discovery = new DiscoveryV1({
username: '<username>',
password: '<password>',
url: 'https://gateway.watsonplatform.net/discovery/api/',
version: '2017-09-01'
});
discovery.query(
{
environment_id: '<environment_id>',
collection_id: '<collection_id>',
query: 'my_query'
},
function(err, response) {
if (err) {
console.error(err);
} else {
console.log(JSON.stringify(response, null, 2));
}
}
);
Translate text from one language to another or idenfity a language using the Language Translator service.
var LanguageTranslatorV2 = require('watson-developer-cloud/language-translator/v2');
var languageTranslator = new LanguageTranslatorV2({
username: '<username>',
password: '<password>',
url: 'https://gateway.watsonplatform.net/language-translator/api/'
});
languageTranslator.translate(
{
text: 'A sentence must have a verb',
source: 'en',
target: 'es'
},
function(err, translation) {
if (err) {
console.log('error:', err);
} else {
console.log(JSON.stringify(translation, null, 2));
}
);
languageTranslator.identify(
{
text:
'The language translator service takes text input and identifies the language used.'
},
function(err, language) {
if (err) {
console.log('error:', err);
} else {
console.log(JSON.stringify(language, null, 2));
}
}
);
Use Natural Language Classifier service to create a classifier instance by providing a set of representative strings and a set of one or more correct classes for each as training. Then use the trained classifier to classify your new question for best matching answers or to retrieve next actions for your application.
var NaturalLanguageClassifierV1 = require('watson-developer-cloud/natural-language-classifier/v1');
var classifier = new NaturalLanguageClassifierV1({
username: '<username>',
password: '<password>',
url: 'https://gateway.watsonplatform.net/natural-language-classifier/api/'
});
classifier.classify(
{
text: 'Is it sunny?',
classifier_id: '<classifier-id>'
},
function(err, response) {
if (err) {
console.log('error:', err);
} else {
console.log(JSON.stringify(response, null, 2));
}
}
);
See this example to learn how to create a classifier.
Use Natural Language Understanding is a collection of natural language processing APIs that help you understand sentiment, keywords, entities, high-level concepts and more.
var fs = require('fs');
var NaturalLanguageUnderstandingV1 = require('watson-developer-cloud/natural-language-understanding/v1.js');
var nlu = new NaturalLanguageUnderstandingV1({
username: '<username>',
password: '<password>',
version: '2018-04-05',
url: 'https://gateway.watsonplatform.net/natural-language-understanding/api/'
});
nlu.analyze(
{
html: file_data, // Buffer or String
features: {
concepts: {},
keywords: {}
}
},
function(err, response) {
if (err) {
console.log('error:', err);
} else {
console.log(JSON.stringify(response, null, 2));
}
}
);
Analyze text in English and get a personality profile by using the Personality Insights service.
var PersonalityInsightsV3 = require('watson-developer-cloud/personality-insights/v3');
var personalityInsights = new PersonalityInsightsV3({
username: '<username>',
password: '<password>',
version: '2016-10-19',
url: 'https://gateway.watsonplatform.net/personality-insights/api/'
});
personalityInsights.profile(
{
content: 'Enter more than 100 unique words here...',
content_type: 'text/plain',
consumption_preferences: true
},
function(err, response) {
if (err) {
console.log('error:', err);
} else {
console.log(JSON.stringify(response, null, 2));
}
}
);
Use the Speech to Text service to recognize the text from a .wav
file.
var SpeechToTextV1 = require('watson-developer-cloud/speech-to-text/v1');
var fs = require('fs');
var speechToText = new SpeechToTextV1({
username: '<username>',
password: '<password>',
url: 'https://stream.watsonplatform.net/speech-to-text/api/'
});
var params = {
// From file
audio: fs.createReadStream('./resources/speech.wav'),
content_type: 'audio/l16; rate=44100'
};
speechToText.recognize(params, function(err, res) {
if (err)
console.log(err);
else
console.log(JSON.stringify(res, null, 2));
});
// or streaming
fs.createReadStream('./resources/speech.wav')
.pipe(speechToText.createRecognizeStream({ content_type: 'audio/l16; rate=44100' }))
.pipe(fs.createWriteStream('./transcription.txt'));
Use the Text to Speech service to synthesize text into a .wav file.
var TextToSpeechV1 = require('watson-developer-cloud/text-to-speech/v1');
var fs = require('fs');
var textToSpeech = new TextToSpeechV1({
username: '<username>',
password: '<password>',
url: 'https://stream.watsonplatform.net/text-to-speech/api/'
});
var params = {
text: 'Hello from IBM Watson',
voice: 'en-US_AllisonVoice', // Optional voice
accept: 'audio/wav'
};
// Synthesize speech, correct the wav header, then save to disk
// (wav header requires a file length, but this is unknown until after the header is already generated and sent)
textToSpeech
.synthesize(params, function(err, audio) {
if (err) {
console.log(err);
return;
}
textToSpeech.repairWavHeader(audio);
fs.writeFileSync('audio.wav', audio);
console.log('audio.wav written with a corrected wav header');
});
Use the Tone Analyzer service to analyze the emotion, writing and social tones of a text.
var ToneAnalyzerV3 = require('watson-developer-cloud/tone-analyzer/v3');
var toneAnalyzer = new ToneAnalyzerV3({
username: '<username>',
password: '<password>',
version: '2016-05-19',
url: 'https://gateway.watsonplatform.net/tone-analyzer/api/'
});
toneAnalyzer.tone(
{
tone_input: 'Greetings from Watson Developer Cloud!',
content_type: 'text/plain'
},
function(err, tone) {
if (err) {
console.log(err);
} else {
console.log(JSON.stringify(tone, null, 2));
}
}
);
Use the Visual Recognition service to recognize the following picture.
var VisualRecognitionV3 = require('watson-developer-cloud/visual-recognition/v3');
var fs = require('fs');
var visualRecognition = new VisualRecognitionV3({
api_key: '<api_key>',
version: '2016-05-20'
});
var params = {
images_file: fs.createReadStream('./resources/car.png')
};
visualRecognition.classify(params, function(err, res) {
if (err) {
console.log(err);
} else {
console.log(JSON.stringify(res, null, 2));
}
});
Sample code for integrating Tone Analyzer and Conversation is provided in the examples directory.
By default, the library tries to use Basic Auth and will ask for api_key
or username
and password
and send an Authorization: Basic XXXXXXX
. You can avoid this by using:
use_unauthenticated
.
var watson = require('watson-developer-cloud');
var assistant = new watson.AssistantV1({
use_unauthenticated: true
});
This library relies on the request
npm module writted by
request to call the Watson Services. To debug the apps, add
'request' to the NODE_DEBUG
environment variable:
$ NODE_DEBUG='request' node app.js
where app.js
is your Node.js file.
Running all the tests:
$ npm test
Running a specific test:
$ mocha -g '<test name>'
Find more open source projects on the IBM Github Page.
This library is licensed under Apache 2.0. Full license text is available in COPYING.
See CONTRIBUTING.
Generated using TypeDoc


| DOSE: |
200 mg |
oral |
Codeine |
(extract) |
A Feeling of Calm
Background: I'm a fairly light 'drugs user' and drinker. I'm a 17 year old male and smoke roughly 10 cigarettes a week. Past experimentation has been with psilocybin (magic mushrooms), caffeine (over dose), marijuana and Hawaiian baby wood rose seeds. Experimenting with psychoactive/analgesic substances is a rare thing for me and I would say I am only addicted to tobacco - I do not regularly drink alcohol or caffeine and have not smoked marijuana for a number of years.
Preparation: I had tried codeine on one previous occasion using the same extraction method and same brand tablets - I therefore knew I wasn't allergic to the substances and vaguely knew the effects to look out for. I had read up on codeine considerably and is the only OTC medication I have used experimentally. I have never been given morphine at a hospital nor used any other opiate.
I acquired a pack of 32 generic 'Boots brand' paracetamol and codeine tablets. Each tablet contained 8mg of codeine phosphate and 500mg of paracetamol - the tablets also contained (for anyone who's interested); maize starch, microcrystalline cellulose, magnesium stearate and sodium metabisulhpite. I decided to use all of the tablets which would result in a dose of 256mg of codeine (most likely less as some would be lost during extraction).
I ground the tablets up using a pestle and mortar and dissolved them in one standard sized mug of 'hot' water (boiled water mixed with cold tap water was used - so that it felt warm/hot but not too boiling). The solution was mixed thoroughly and left to cool to room temperature and was then placed in the freezer for around 15mins, stirring every once in a while. The mixture was then placed in the fridge for a further 15-20mins so that the insoluble powder would fall to the bottom of the mug (makes for easier extraction). I set up 5 empty glasses and slightly soaked 5 coffee filter papers in ice water and then set up the filters. I poured most of the solution from the mug evenly over the five filters and then added ice water to the mug and poured it out evenly again. I left the filters for quite a while till most of the liquid had been extracted (took around 30-40mins). I discarded the left over powder/sludge and mixed all of the extracted liquid with apple juice into one cup.
Note: A small amount of the powder had got into the liquid during the filter process but I decided to go ahead anyway as the liquid was not too murky. I should have filtered the liquid a seconds time, but I didn't want to waste much time. I'm guessing a bit of codeine was lost in the filter process so I will estimate (conservatively) that I was taking 200+ mg of codeine. The solution tasted very bitter, even with apple juice added, but I drank it and held it down.
Time line: I had my laptop with me while taking the codeine so I could write my experience - I'll leave it in mostly note form.
Setting/Mood: Quite anxious, in living room with tv on. In a happy and content mood, dimmed lighting.
7:30 - Drink solution.
7:40 - Start to feel a bit 'strange' - stand up to put a cd on - wobble a bit, like being slightly tipsy but having good concentration. Feel a tiny bit itchy, not much, goes away if ignored. Tried to scratch head at one point, but that just made it more itchy.
8:00 - Relaxed, slumped on sofa - listening to a cd (coldplay, chillout bands etc), not really thinking about much, just 'listening' just 'relaxing'.
8:10 - Watching tele (music still on) adverts are on - I seemed to be able to see 'more of the picture'. I'm much more focused, there was an advert with an ocean scene - my eyes followed the waves back and forth. Feeling heavy and relaxed.
8:15 - Feel a slight paranoia - probably my body knowing something is different and not liking it. No big deal.
8:30 - Closed eyes sitting back on sofa - eyes been closed for quite a while; 10 mins - very relaxed. Feel a 'spinning sensation' like while meditating.  I can visualise 'warmth' flowing up and down my body like a spray/blue light in water. Flowing with every or so breath. I can see the warmth flow from my feet up to my head in 'rings'.
Open eyes to write this before I forget :D Feel quite tired, but still perfectly conscious. I can still write perfectly and the colours in the room feel vivid. Every once in a while I felt very disconnected, like I could see the light from a lamp in the room, but it didn't seem like light - it seemed almost distant, very disconnected.
Strangely I feel quite hungry, but from what I've read I shouldn't feel hungry? don't want to eat tho as I feel it may weaken the high.
8:55 - Went to kitchen to make some food. Can walk straight but I'm walking slower. Look in fridge and get out a ready meal - try to read instructions for microwave on back, I thought I could concentrate very well, but perhaps it was an illusion, read the instructions over and over, takes a while to understand the layout. I put it in the microwave - went to get a kitchen utensil, couldn't decide what to get, fork spoon fork spoon fork spoon. Eventually went with spoon hehe. Went to get a glass of water - my tap is sensitive and I usually turn it too fast/far - this time I subconsciously turned it veerrry slowly. Alot more careful.
9:00 - 9:15 - Eat food, have good co-ordination but I still feel relaxed.
9:20 - Feel a bit nauseous after eating. Not too bad, slightly worse than before, not really sick, more like feeling a bit 'light' or 'airy' if I make sudden movements or a loud noise comes on the tv.
9:40? - 10:10 - Feel quite sick now. Started to come on gradually but then came on quick. Not 'need to run to throw up' type nausea tho. Quite annoying. Could have been due to food I ate (chicken teaka readymeal with a cookie, hehe). Also may have been due to the fact that I took the codeine with half a shot of 20% cherry spirit - the codeine was also slightly murky, so a slightly amount of paracetamol and filler would have been left in. Perhaps a reaction between the acl. and the tablets? or maybe just the food.
10:30? - Sickness feeling pretty much gone now - probably nearly back to baseline.
12:00 - Went to bed, sickness feeling nearly gone but comes back in 'waves'.
Woke up in the night, I looked at my watch and it said 4:00, but as I later found out my watch was broken and had stopped at 4:00, so I don't know what time I actually woke up. Went to sleep again, woke up a couple more times and then eventually went down stairs at 12:00. Felt refreshed. No sickness but a bit 'lite' or weak still. Like a hangover weak but without the headaches etc.
Conclusion: Overall a good experience. The nausea experienced was a bit off-putting and did ruin the high somewhat, but it was extremely euphoric. It didn't last for long though, 2 hours I'd say, peaking at around the 1 hour mark. Perhaps I should try a larger dose. For occasional recreational use it is good and is readily available OTC in the UK, so obtaining it is no problem. However unless a larger dose was used (for me anyway) I would favour something with a longer lasting effect - magic mushrooms would be a better choice for me but unfortunately they have become hard to get hold of in the UK. Perhaps I shall try kratom or something else in the future.
Cheers,
Jow
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


FLOOR 1
FLOOR 2
FLOOR 3
FLOOR 4
FLOOR 1
FLOOR 2
FLOOR 3
FLOOR 4
Smart Water Conservation
Smart Water Conservation
Floor Number : 3
{{ flowrate }}
Flow Rate
{{ pH }}
Temperature
{{ temp }}
pH


Number
Issued
Status
Total price
Customer
Action
No Invoices Available
FV/2019/02/03
15-03-2019 15:00
paid
60.00 PLN
Jan Kowalski
Download
Mark as paid
Issue invoices manually


The HTML5 video element uses an mp4 video as a source. Change the source video to add in your own background! The header text is vertically centered using flex utilities that are build into Bootstrap 4.
The overlay color can be changed by changing the background-color of the .overlay class in the CSS.
background-color
.overlay
Set the mobile fallback image in the CSS by changing the background image of the header element within the media query at the bottom of the CSS snippet.
Created by Start Bootstrap


Decades of over-pumping is now catching up to the people and businesses in and around Beaver County.The graph on below shows the declining groundwater levels over the past 30 years. Local officials worry having enough ground water available for agricultural practices and drinking water for communities. State officials warn that heavy sanctions on groundwater use may be coming unless the community acts quickly to manage groundwater supplies


well i think its time to create a general talk thread..
its good if you want to talk about something small, for which you doesn't want to open a complete new topic.. this could be other games, current news, the weather, what are you doing right now and else ^^
important note: follow the board rules.
Topicstarter
ORFK
Global Moderator
in this situation i will begin...
do anybody remember this game? which could it be :-)
001_triumph__TR_SP_F_01.jpg
Meaurk
Global Moderator
Isn't that from Test Drive Unlimited 2?
Topicstarter
ORFK
Global Moderator
yeah.. mostly right.. its TestDrive Unlimited ;-) not TDU2 :-D
Topicstarter
ORFK
Global Moderator
Watch this awesome documentary about the story of Grand Theft Auto
Every fan should watch it! i like it really!
http://youtu.be/6xhY9LSGbNk
Post edited 1 x times, last by
José Ortega
Global Moderator
José Ortega
Global Moderator
Since this is a general topic...
Someone has a seedbox to share?
BrainFooLong
Administrator
wasakakero wrote:
Someone has a seedbox to share?
Urgh... I guess it was a joke to ask that here.
 I guess it was a joke to ask that here.
You never know where you can find certain things you need... anyway it's just a trash-talk thread so it wont hurt anyone.
BrainFooLong
Administrator
wasakakero wrote:
You never know where you can find certain things you need... anyway it's just a trash-talk thread so it wont hurt anyone.
Well, but you a global mod here and it doesn't look good if global mods ask for seedboxes on getbblog.com.
José Ortega
Global Moderator
BrainFooLong wrote:
Well, but you a global mod here and it doesn't look good if global mods ask for seedboxes on getbblog.com.
I understand, it wasn't for piracy purposes, but i know what you mean.

I would like to thanks every team member job for making BBLog what it is now, because of that job, and the existance of BBLog i just got graduated from i think everyone here calls "High School" (or whatever is called the thing before university.)
You may be asking why?
Well, in our country we have to make some kind of "research work" i actually can't find the propper word in english, but we need to make that to be able to graduate, and i used BBLog as the subject and got the best score of all projects 19/20, in fact the title was something like:
"Better Battlelog: Web Browser Addon Developed in Javascript to Improve the User Experience in Battlelog"
I just came from the graduation ceremony, and all i can say about it is: I owe this to every team member, Roland, Jumpy, ORFK, Meaurk, Juress, Dendari, and so on...
congratulation for your work =)
can we read your work? is it in english? or which language is it written?
or can you publish a transformed version?
Post edited 1 x times, last by
José Ortega
Global Moderator
José Ortega
Global Moderator
Oh well, since the work is in a technical language (with words that arent normally used in Spanish) it would be hard, really hard, to translate it properly to english, but i will give you a little resume.
 (Just theory...)
- How it was made (Roland helped me a lot in this one)
- Did it improved anything? (This is the investigation itself, and i did it by my own, with some test subject around there...)
- Results of the experimentation with the test subjects
It's like a thesis that you may know internationally, im sure of that, but it's a lot, a lot, smaller (even when it took months to complete...) so we as students get used to it before going to the university.
Topicstarter
ORFK
Global Moderator
i know what it is ;-) we have here the same ;-)
my girlfriend speaks spanish, so she could read it :-P
i you want, i'm still interested in one copy :-D
José Ortega
Global Moderator
I'm ashamed because the work is divided in several files just because i didnt know how to use Libre Office properly, lol, but i will upload them as soon as i get to my home, i'm on the way.
yeah thank you.. =)
me and my girlfriend will have a few hours fun, well.. i will, because she will translate everything xD
but i'm really interested in your work =) thank you for publishing it here
Post edited 1 x times, last by
José Ortega
Global Moderator
José Ortega
Global Moderator
I actually dont know why, but some things are missplaced, you will find out by your own.
Maybe i did a backup of the unfinished work and i didn't noticed, at least my personal printed copy is fine and that is the most important thing i need to keep in good conditions :)...
BrainFooLong
Administrator
For me, just the point that someone made a "research work" for BBLog, is epic - bazinga :)
xXJumpyXx
Helping Hand
Congratulations :D
I would have congratulated you earlier, but I've been re-installing Windows 7 and formatting my hard drives.
Well, in our country we have to make some kind of "research work" i actually can't find the propper word in english, but we need to make that to be able to graduate, and i used BBLog as the subject and got the best score of all projects 19/20, in fact the title was something like:
"Better Battlelog: Web Browser Addon Developed in Javascript to Improve the User Experience in Battlelog"
I just came from the graduation ceremony, and all i can say about it is: I owe this to every team member, Roland, Jumpy, ORFK, Meaurk, Juress, Dendari, and so on...
Wow! Congrats, mate!
I'll test my "portunhol".
lol
Btw, can i translate to english/portuguese? I really like this work!
it looks cool =)
this engine in the new GTAV would be awesome! i know it won't happens :-/
but what can you du? just driving on an island and crashing in trees/rocks?
i think the idea is cool but it should have more than just this.
like this, i think it will be boring verry fast :-(
Topicstarter
ORFK
Global Moderator
do you know already the new versions of TrackMania 2?
no? few weeks/month ago, Nadeo had released two new modes/areas..
Stadium:
http://www.youtube.com/watch?v=Ub9CtV524yI
Valley:
http://www.youtube.com/watch?v=Mu7buNPYVEU
i personally like valley much more, but i think i will buy both of them.
the first mode/area - Canyon - looks cool too but i like the other two more..
http://www.youtube.com/watch?v=hptyc1g3ggw
who is playing trackmania2 (and maybe still trackmania united/nations forever) too?
BrainFooLong
Administrator
I have TM United, TM² Canyon and TM² Stadium.
juress
Theme Developer
I played TM2 stadium... cool game, like the one before, but the one before was free and I don't think they improved it that much (except graphic) that they need to charge you 10€ for it.
José Ortega
Global Moderator
Nano wrote:
I'll test my "portunhol".
lol
Btw, can i translate to english/portuguese? I really like this work!
Yeah, sure.
Sorry for the late response, im far away from my PC at the moment so i have to use my cellphone (roland, tapatalk/phone version is nedeed)
Topicstarter
ORFK
Global Moderator
juress wrote:
I don't think they improved it that much that they need to charge you 10€ for it.
thats what i tought too, in the trailer and gameplay videos i can't see big changes.
like they wrote on their website they have optimized the gravity and physics..
wasakakero wrote:
(roland, tapatalk/phone version is nedeed)
i think we already had this discussion years ago.. ;-)
Meaurk
Global Moderator
ORFK wrote:
wasakakero wrote:
(roland, tapatalk/phone version is nedeed)
i think we already had this discussion years ago.. ;-)
Nothing wrong with the original site on my iPhone, nor on my parents HTC one and Samsung GS4. No need to make a mobile version. It's just the normal site, only a bit smaller. :-)
And yes, I agree with ORFK. We had this discussion before.
Topicstarter
ORFK
Global Moderator
Meaurk wrote:
We had this discussion before.
right... here
http://getbblog.com/board/topic/1631/1/Tapatalk
Post edited 1 x times, last by
ORFK
Global Moderator
Topicstarter
ORFK
Global Moderator
RockstarGames had updated the Website from GTA V...
Check out
http://rockstargames.com/V
and enjoy the new pics/information.
PS: share the website on lifeinvader :-D
Topicstarter
ORFK
Global Moderator
http://www.youtube.com/watch?v=olEGtoYs_8A
BrainFooLong
Administrator
Still no PC version so all things are totally pointless for me.
Topicstarter
ORFK
Global Moderator
come on brain, i'm 100% shure they WILL release it for PC.
they have no chance, because they would make a lof of PC players REALLY angry!
but its nice to see the video, the content, the possibilities, the map :-)
Post edited 1 x times, last by
BrainFooLong
Administrator
BrainFooLong
Administrator
ORFK wrote:
come on brain, i'm 100% shure they WILL release it for PC.
they have no chance, because they would make a lof of PC players REALLY angry!
but its nice to see the video, the content, the possibilities, the map :-)
Publisher don't think logical. But yes, if they release it for PC i buy it for 100%. On the other side, i have Watch Dogs as a second blockbuster game. And BF4 as a third blockbuster game, so, i have some games even if GTA isn't available for PC.
I_like_Chocolate
Hello guys!
I need some help. (Yep I know it is not an offical forum but i thought somebuddy had same issues before)
So basicly my problem is: I want to join a server. The game starts, but when in the box (on the buttom right) say <<connecting>>, battlefield shuts down after a few seconds and it says "Game disconnected: could not join server."
not join.PNG
The wierd thing is, that that don't happen on all servers. For example: I can join on Pun1a's server.
Maybe you had same issues before and you can help me :/
Brady_The
twm-killerkeks wrote:
Hello guys!
I need some help. (Yep I know it is not an offical forum but i thought somebuddy had same issues before)
So basicly my problem is: I want to join a server. The game starts, but when in the box (on the buttom right) say <<connecting>>, battlefield shuts down after a few seconds and it says "Game disconnected: could not join server."
not join.PNG
The wierd thing is, that that don't happen on all servers. For example: I can join on Pun1a's server.
Maybe you had same issues before and you can help me :/
I did got this message a lot and logging out/in from Battlelog/Origin usually solved it.
Topicstarter
ORFK
Global Moderator
Battlefield Friends - CLOSE QUARTERS - with the beautiful side of Frostbite2 and Battlefield3
http://youtu.be/ody0TQ1cQrA
Meaurk
Global Moderator
Meh, it really isn't that good anymore.
Post edited 1 x times, last by
José Ortega
Global Moderator
José Ortega
Global Moderator
I think im in love... i´ve been playing warthunder with this england/english guy (i have no idea how to say it) for about 1 week, and suddenly...
http://i.imgur.com/0ysC9CI.jpg
Meaurk
Global Moderator
Ohlala, cheeky Wakakero! :p
Post edited 1 x times, last by
José Ortega
Global Moderator
José Ortega
Global Moderator
Well, i guess you wouldn't be happy as i'm because you can expend foreign currency without any governament restriction (as my 400$ limit per year)
But well, i'm really grateful to that person, War Thunder is an excelent F2P game, it is not P2W but definetly paying gives you an advantage... in time... because you can do everything a premium player do, but slower (EXP, Crew EXP...)
If anyone loves to fly in games, give it a try.
Post edited 1 x times, last by
dapil
Plugin Developer
dapil
Plugin Developer
I played War Thunder for some time now and I love it!
BTW if someone wants to add me, my username is dapil.
José Ortega
Global Moderator
dapil wrote:
I played War Thunder for some time now and I love it!
BTW if someone wants to add me, my username is dapil.
Whenever i get home (maybe the next week) i'll add you.
Meaurk
Global Moderator
You guys like fly-games, right? :) Apple's app-of-the-week is "Sky Gamblers: Storm Raiders" for iPhone and iPad. Link:
no... sorry, not the same like on a PC with flight sim ^^
Topicstarter
ORFK
Global Moderator
Five ways to survive the wait for GTA5
i prefer the combination of number 4 and 5 ;-D
http://youtu.be/10-qSeoTt4c
Post edited 1 x times, last by
I_like_Chocolate
I_like_Chocolate
Hey Guys! I know that this will be an advertise, but I want to show you my own Video-Series.
It's called "Funny times when I play" and, how you can think, shows funny Scenes out of gaming.
I will post the first part and last part (-> which I uploaded today) here. I would like to hear your opinions.
first:
http://youtu.be/R0LLA8J77Pg
last:
http://youtu.be/mHwUxNyVS0Q
José Ortega
Global Moderator
I can't say i didn't laugh at this.
http://i.imgur.com/LLf1WPx.png
xXJumpyXx
Helping Hand
Well, if that's not an inspiring speech, I don't know what is.
Post edited 1 x times, last by
José Ortega
Global Moderator
José Ortega
Global Moderator
I can't believe how easy is for people in North America and Europe to spend 20$ in someone else, it's nothing for most of them.


This app will code and decode words in ROT13 cipher.
You can pass numbers and other non-alphabetical signs
(including spaces),
but only letters will be changed.
Input words which you would like to code:
Input ROT13 cipher which you would like to decode:
Please be advised that ROT13 is very easy to break.
You shouldn't use it for important passwords etc.


One of the selling points of Elixir is its support for concurrency. Thanks to the Erlang VM (BEAM), concurrency in Elixir is easier than expected. The concurrency model relies on Actors, a contained process that communicates with other processes through message passing.
In this lesson we’ll look at the concurrency modules that ship with Elixir. In the following chapter we cover the OTP behaviors that implement them.
Table of Contents
Processes
Processes in the Erlang VM are lightweight and run across all CPUs. While they may seem like native threads, they’re simpler and it’s not uncommon to have thousands of concurrent processes in an Elixir application.
The easiest way to create a new process is spawn
, which takes either an anonymous or named function.
When we create a new process it returns a Process Identifier, or PID, to uniquely identify it within our application.
To start we’ll create a module and define a function we’d like to run:
defmodule Example do
def add(a, b) do
IO.puts(a + b)
end
end
iex> Example.add(2, 3)
5
:ok
To evaluate the function asynchronously we use spawn/3
:
iex> spawn(Example, :add, [2, 3])
5
#PID<0.80.0>
Message Passing
To communicate, processes rely on message passing.
There are two main components to this: send/2
and receive
.
The send/2
function allows us to send messages to PIDs.
To listen we use receive
to match messages.
If no match is found the execution continues uninterrupted.
defmodule Example do
def listen do
receive do
{:ok, "hello"} -> IO.puts("World")
end
listen()
end
end
iex> pid = spawn(Example, :listen, [])
#PID<0.108.0>
iex> send pid, {:ok, "hello"}
World
{:ok, "hello"}
iex> send pid, :ok
:ok
You may notice that the listen/0
function is recursive, this allows our process to handle multiple messages.
Without recursion our process would exit after handling the first message.
Process Linking
One problem with spawn
is knowing when a process crashes.
For that we need to link our processes using spawn_link
.
Two linked processes will receive exit notifications from one another:
defmodule Example do
def explode, do: exit(:kaboom)
end
iex> spawn(Example, :explode, [])
#PID<0.66.0>
iex> spawn_link(Example, :explode, [])
** (EXIT from #PID<0.57.0>) evaluator process exited with reason: :kaboom
Sometimes we don’t want our linked process to crash the current one.
For that we need to trap the exits using Process.flag/2
.
It uses erlang’s process_flag/2 function for the trap_exit
flag. When trapping exits (trap_exit
is set to true
), exit signals will be received as a tuple message: {:EXIT, from_pid, reason}
.
defmodule Example do
def explode, do: exit(:kaboom)
def run do
Process.flag(:trap_exit, true)
spawn_link(Example, :explode, [])
receive do
{:EXIT, _from_pid, reason} -> IO.puts("Exit reason: #{reason}")
end
end
end
iex> Example.run
Exit reason: kaboom
:ok
Process Monitoring
What if we don’t want to link two processes but still be kept informed? For that we can use process monitoring with spawn_monitor
.
When we monitor a process we get a message if the process crashes without our current process crashing or needing to explicitly trap exits.
defmodule Example do
def explode, do: exit(:kaboom)
def run do
spawn_monitor(Example, :explode, [])
receive do
{:DOWN, _ref, :process, _from_pid, reason} -> IO.puts("Exit reason: #{reason}")
end
end
end
iex> Example.run
Exit reason: kaboom
:ok
Agents
Agents are an abstraction around background processes maintaining state. We can access them from other processes within our application and node. The state of our Agent is set to our function’s return value:
iex> {:ok, agent} = Agent.start_link(fn -> [1, 2, 3] end)
{:ok, #PID<0.65.0>}
iex> Agent.update(agent, fn (state) -> state ++ [4, 5] end)
:ok
iex> Agent.get(agent, &(&1))
[1, 2, 3, 4, 5]
When we name an Agent we can refer to it by that instead of its PID:
iex> Agent.start_link(fn -> [1, 2, 3] end, name: Numbers)
{:ok, #PID<0.74.0>}
iex> Agent.get(Numbers, &(&1))
[1, 2, 3]
Tasks
Tasks provide a way to execute a function in the background and retrieve its return value later. They can be particularly useful when handling expensive operations without blocking the application execution.
defmodule Example do
def double(x) do
:timer.sleep(2000)
x * 2
end
end
iex> task = Task.async(Example, :double, [2000])
%Task{
owner: #PID<0.105.0>,
pid: #PID<0.114.0>,
ref: #Reference<0.2418076177.4129030147.64217>
}
# Do some work
iex> Task.await(task)
4000
Caught a mistake or want to contribute to the lesson? Edit this page on GitHub!