VORBISCOMMENT(1) Ogg Vorbis Tools VORBISCOMMENT(1) NAME vorbiscomment - List or edit comments in Ogg Vorbis files SYNOPSIS vorbiscomment [-l] [-R] [-e] file.ogg vorbiscomment -a [ -c commentfile | -t “name=value” ] [-q] [-R] [-e] in.ogg [out.ogg] vorbiscomment -w [ -c commentfile | -t “name=value” ] [-q] [-R] [-e] in.ogg [out.ogg] DESCRIPTION vorbiscomment Reads, modifies, and appends Ogg Vorbis audio file metadata tags. OPTIONS -a, --append Append comments. -c file, --commentfile file Take comments from a file. The file is the same format as is out‐ put by the the -l option or given to the -t option: one element per line in 'tag=value' format. If the file is /dev/null and -w was passed, the existing comments will be removed. -h, --help Show command help. -l, --list List the comments in the Ogg Vorbis file. -q, --quiet Quiet mode. No messages are displayed. -t 'name=value', --tag 'name=value' Specify a new tag on the command line. Each tag is given as a sin‐ gle string. The part before the '=' is treated as the tag name and the part after as the value. -w, --write Replace comments with the new set given either on the command line with -t or from a file with -c. If neither -c nor -t is given, the new set will be read from the standard input. -R, --raw Read and write comments in UTF-8, rather than converting to the user's character set. -e, --escapes Quote/unquote newlines and backslashes in the comments. This ensures every comment is exactly one line in the output (or input), allowing to filter and round-trip them. Without it, you can only write multi-line comments by using -t and you can't reli‐ ably distinguish them from multiple one-line comments. Supported escapes are c-style "\n", "\r", "\\" and "\0". A back‐ slash followed by anything else is an error. Note: currently, anything after the first "\0" is thrown away while writing. This is a bug -- the Vorbis format can safely store null characters, but most other tools wouldn't handle them anyway. -V, --version Display the version of vorbiscomment. EXAMPLES To just see what comment tags are in a file: vorbiscomment -l file.ogg To edit those comments: vorbiscomment -l file.ogg > file.txt [edit the comments in file.txt to your satisfaction] vorbiscomment -w -c file.txt file.ogg newfile.ogg To simply add a comment: vorbiscomment -a -t 'ARTIST=No One You Know' file.ogg newfile.ogg To add a set of comments from the standard input: vorbiscomment -a file.ogg ARTIST=No One You Know ALBUM=The Famous Album <ctrl-d> TAG FORMAT See http://xiph.org/ogg/vorbis/doc/v-comment.html for documentation on the Ogg Vorbis tag format, including a suggested list of canonical tag names. AUTHORS Program Authors: Michael Smith<EMAIL_ADDRESS>Ralph Giles<EMAIL_ADDRESS>Manpage Author: Christopher L Cheney<EMAIL_ADDRESS>SEE ALSO oggenc(1), oggdec(1), ogg123(1), ogginfo(1) Xiph.Org Foundation December 30, 2008 VORBISCOMMENT(1)


LOADING...
Med Math Practice
Instructions
Hover Here for more information
DD = Desired Dose - What the doctor has ordered (weight based and/or rate based)
PtWT = Patient Weight - the weight of the Patient (usually in kg for weight based calculations)
DOH = Drug on Hand - amount of drug (concentration) available
DS = Drip set - size of drip set (micro/macro - 60/15/10 - gtt/ml/min)
BAG = Size of the IV (in ml)
DRUG WT = Weight of available drug (g/mg/mcg)
DRUG VOL = Volume of packaged drug (ml)
Look out for unit conversions (make sure everything is converted correctly)
Scenario
{{ scenarioText }}
Calculation Area
Hover here for a calculation hint.
{{ calcFormText }}
DD - Desired Dose Calculation
DOH - Dose On Hand
PLACHOLDER FOR DOSE ON HAND CALCULATION
Drip Set
PLACHOLDER FOR DRIPSET SELECTION
IV Bolus Calculation
PLACHOLDER FOR IV BOLUS SELECTION
Fluid Rate Calculation
PLACHOLDER FOR IV BOLUS SELECTION


Design Decisions
DD 20100521: The factory method of DataDescriptor requires type
argument in addition to data argument
Two reason by now:
-
In the case of the given data is null, client is allowed to
specify the type explicitly.
-
The type argument provides possibility to support some kind of
explicit declared type instead of using the actual type of
the data.
DD 20100522:
- DataDescriptor
- ObjectDescriptor
- ProxyDescriptor


doug seay huntsville alabama
Athens-Limestone Hospital Staff (Search FastHealth.com) Athens ...
tumblr counter. Athens-Limestone Hospital .
http://www.athenslimestonehospital.com/list_specialty_print.php
Madison County Alabama Inmate Roster
13A-6-132, 000-0000 (HUNTSVILLE POLICE DEPARTMENT), DOMESTIC VIOLENCE THIRD DEGREE, T, M, $0.00. 13A-10-2, 000-0000 (HUNTSVILLE . KIRBY, JOHN DOUGLAS (W / MALE) . SEAY, TERRANCE MARQUAZ (B / MALE) .
http://jail.madisoncountyal.gov/
Reading, Writing and Racism: A WAFF 48 News Special Report ...
HUNTSVILLE, AL (WAFF) - Separate schools for white and black children sounds . Of course, the racist language that was inserted in 1901," said Doug Seay, .
http://www.waff.com/story/14075164/reading-writing-and-racism-a-waff-48-news-special-report
Instructions
-
-
1
Board of Directors/Web - Alabama Citizens for Constitutional Reform
Birmingham. Marian Loftin Dothan. Alan Mathis Birmingham. George Petty Florence. Doug Seay Membership Chair Huntsville. Chris Sims Treasurer Huntsville .
http://www.constitutionalreform.org/staff.shtmlto find your local ACCR Chapter - Alabama Citizens for ...
George Petty Email<EMAIL_ADDRESS>Huntsville-Sand Mountain Region: DeKalb, Jackson, Limestone, Madison and Marshall Counties Doug Seay Visit Web .
http://www.constitutionalreform.org/localchapters.shtml -
2
The Redstone Rocket: Around Town
The University of Alabama-Huntsville has received an innovation grant that will be instrumental in advancing propulsion technology and maintaining Alabama's .
http://www.theredstonerocket.com/around_town/Latham United Methodist Church - Huntsville, AL - Church | Facebook
Latham United Methodist Church, Huntsville, AL. . If you haven't had the opportunity, find Doug Seay this Sunday morning and write your favorite verse and a .
http://www.facebook.com/pages/Latham-United-Methodist-Church/122643581679 -
-
3
Seay - Huntsville, Alabama Area
There are 20 professionals with last name Seay in the Huntsville, Alabama Area, who use LinkedIn to exchange information, ideas, and opportunities.
http://www.linkedin.com/pub/dir/+/Seay/us-344-Huntsville,-Alabama-AreaDouglas Seay | LinkedIn
View Douglas Seay's professional profile on LinkedIn. LinkedIn is the . Join LinkedIn and access Douglas Seay's full profile. . Huntsville, Alabama Area .
http://www.linkedin.com/pub/douglas-seay/33/630/76 -
4
Doug Seay profiles | LinkedIn
View the profiles of professionals named Doug Seay on LinkedIn. There are 10 professionals named Doug Seay, who use LinkedIn to exchange information, .
http://www.linkedin.com/pub/dir/Doug/SeayReading program inspires school's first-graders - The Redstone ...
Feb 6, 2013 . Redstone retiree Doug Seay saw the need for a reading program at L.J. Morris Elementary School in Huntsville. So, he did something about it. . Published in the interest of personnel at Redstone Arsenal, AL. Connect with us: .
http://www.theredstonerocket.com/around_town/article_141f8ab6-7069-11e2-becd-0019bb2963f4.html
-
1
References
Resources
- Photo Credit Justice image by MVit from gasoline engine saw rail cutter


You can install the stable version of greta from CRAN:
install.packages("greta")
or the development version from GitHub using devtools:
devtools::install_github("greta-dev/greta")
then load the package
library(greta)
Before you can fit models with greta, you will also need to have a working installation of Google’s TensorFlow python package (version 1.10.0 or higher) and the tensorflow-probability python package (version 0.3.0 or higher). greta exports install_tensorflow()
from the tensorflow
R package, which you can use to install the latest versions of these packages from within your R session. The best way to install these differs depending on how you installed Python.
If you don’t yet have these installed, the startup message for the greta package provides instructions on how to install them for your system. If in doubt just follow those. If you want greta to run as fast as possible on your computer’s CPUs, it would be worth installing python and TensorFlow using Anaconda since they will be automatically configured to use Intel’s MKL routines, which provide a 2-8 fold sampling speedup on most models.
If you installed Python with Anaconda, you can install tensorflow with:
install_tensorflow(method = "conda")
Anaconda doesn’t have a binary for TensorFlow Probability, but you can install it with the following command:
reticulate::conda_install("r-tensorflow", "tensorflow-probability", pip = TRUE)
If you installed python without Anaconda, you can install the latest versions of both packages with the following command:
install_tensorflow(extra_packages = "tensorflow-probability")
You can also use install_tensorflow()
to install different versions of TensorFlow, including versions with GPU acceleration. If you’re having trouble with this step, this guide may help.
greta’s plotting functionality depends on the DiagrammeR package. Because DiagrammeR depends on the igraph package, which contains a large amount of code that needs to be compiled, DiagrammeR often takes a long time to install. So, DiagrammeR isn’t installed automatically with greta. If you want to plot greta models, you can install igraph and DiagrammeR from CRAN.
install.packages("igraph")
install.packages("DiagrammeR")
igraph can be difficult to install on some machines, due to dependencies on the XML R package and libxml2 and gfortran software libraries. There are workarounds to these issues (e.g. here and here) but if you can’t get it to work, you can still use greta for everything except plotting models.
greta lets us build statistical models interactively in R, and then sample from them by MCMC. We build greta models with greta array objects, which behave much like R’s array, matrix and vector objects for numeric data. Like those numeric data objects, greta arrays can be manipulated with functions and mathematical operators to create new greta arrays.
The key difference between greta arrays and numeric data objects is that when you do something to a greta array, greta doesn’t calculate the values of the new greta array. Instead, it just remembers what operation to do, and works out the size and shape of the result.
For example, we can create a greta array z
representing some data (a 3x3 matrix of 1s):
(z <- ones(3, 3))
greta array (data)
[,1] [,2] [,3]
[1,] 1 1 1
[2,] 1 1 1
[3,] 1 1 1
we can then create a new greta array z2
by doing something to z
:
greta array (operation)
[,1] [,2] [,3]
[1,] ? ? ?
[2,] ? ? ?
[3,] ? ? ?
greta knows the result must also be a 3x3 matrix, but it doesn’t try to calculate the results. Instead it treats the new greta array z2
like a placeholder, for which it will calculate the results later.
Because greta only creates placeholders when we’re building our model, we can construct models using greta arrays that represent unknown variables. For example, if we create a new greta array a
representing some unknown values, we can still manipulate it as though it were data:
greta array (variable)
[,1] [,2] [,3]
[1,] ? ? ?
[2,] ? ? ?
[3,] ? ? ?
greta array (operation)
[,1] [,2] [,3]
[1,] ? ? ?
[2,] ? ? ?
[3,] ? ? ?
This allows us to create a wide range of models, like in the general-purpose modelling languages like BUGS and Stan. But unlike those languages we build greta models interactively in R so get feedback immediately if there’s a mistake like a misspelled variable name or if one of our greta arrays has the wrong shape.
greta also lets us declare that a greta array follows a probability distribution, allowing us to train models using observed data, and to define prior distributions over our parameters, for Bayesian analyses.
The rest of this vignette walks through an example of fitting a model using greta. If you’d like to see examples of some common models fitted in greta and with equivalent BUGS and Stan code, take a look at Example models. If you’d like more technical details about how greta works under the hood, check out Technical details.
The rest of the vignette explains step-by-step how to build, visualise and fit a model with greta. We’ll be stepping through a model for linear regression between two of the variables in the iris
dataset, which is included with base R. The model is Bayesian (we specify priors over the variables), though it is also possible to do frequentist (no priors) inference in greta, using variable()
instead of a probability distribution to create random variables.
Here’s the whole script to specify and fit the model:
library(greta)
# data
x <- as_data(iris$Petal.Length)
y <- as_data(iris$Sepal.Length)
# variables and priors
int <- normal(0, 1)
coef <- normal(0, 3)
sd <- student(3, 0, 1, truncation = c(0, Inf))
# operations
mean <- int + coef * x
# likelihood
distribution(y) <- normal(mean, sd)
# defining the model
m <- model(int, coef, sd)
# plotting
plot(m)
# sampling
draws <- mcmc(m, n_samples = 1000)
The first section of the script takes the iris data (which is automatically loaded) and converts the two columns we care about into greta arrays:
The greta function as_data()
converts other R objects into greta arrays. In this case it’s converting numeric vectors (the two columns of the iris dataframe) into greta arrays. as_data()
can also convert matrices and R arrays with numeric, integer or logical (TRUE
or FALSE
) values into greta arrays. It can also convert dataframes to greta arrays, so long as all elements are either numeric, integer or logical.
E.g. we can convert the first 5 rows and 4 columns of the iris dataframe, and print the result:
as_data(iris[1:5, 1:4])
greta array (data)
[,1] [,2] [,3] [,4]
[1,] 5.1 3.5 1.4 0.2
[2,] 4.9 3.0 1.4 0.2
[3,] 4.7 3.2 1.3 0.2
[4,] 4.6 3.1 1.5 0.2
[5,] 5.0 3.6 1.4 0.2
Whenever as_data()
converts logical values to greta arrays, it converts them to 1s (for TRUE
) and 0s (for FALSE
). E.g. if we first convert the last column of iris
from a factor into a logical vector, we can see this:
(is_setosa <- iris$Species[c(1, 41, 81, 121)] == "setosa")
[1] TRUE TRUE FALSE FALSE
as_data(is_setosa)
greta array (data)
[,1]
[1,] 1
[2,] 1
[3,] 0
[4,] 0
You can also see from this example that greta arrays always consider a vector as either a column vector (the default) or a row vector, and greta arrays always have at least two dimensions:
[1] 4 1
For many models, we don’t have to explicitly convert data to greta arrays, the R objects will be converted automatically when we do an operation on them. That’s handy for when we want to use constants in our model because it saves us manually converting numbers each time. However, it’s good practice to explicitly convert your data to a greta array using as_data()
. This has two advantages: it lets greta work out the names of your data greta arrays (e.g. x
and y
in our example) which it can use when plotting the model; and as_data()
will check your data for missing (NA
) or non-finite (Inf
or -Inf
) values, which will break the model.
greta also provides some convenience functions to generate fixed numeric values. ones()
and zeros()
create greta arrays filled with either 1 or zero, and with the specified dimensions:
ones(1, 3)
greta array (data)
[,1] [,2] [,3]
[1,] 1 1 1
zeros(2, 2)
greta array (data)
[,1] [,2]
[1,] 0 0
[2,] 0 0
The greta_array()
function generalises this to let you create greta arrays with any values, in the same way as R’s array()
function:
greta_array(pi, dim = c(2, 2))
greta array (data)
[,1] [,2]
[1,] 3.141593 3.141593
[2,] 3.141593 3.141593
greta_array(0:1, dim = c(3, 3))
greta array (data)
[,1] [,2] [,3]
[1,] 0 1 0
[2,] 1 0 1
[3,] 0 1 0
greta_array()
is just a thin wrapper around array()
, provided for convenience. A command like greta_array(<some arguments>)
has exactly the same effect as: as_data(array<some arguments>)
.
The second section of the script creates three greta arrays to represent the parameters in our model:
Each of these is a variable greta array, and each is assumed a priori (before fitting to data) to follow a different probability distribution. In other words, these are prior distributions over variables, which we need to specify to make this a full Bayesian analysis. Before going through how to specify variables with probability distributions, it will be clearer to first demonstrate the alternative; variables without probability distributions.
If we were carrying out a frequentist analysis of this model, we could create variable greta arrays (values we want to learn) without probability distributions using the variable()
function. E.g. in a frequentist version of the model we could create int
with:
(int <- variable())
greta array (variable)
[,1]
[1,] ?
variable()
has three arguments. The first two arguments determine the constraints on this parameter; we left them at their default setting of lower = -Inf, upper = Inf
meaning the variables can take any value on the real number line. The third argument gives the dimensions of the greta array to return, in this case we left it at its default value of 1x1 (a scalar).
We can create a variable constrained between two values by specifying lower
and upper
. So we could have created the positive variable sd
(the standard deviation of the likelihood) with:
(sd <- variable(lower = 0))
greta array (variable)
[,1]
[1,] ?
If we had instead wanted a 2x3 array of positive variables we could have created it like this:
greta array (variable)
[,1] [,2] [,3]
[1,] ? ? ?
[2,] ? ? ?
In our example script, when we created the variables int
, coef
and sd
, we simultaneously stated the prior distributions for them using some of greta’s probability distribution functions. You can see a list of the currently available distributions in the ?greta::distributions
helpfile. Each of these distribution functions takes as arguments the distribution’s parameters (either as numbers or other greta arrays), as well as the dimensions of the resulting greta array. As before, we left the dimensions arguments at their default value to create scalar greta arrays.
Both int
and coef
were given zero-mean normal distributions, which are a common choice of prior for unconstrained variables in Bayesian analyses. For the strictly positive parameter sd
, we chose a slightly unconventional option, a positive-truncated (non-standard) student’s t distribution, which we create using greta’s built-in support for truncated distributions.
Some of greta’s probability distributions (those that are continuous and univariate) can be specified as truncated distributions. By modifying the truncation
argument, we can state that the resulting distribution should be truncated between the two truncation bounds. So to create a standard normal distribution truncated between -1 and 1 we can do:
greta array (variable following a normal distribution)
[,1]
[1,] ?
greta will account for this truncation when calculating the density of this distribution; rescaling it to be a valid probability distribution. We can only truncate to within the support of the distribution; e.g. greta will throw an error if we try to truncate a lognormal distribution (which must be positive) to have a lower bound of -1.
The third section of the script uses mathematical operators to combine some of our parameters and data, to calculate the predicted sepal lengths, for a given parameter set:
Because int
and coef
are both scalars, the resulting greta array mean
has the same dimensions as x
; a column vector with 150 elements:
dim(mean)
[1] 150 1
head(mean)
greta array (operation)
[,1]
[1,] ?
[2,] ?
[3,] ?
[4,] ?
[5,] ?
[6,] ?
greta arrays can be manipulated using R’s standard arithmetic, logical and relational operators; including +
, *
and many others. The ?greta::operators
help file lists the operators that are implemented for greta arrays. You can also use a lot of common R functions for numeric data, such as sum()
, log()
and others. the available functions are listed in the ?greta::functions
helpfile. All of these mathematical manipulations of greta arrays produce ‘operation’ greta arrays.
We can use R’s extract and replace syntax (using [
) on greta arrays, just like with R’s vectors, matrices and arrays. E.g. to extract elements from mean
we can do:
greta array (operation)
[,1]
[1,] ?
[2,] ?
[3,] ?
We can assign values from one greta array to another too. For example, if we wanted to create a matrix that has random normal variables in the first column, but zeros everywhere else, we could do:
greta array (operation)
[,1] [,2] [,3]
[1,] ? 0 0
[2,] ? 0 0
[3,] ? 0 0
[4,] ? 0 0
R’s subset operator [
has an argument drop
, which determines whether to reduce the number of dimensions of a array or matrix when the object has zero elements in that dimension. By default, drop = TRUE
for R objects, so matrices are automatically converted into vectors (which have dimension NULL
) if you take out a single column:
NULL
dim(z[, 1, drop = FALSE])
[1] 2 1
greta arrays must always have two dimensions, so greta always acts as though drop = FALSE
:
[1] 2 1
We can write our own functions for greta arrays, using the existing operators and functions. For example, we could define the inverse hyperbolic tangent function for greta arrays like this:
greta array (operation)
[,1] [,2]
[1,] ? ?
[2,] ? ?
So far, we have created greta arrays representing the variables in our model (with prior distributions) and created other greta arrays from them and some fixed, independent data. To perform statistical inference on this model, we also need to link it to some observed dependent data. By comparing the sepal lengths predicted under different parameter values with the observed sepal lengths, we can estimate the most plausible values of those parameters. We do that by defining a likelihood for the observed sepal length data y
.
By defining a likelihood over observed data, we are stating that these observed data are actually a random sample from some probability distribution, and we’re trying to work out the parameters of that distribution. In greta we do that with the distribution()
assignment function:
distribution(y) <- normal(mean, sd)
With the syntax distribution(<lhs>) <- <rhs>
, we are stating that the data greta array on the left <lhs>
has the same distribution as the greta array on the right <rhs>
. In this case, we’re temporarily creating a random variable with a normal distribution (with parameters determined by the greta arrays mean
and sd
), but then stating that values of that distribution have been observed (y
). In this case both <lhs>
(y
) and <rhs>
are column vectors with the same dimensions, so each element in y
has a normal distribution with the corresponding parameters.
Now all of the greta arrays making up the model have been created, we need to combine them and set up the model so that we can sample from it, using model()
:
m <- model(int, coef, sd)
model()
returns a ‘greta model’ object, which combines all of the greta arrays that make up the model. We can pass greta arrays as arguments to model()
to flag them as the parameters we’re interested in. When sampling from the model with mcmc()
those will be the greta arrays for which samples will be returned. Alternatively, we can run model()
without passing any greta arrays, in which case all of the greta arrays (except for data greta arrays) in the working environment will be set as the targets for sampling instead.
greta provides a plot function for greta models to help you visualise and check the model before sampling from it.
plot(m)
The greta arrays in your workspace that are used in the model are all represented as nodes (shapes) with names. These are either data (squares; x
and y
), variables (large circles; int
, coef
, sd
) or the results of operations (small circles; mean
). The operations used to create the operation greta arrays are printed on the arrows from the arrays they were made from. There are also nodes for greta arrays that were implicitly defined in our model. The data nodes (squares) with numbers are the parameters used to define the prior distributions, and there’s also an intermediate operation node (small circle), which was the result of multiplying coef
and x
(before adding int
to create mean
).
Here’s a legend for the plot (it’s in the ?greta::model
helpfile too):
The fourth type of node (diamonds) represents probability distributions. These have greta arrays as parameters (linked via solid lines), and have other greta arrays as values(linked via dashed lines). Distributions calculate the probability density of the values, given the parameters and their distribution type.
For example, a plot of just the prior distribution over coef
(defined as coef <- normal(0, 3)
) shows the parameters as data leading into the normal distribution, and a dashed arrow leading out to the distribution’s value, the variable coef
:
It’s the same for the model likelihood, but this time the distribution’s parameters are a variable (sd
) and the result of an operation (mean
), and the distribution’s value is given by data (the observed sepal lengths y
):
When defining the model, greta combines all of the distributions together to define the joint density of the model, a measure of how ‘good’ (or how probable if we’re being Bayesian) are a particular candidate set of values for the variables in the model.
Now we have a greta model that will give us the joint density for a candidate set of values, so we can use that to carry out inference on the model. We do that using an Markov chain Monte Carlo (MCMC) algorithm to sample values of the parameters we’re interested in, using the mcmc()
function:
draws <- mcmc(m, n_samples = 1000)
Here we’re using 1000 steps of the static Hamiltonian Monte Carlo (HMC) algorithm on each of 4 separate chains, giving us 4000 samples. HMC uses the gradients of the joint density to efficiently explore the set of parameters. By default, greta also spends 1000 iterations on each chain ‘warming up’ (tuning the sampler parameters) and ‘burning in’ (moving to the area of highest probability) the sampler.
draws
is a greta_mcmc_list
object, which inherits from the coda R package’s mcmc.list
object. So we can use functions from coda, or one of the many other MCMC software packages that use this format, to plot and summarise the MCMC samples.
summary(draws)
Iterations = 1:1000
Thinning interval = 1
Number of chains = 4
Sample size per chain = 1000
1. Empirical mean and standard deviation for each variable,
plus standard error of the mean:
Mean SD Naive SE Time-series SE
int 4.2803 0.07807 0.0012343 0.0014083
coef 0.4146 0.01884 0.0002979 0.0003364
sd 0.4103 0.02395 0.0003787 0.0004092
2. Quantiles for each variable:
2.5% 25% 50% 75% 97.5%
int 4.1245 4.2286 4.2814 4.3325 4.4310
coef 0.3774 0.4021 0.4143 0.4272 0.4516
sd 0.3668 0.3933 0.4090 0.4259 0.4616
The bayesplot package makes some nice plots of the MCMC chain and the parameter estimates
library (bayesplot)
mcmc_trace(draws, facet_args = list(nrow = 3, ncol = 1))
mcmc_intervals(draws)
If your model is taking a long time whilst in the sampling phase and you want to take a look at the samples. You can stop the sampler (e.g. using the stop button in RStudio) and then retrieve the samples drawn so far, by using stashed_samples()
. Note that this won’t return anything if you stop the model during the warmup phase (since those aren’t valid posterior samples) or if the sampler completed successfully.
greta’s default sampler is (static) Hamiltonian Monte Carlo. The sampler will automatically tune itself during the warmup phase, to make it as efficient as possible. If the chain looks like it’s moving too slowly, or if you are getting a lot of messages about proposals being rejected, the first thing to try is increasing the length of the warmup period from its default of 1000 iterations (via the warmup
argument). If you’re still getting a lot of rejected samples, it’s often a good idea to manually set the initial values for the sampler (via the initial_values
argument). This is often the case when you have lots of data; the more information there is, the more extreme the log probability, and the higher the risk of numerical problems.
A downside of HMC is that it can’t be used to sample discrete variables (e.g. integers), so we can’t specify a model with a discrete distribution (e.g. Poisson or Binomial), unless it’s in the likelihood. If we try to build such a model, greta will give us an error when we run model()
. Future versions of greta will implement a wider range of MCMC samplers, including some for discrete variables.


Preparation time
30 mins to 1 hour
Cooking time
no cooking required
Serves
Serves 10
Dietary
This trifle is a real showstopper and so very simple to make – ready from start to finish in about 30–40 minutes.
Equipment and preparation: You'll need a large trifle dish or glass bowl.
Put the trifle dish on a large tray to make it easy to carry. Slice one of the Madeira cakes into 0.5cm/¼in slices and use a few of the pieces to line the bottom of the dish. (Make sure they are nice and tight and in a single layer, so push down any bits that are standing up too high.)
Brush the sponge with some of the amaretto. Then take a few strawberries halves that are roughly the same size and put them point upwards on the outer edge of the cake so the cut edges are pressing up against the glass. Repeat all the way round the dish.
Sprinkle some crumbled amaretti biscuits on top of the sponge to a third of the way up the strawberries.
Place the vanilla, icing sugar and cream in a bowl and whisk until thick and well combined.
Spread a third of the cream on top of the strawberries and crumbled biscuits, and smooth it down with a spoon.
Once the cream mixture is level in the bowl, wipe round the edge with kitchen towel. Sprinkle over with white chocolate.
Repeat the layering process until the bowl is full, finishing with a layer of strawberries. Chill in the fridge until ready to eat.
Shortly before serving, you can flambé the top of the trifle. To do this, place some amaretto in a stainless steel ladle. Warm it through over low heat. Gently ignite the mixture and pour it over the trifle. (CAUTION: Keep your face and hair away from the flames. Do not leave unattended.)


online homework for Runestone now available Here
Recent Updates (April 28, 2020)
- Editorial Page - I am looking for volunteers to be Editors! This page allows an editor to review questions that have been flagged. It allows you to delete obviously bad questions or edit questions to fix typos or problems with autograding. If you are interested in becoming an editor please contact me. Here is a short video overview: https://youtu.be/ErWAni-aAI4
- Chapter Progress -- This report has been greatly updated and enhanced based on teacher feedback. This is especially useful if you don't use Runestone Assignments.
- Datafiles - You can now add a custom datafile via the assignment interface. This datafile is available on the assignment page, as well as in the grading interface.
Support Runestone
Did you know that over 50,300 students have registered on Runestone Academy since August 2019!? At $100 a textbook we have
saved students over $5 million! Thats a lot of student and a lot of savings. Please consider a donation
to help pay for server costs and the ongoing development needed to keep runestone online.


Music Album Reviews - 2015
Data Re-Vis, from
Matt Brehmer
's
SoundConsensus 2015
. Original data from
albumoftheyear


{% extends 'default.html' %} {% set title = 'Make a Payment' %} {% set footer = true %} {% block pageHeading %}{{ title }}{% endblock %} {% block pageContent %}
Enter the amount you wish to pay, and a reference for your payment below. If you are paying an invoice, indicate the invoice number and the company making the payment. All payments are made securely through Stripe; we do not have access to your credit card details.
None


Michael Barakat
Front End Developer
Who is Michael Barakat?
I'm a front end designer and developer. Going further back, I'm a lifelong designer and maker. In short, I build things.
Even with just a year of practical web development experience I am equipped to tackle a range of different project types. Below are a list of tools and technologies I use to tackle common web design and development challenges:
- javascript
- node.js
- express.js
- express proxy
- handlebars.js
- html5sql
- ajax
- jQuery
- HTML
- CSS
- SQL
- PHP
- Angular.js (currently in the process of learning!)


module type Isomorphism =sig
..end
Isomorphism
is a bijection between type s
and t
.
Usefull for creating graph views and mapping graphs.
See Graphlib.view
and Graphlib.Mapper
.type
s
type
t
val forward : s -> t
val backward : t -> s


{% extends 'csapp/base.html' %} {% block content %}
This is a Counter-Strike: Global Offencive brand of Playesports portal.


The kettle began to react, trembling a little, and then the water was boiling, wisps of steam padding out to become clouds and then a mist, which condensed onto the shelf of spices, opened and spilled and tired. Packets of biscuits, cereal, a few tins and caddies: they kept a respectful distance of worktop from the kettle, cowering like primitives before fire. The switch clicked off by magic as a figure in jeans reached the kitchen. She found a cup, closed a cupboard door, shook out some dead coffee into the cup, poured water onto it and stirred.
She brushed black hair away from sharp, Roman features, absorbed in making the drink, and started as the telephone began to ring a shrill bird call. Picking up the cup, she tripped out of the room into the hall, leaving the kettle to sigh and relax, and the condiments to shuffle a little closer in sympathy.
The living room faced south, and was bright and sunny. A blue felt sofa half-covered with the Independent was opposite a television, and a coffee table nestled into a thick-pile rug. The contents of a bookcase against one wall were sparse, and an occasional table with a green glass top carried a small lamp and the telephone. The telephone handset was singing brightly and loudly as she entered the room - barefooted on bare floorboards - and picked it up as she sat down on the sofa. The talk button was squashy to the touch. Ssh.
The phone was returned, more or less, to its cradle, and a green LED switched on as it homed in on the electrodes and slept. She reached for the television remote, an almost identical machine, felt the brushed plastic in her hand, sandstone that would not yield, and pressed randomly. The television made a melodramatic whirring hum for a half second, and warmed up to play the voice of someone inconsequential on the local BBC news, closely followed by a smooth, focussed picture. It was perfect, balanced colour, and somehow more real than the rest of the room, a painting of a disaster surrounded by the mundane.
She watched television. Outside, the sun set. Street lights came on. She didn't remember turning on the table lamp. Programmes came and went. The phone didn't ring again, but she wasn't expecting it to.
 She was staring at the television screen but showed no recognition of what was on.  The light of the television threw broad sweeps of colour onto her face. A cushion was in her lap, protecting her from stomach cramps, and her legs were tucked up under her.
The coffee cup sat on the table in front of her, long since cooled and sticky with three or four drops of liquid.  Her head nodded forward; she pulled it backwards and took a deep breath, lips not wanting to part. She reached for the remote control, took it in a warm, sleep-fuzzy hand and switched off the television. She unfolded her legs to the floor, switched off the light. In the drips and splashes of street light, she fumbled her way to the door, closing it behind her.
inspired by PJ Harvey's "Beautiful Feeling"


{% load extras %} {% load staticfiles %} {% with 'js/regional-councilors-constituencies-2014-'|add:county|add:'.js' as geo_static %} {% endwith %}


This document is intended as a reference manual for the Objective Caml language. It lists the language constructs, and gives their precise syntax and informal semantics. It is by no means a tutorial introduction to the language: there is not a single example. A good working knowledge of Caml is assumed.
No attempt has been made at mathematical rigor: words are employed with their intuitive meaning, without further definition. As a consequence, the typing rules have been left out, by lack of the mathematical framework required to express them, while they are definitely part of a full formal definition of the language.
The syntax of the language is given in BNF-like notation. Terminal symbols are set in typewriter font (like this). Non-terminal symbols are set in italic font (like that). Square brackets […] denote optional components. Curly brackets {…} denotes zero, one or several repetitions of the enclosed components. Curly bracket with a trailing plus sign {…}+ denote one or several repetitions of the enclosed components. Parentheses (…) denote grouping.


creating a great job market for people with the right skills.  But you don't want to end up as someone's code monkey, chained to a keyboard pounding out menial lines of commands to your computer overlords. When you sell your labor for money, you want to revel in each day's accomplishments and be recognized for your cleverness.
Well, put that world-beater nature to work, and use this simple guide to get yourself a bit of the American techno-dream.
You can hover the "?" icon beneath each option to get more specifics if you're unsure what the choices mean.
The generalist spreads their knowledge out, without concentrating it in any one place. They may not know the most about any subject, but they know enough about most anything to get the job done.
The specialist strives to push the realm of knowledge in their concentration. They are the person that people come to with questions about their specialty, but they likewise must go elsewhere to accomplish things outside their scope.
Function, efficiency, a straight-to-the-point approach to life. Who cares if it looks like a hodge-podge skeleton glued together by a bunch of colorblind elves as long as it's faster, stronger, smarter, tougher?
Form, grace, simplicity in comprehension. There's no point to making a better mousetrap if it's so cruel and ugly looking that no one wants to use it.
Smaller, newer companies still finding their way in the corporate world frequently offer workers diverse and changing responsibilities, as a smaller workforce frequently means that employees must wear many hats.
Larger, established companies with needs for developers usually have well-defined dimensions for roles a developer could be hired into, and offer much more stable employment opportunities to the clever and able.
All developers work with data and information. An essential component of dealing with data is how it is stored and organized, because no matter how much data you gather, if it's just hoarded in piles in a garage it's almost impossible to use efficiently.
Computer programs are only as useful as the information they provide, and presenting that information to other people in a comprehensible manner is critical to making a program that is actually useful.
When it comes down to it, you value the availability of something more than you value it's inherent abilities. If it's not accessible to you when you need it, what's the point?
Things should be valued based on their immediate utility, and more valuable things are simply more capable, convenience be damned.
Since you're so experienced as a developer, I don't really have much input for you. It looks like you prefer development, but clearly you can define your own life and not take advice from an online, amateur survey.
The only thing I can recommend is that you keep learning! Have you checked out Rust, Swift, or Julia? They all sound like interesting new languages with a myriad of applications. Go take someone else's survey!
Well, since you say you already have a decent amount of experience with software development, you have probably plumbed these fateful depths before. From the way you answered these questions, you seem to be inclined towards development, but beyond the advice of a website survey, you should decide your own fate.
If you haven't already, maybe consider picking up based on your interest in companies. Companies of that size frequently find themselves using those languages.
You're new to developing and already looking to see what direction you should go in! Admirable! Based on your responses, you may eventually be interested in pursuing specialized work in development, but things can change.
Since you're just getting in to programming, I'd suggest building a really good foundation for your knowledge. Learn HTML and Javascript, and use CSS to build some gorgeous webpages. Mess around with other languages as you learn, and maybe even look into watching some basic videos on computer science. Computer science know-how will really help you as you get deeper into the weeds of software development.
Since you're just getting in to programming, I'd suggest building a really good foundation for your knowledge. Use online resources to start building up a solid knowledge base with a good starter language, such as Python. Experiment with HTML and learn the basics of website design, and then look into resources to help you learn basic principles of computer science, which will really help you down the road.
Maybe even look into developing mobile apps. Give it a try! They frequently use Java or newer languages like Swift; fool around with those languages if you never have!
No matter what, though, the key thing is to push yourself to learn as much as you can. Don't compare yourself to others, compare yourself to your own past and revel in the amount you've learned!
No matter what path you choose, push yourself to learn as much as you can. Don't compare yourself to others, compare yourself to your own past and revel in the amount you've learned!


Toggle navigation
AngularUI routerApp
Home
About
Contact
By
Casper Engelmann
Loading
This image below has a resolution of 3840x2160, and takes quite some time to load, but no matter what page you go to, the image will not reload, neither will the text inside this
{{h4}}
or the navigation at the top of the site.


---
layout: post
title: Death plague skeleton
date: '2014-02-02T07:30:30+01:00'
categories:
- Sketches
picture_url: https://film-Storyboards.tumblr.com/post/75362752020/death-plague-skeleton-sketch
---
Preparatory Sketches for Atoleiros Battle Animatics — The Black Death.


Jsign is a Java implementation of Microsoft Authenticode that lets you sign and timestamp executable files for Windows. Jsign is platform independent and provides an alternative to native tools like signcode/signtool on Windows or the Mono development tools on Unix systems.
Jsign comes as an easy to use Ant task to be integrated in any automated build. It's especially suitable for signing executable wrappers and installers generated by tools like NSIS, exe4j, launch4j or JSmooth. Jsign can also be used with Maven using the Antrun plugin, or standalone as a command line tool.
Jsign is free to use and licensed under the Apache License version 2.0.
Ant Task
Here is an example showing how the signing works with Ant, using a Java keystore:
<taskdef name="signexe" classname="net.jsign.PESignerTask" classpath="jsign-1.3.jar"/> <signexe file="application.exe" name="My Application" url="http://www.example.com" keystore="keystore.jks" alias="test" storepass="password" tsaurl="http://timestamp.comodoca.com/authenticode"/>
Another example with SPC
and PVK
files commonly used with signcode.exe
:
<signexe file="application.exe" certfile="certificate.spc" keyfile="key.pvk" keypass="password" tsaurl="http://timestamp.verisign.com/scripts/timstamp.dll"/>
| Attribute | Description | Required |
|---|---|---|
| file | The executable file to be signed. | Yes. |
| name | The name of the application | No |
| url | The URL of the application | No |
| keystore | The keystore file | Yes, unless certfile and keyfile are specified. |
| storepass | The password to open the keystore | No |
| storetype |
The type of the keystore:
|
No; defaults to "JKS". |
| alias | The alias of the certificate used for signing in the keystore. Java code signing certificates can be used for Authenticode signatures. | Yes, if keystore is specified |
| certfile | The file containing the PKCS#7 certificate chain (.p7b or .spc files). |
Yes, unless keystore is specified. |
| keyfile |
The file containing the private key. Only PVK files are supported.
|
|
| keypass | The password of the private key. When using a keystore, this parameter can be omitted if the keystore shares the same password. | No |
| alg | The digest algorithm (SHA-1, SHA-256, SHA-384 or SHA-512) | No; defaults to SHA-256 |
| tsaurl | The URL of the timestamping authority, either RFC 3161 or Authenticode services. You can use for example the COMODO (http://timestamp.comodoca.com/authenticode) or the Verisign (http://timestamp.verisign.com/scripts/timstamp.dll) services. | No |
| tsmode | The timestamping mode (RFC3161 or Authenticode) | No; defaults to Authenticode |
Command Line Tool
Jsign can also be used as a command line tool. A Debian package and a RPM package are provided to install it easily on most Linux distributions. On these systems the command line is invoked with:
pesign [OPTIONS] FILE
On other systems the command line is invoked by running the jar with:
java -jar jsign-1.3.jar [OPTIONS] FILE
The parameters expected are the same as those used by the Ant task:
usage: pesign [OPTIONS] FILE Sign and timestamp a Windows executable file. -s,--keystore <FILE> The keystore file --storepass <PASSWORD> The password to open the keystore --storetype <TYPE> The type of the keystore: - JKS: Java keystore (.jks files) - PKCS12: Standard PKCS#12 keystore (.p12 or .pfx files) -a,--alias <NAME> The alias of the certificate used for signing in the keystore. --keypass <PASSWORD> The password of the private key. When using a keystore, this parameter can be omitted if the keystore shares the same password. --keyfile <FILE> The file containing the private key. Only PVK files are supported. -c,--certfile <FILE> The file containing the PKCS#7 certificate chain (.p7b or .spc files). -d,--alg <ALGORITHM> The digest algorithm (SHA-1, SHA-256, SHA-384 or SHA-512) -t,--tsaurl <URL> The URL of the timestamping authority. -m,--tsmode <MODE> The timestamping mode (RFC3161 or Authenticode) -n,--name <NAME> The name of the application -u,--url <URL> The URL of the application --proxyUrl <URL> The URL of the HTTP proxy --proxyUser <NAME> The user for the HTTP proxy. If an user is needed. --proxyPass <PASSWORD> The password for the HTTP proxy user. If an user is needed. -h,--help Print the help
Example using a Java keystore:
pesign --keystore keystore.jks --alias test --storepass password \ --tsaurl http://timestamp.comodoca.com/authenticode application.exe
Example using SPC/PVK files:
pesign --certfile certificate.spc --keyfile key.pvk --keypass password application.exe
API
Jsign also provides a simple API for signing executable files and can
be embedded in another application.
See the Javadoc
Downloads
- jsign_1.3_all.deb - Jsign command line tool for Debian/Ubuntu
- jsign-1.3-1.noarch.rpm - Jsign command line tool for RedHat/Fedora/CentOS
- jsign-1.3.jar - Jsign Ant Task
Credits
Jsign leverages the APIs developed by the Bouncy Castle project.
PVK parsing is based on the pvktool by Stephen N Henson.
Contact
Emmanuel Bourg<EMAIL_ADDRESS>@smanux)


Toggle navigation
Landing
Help
Privacy
Terms
About Us
Sitemap
Sitemap
User Account
Register an account
Sign in to account
Go to profile
Review booking history
Search for a flight
Search Function
Search
EarlyBirds Information
Management
FAQs
Help
Privacy Policy
Terms of Use
About Us
Landing Page
Administrator Login
Airport Manager Login


R- Update or replace NA with adjacent column values or last non-NA value
March 24, 2019
Recently I had a data-frame which contained empty/missing values. It’s not uncommon to find yourself with missing values (i.e. NAs), especially in time series. This may be the result of a data omission or some mathematical or merge operation you do on your data. Zoo package provides a variety of functions to handle missing data.
Say I had a dataframe that looks like the one below,
I want to fill in the NA values with the last known non-NA value from that column. So I want the data frame to look like this
You could loop through each row and identify rows that have an NA and replace it with the previous value but thankfully there is a much faster alternative. Especially if you are like me who works with millions of data-points, this is a life saver. I came across the na.locf() function in the zoo library which does the job. This function takes the last observation carried forward approach. In most circumstances this is the correct thing to do. It both preserves the last known value and prevents any look-ahead bias from entering into the data. You can also apply next observation carried backward by setting fromLast = TRUE.
Unfortunately, na.locf() only on columns. But what if you would want to apply it to rows? In this case, you can use an apply function to apply the na.locf() on all rows.
It’s quite a neat function and certainly comes in helpful when cleaning up data sets which don’t tend to be as uniform as you’d hope! Hope this was helpful.


A channel to discuss trading. For useful links and more info click the pinned messages to the right.
100 messages
Before 05-Dec-19 12:00 AM
zatJUM17-Sep-18 01:20 PM
wts 300 Tezos @ 0.00022 BTC or against KMD.
#NoOneMakesBankBuyingOnTheBubble
meatspoon17-Sep-18 03:52 PM
how many times are we going to retest 6k? Ugh, and how many times will it hold?
snowdamn17-Sep-18 04:01 PM
i will be shitting bricks if it stops holding above $6k, i'm not gonna lie
meatspoon17-Sep-18 04:01 PM
really? 6k has held so many times. why would it be more surprising if it didn't brake? Not arguing, just curious about your thoughts(edited)
snowdamn17-Sep-18 04:02 PM
because it will mean we're heading to $2.5k(edited)
ComputerGenie 👴👴👴17-Sep-18 04:02 PM
still doesn't understand how it's above 4200
meatspoon17-Sep-18 04:02 PM
oh, sorry, i misread your comment
i too will begin pantaloon defecation if we break, say, 5850
ComputerGenie 👴👴👴17-Sep-18 04:04 PM
@5850 I'll still be happy with my 12.7x
meatspoon17-Sep-18 04:04 PM
so you are saying you think BTC is significantly over-valued right now?
1
hard to tell what is back-patting and what is opinion.
ComputerGenie 👴👴👴17-Sep-18 04:06 PM
BTC is as over-valued as any other name-brand that has long since been surpassed by its competition(edited)
jl777c17-Sep-18 04:06 PM
mining cost getting close to $6000 for many miners
TonyL17-Sep-18 04:07 PM
Waiting for sub 5000 with impatience
ComputerGenie 👴👴👴17-Sep-18 04:08 PM
In mechanical terms, BTC is the "slot-head" of screws
meatspoon17-Sep-18 04:08 PM
Haiduc, I hear a lot of people in the crypto-sphere make these sort of comments. But I think you are underestimating the slowness of which society can wrap their head around things. They are still choking on the idea that crypto in general is not a scam. BTC is just beginning to gain mainstream credibility. People who are deep down the crypto rabbit hole understand its limitations and understand that better tech now exists... tech that has not been as thoroughly tested.
passcombo.com 🏴☠🏴17-Sep-18 04:09 PM
if mining is close to 6k$ then price sould not go lower until some hackers dump or kobayashi lawyer decide to sell again
meatspoon17-Sep-18 04:09 PM
sure, but when a screw is brand new, the slot/standard screws are going to be shipped all over the world
passcombo.com 🏴☠🏴17-Sep-18 04:09 PM
or some millionair shorting for some reasons
meatspoon17-Sep-18 04:09 PM
people didnt move on to philips or star heads on drivers for a long, long, long time
my next question would be, why do you hold any BTC at all if you firmly believe it to be overvalued by such a large margin?
ComputerGenie 👴👴👴17-Sep-18 04:11 PM
BTC is just beginning to gain mainstream credibility.
I agree with the point you're making there, I just weep for tech that BTC is still the 'god' that's getting pushed forward to "normal people"(edited)
meatspoon17-Sep-18 04:12 PM
thats pretty dramatic. to go back to your screw analogy, not everyone needs a laser-guided sonic screwdriver that can manufacture its own screws on the fly. most people are fine with flat heads
i think that for retail investors, people looking to preserve wealth, there is a much better case for BTC than any of the more complicated assets that they wouldn't understand anyway. BTC is nice and simple
ComputerGenie 👴👴👴17-Sep-18 04:13 PM
not everyone needs a laser-guided sonic screwdriver that can manufacture its own screws on the fly.
The point I was getting at is those screws suck, they strip out too easy, everyone knows this, and there are 1000 better designs
meatspoon17-Sep-18 04:14 PM
corporations and businesses will drive the price action of the platform coins, as they have the greatest economic incentive to understand the techs and choose the best one. but with people, meh, they are gonna go simple. And BTC ownership is a global possibility with just the surface being scratched.
sure. but in 9/10 households in america, you are gonna find a flat head screwdriver
probably 10/10.
in only, say, 3 out of 10 will you find star bits or hex bits
ComputerGenie 👴👴👴17-Sep-18 04:15 PM
sure. but in 9/10 households in america, you are gonna find a flat head screwdriver
and 2 dozen stripped screws
meatspoon17-Sep-18 04:15 PM
McDonalds sucks too, but its everywhere and everyone eats it
sure
not arguing that. they do suck
but they get used. and people can wax philisophically about standard screws sucking, but that wont change that they get used.
Hollowman900017-Sep-18 04:17 PM
Then you also have tamper proof torx screws, and you curse the engineer who selected it
ComputerGenie 👴👴👴17-Sep-18 04:17 PM
and people can wax philisophically about standard screws sucking, but that wont change that they get used.
"standard" is a relative term ... keeping the analogy going, good luck finding a "standard" deck-screw that's a slot-head
meatspoon17-Sep-18 04:17 PM
Two nights ago I got together with some friends from university. We are all around 40 years old. Among this group are some wildly wealthy individuals. The kind of wealth that will make your butthole pucker if you saw their bank statements. Not a single one owned BTC. Few of them even really understood it. But they will own BTC within 5 years, and they will sort of understand it. They will not own obscure alts, platform coins or any of that.
but people still use nails for decks too
ComputerGenie 👴👴👴17-Sep-18 04:18 PM
tamper proof torx screws are a myth that is solved by a slot-head screwdriver (edited)
meatspoon17-Sep-18 04:19 PM
let me ask you this, are you mystified by people who stack gold and silver?
Welcome to Crypto Daily News, this news piece "Mt. Gox Bitcoin Payouts Could Eventually Destroy The Markets" is breaking news from the Crypto sector.
meatspoon17-Sep-18 04:19 PM
BTC is getting used. society has kinda half figured it out, in part because it is relatively simple
snowdamn17-Sep-18 04:21 PM
BTC will go down in history for the thing that changed Finance
Hollowman900017-Sep-18 04:21 PM
Or those weird triangle head screws they used to use on NES game cartridges
ComputerGenie 👴👴👴17-Sep-18 04:21 PM
My point isn't that BTC shouldn't be used, it's that it shouldn't be "allowed" to stay as the "standard"
We need to drag people (kicking and screaming, if need be) into valuing tech for tech, not for "name recognition"
Hollowman900017-Sep-18 04:22 PM
KMD or the guillotine
Choose wisely
ComputerGenie 👴👴👴17-Sep-18 04:22 PM
lol
meatspoon17-Sep-18 04:22 PM
I disagree about dragging kicking and screaming people. That kind of shows you are wearing blinders. The market is going to choose what it chooses, and because it is young and the rest of the world isnt rooting around the bottom of the rabbit hole with us, the market is going to choose the first mover, simple concept
and it has chosen it and will likely continue to choose it as king for a number of years
even KMD (perhaps your favorite coin?) is reliant on BTC for a good part of its value proposition
directly and indirectly
ComputerGenie 👴👴👴17-Sep-18 04:24 PM
The market doesn't "choose" anything. That's a naive expression of how the world works, do you also still use a mimeograph?
#Xerox
meatspoon17-Sep-18 04:25 PM
what is naive is imagining that you know best what the market should do and thinking you should drag it kicking and screaming into your little area of interest
the market does choose. it is an aggregate of micro-economics and people making individual decisions
snowdamn17-Sep-18 04:27 PM
BTC $30k, KMD $50 - not long-term
ComputerGenie 👴👴👴17-Sep-18 04:27 PM
it is an aggregate of micro-economics and people making individual decisions
The fact that you don't seem to realize how those decisions are (and can be) altered, swayed, guided, and even forced, leads me to believe that this convo will go nowhere.
meatspoon17-Sep-18 04:28 PM
of course decisions can be influenced
some can be forced, yes. but i am no statist. so i tend to buck against use of force
ComputerGenie 👴👴👴17-Sep-18 04:28 PM
There are, literally, people that make a living ensuring that BTC stays in the forefront and that other tech gets pushed down in the public eye.
meatspoon17-Sep-18 04:28 PM
sure, people make livings giving handies too
KomodoWorld17-Sep-18 04:28 PM
it will happen , when someone has to choose where to build a project on, KMD will be the first choice
branding and shilling can't trump a calculator and practical reasons, in the long term
(assuming this tech will scale and find practical uses)
snowdamn17-Sep-18 04:29 PM
at least BTC over $6k still buys us handies (edited)
1
meatspoon17-Sep-18 04:29 PM
thats true
ComputerGenie 👴👴👴17-Sep-18 04:29 PM
at this point, there's nothing "practical" about BTC
meatspoon17-Sep-18 04:30 PM
the entire world, for the moment, disagrees with you
ComputerGenie 👴👴👴17-Sep-18 04:30 PM
the entire world
Hyperbole much?
meatspoon17-Sep-18 04:31 PM
the price is what it is, Haiduc. they disagree. they see value
nothing is stopping you from mortgaging your home and shorting BTC
ComputerGenie 👴👴👴17-Sep-18 04:31 PM
they see value
Because they were told to
KomodoWorld17-Sep-18 04:32 PM
BTC has bet the house on LN that I'm very doubtful about. Thanks to the self-inflicted policy of never-hard-fork it's trying to achieve less than half of what other do in the longest possible time and in the most roundabout ways
in 10 years time we'll see
meatspoon17-Sep-18 04:33 PM
Its all up in the air, for sure. but as a store of value, i am not sure people care if the transaction is processed in 30 seconds or 4 minutes
ComputerGenie 👴👴👴17-Sep-18 04:33 PM
When people realize that LN is an enterprise solution that has minimal advantages for the "average" user, Core's chickens will finally come home to roost
meatspoon17-Sep-18 04:33 PM
either one is a heck of a lot faster than someone can move 50 lbs of precious metals
ComputerGenie 👴👴👴17-Sep-18 04:34 PM
as a "store of value", BTC is no better than 14 blades of grass out of your front lawn
meatspoon17-Sep-18 04:34 PM
hyperbole much?
and you havent seen my lawn. its a panty-dropper
ComputerGenie 👴👴👴17-Sep-18 04:35 PM
not hyperbole, I ask you to defend the position that it's any different...
meatspoon17-Sep-18 04:35 PM
can i sell 14 blades of grass from my front yard right now, this second for 6K?


Kubica admits blame for only one 2019 crash
Robert Kubica claims he is responsible for only one of his crashes in 2019.
by GMM F1The Pole's inspirational F1 comeback will end after next weekend's Abu Dhabi finale, but he has been linked with a reserve role for 2020.
2019 has been abysmal for both the 34-year-old, who has notably struggled alongside rookie George Russell, and the cash-strapped backmarker Williams.
Kubica's biggest complaint has been the inconsistent handling of his car.
Notably, he crashed in Baku but also last weekend in Brazil, but he takes personal responsibility only for a qualifying crash in Japan.
"I crashed in Japan, which was my mistake. So out of those three cases, I blame myself only once," he said.
"In Baku, it was a miracle that the accident did not happen earlier," added Kubica.
"It makes no sense to go back and look into the details now, but considering the situation we were in, it's a miracle that nothing happened to me before that."
body check tags ::


Dashboard
Messages
Bookings
My Properties
My Invoices
Favorited Properties
Submit Property
My Profile
Logout
My Account
Dashboard
Messages
Bookings
My profile
Logout
Submit property
Main
Dashboard
Messages
6
Bookings
Listings
My Properties
My Invoices
Favorited Properties
Submit Property
Account
My Profile
Logout
Submit Property
Index
Dashboard
Submit Property
Basic Information
Property Title
Status
For Sale
For Rent
Price
Area/Location
Rooms
1
2
3
4
Bathroom
1
2
3
4
Location
Address
State
Choose State
Alabama
California
Florida
Postal Code
Property Gallery
Drop files here to upload
Detailed Information
Features (optional)
Free Parking
Air Condition
Swimming Pool
Laundry Room
Central Heating
Alarm
Places to seat
Window Covering
Contact Details
Name
Email
Phone (optional)
Submit Property
© 2018 Theme Vessel. Trademarks and brands are the property of their respective owners.
×
Search


| Total net profit | -4.35 | Gross profit | 7.28 | Gross loss | -11.63 |
| Profit factor | 0.63 | Expected payoff | -0.11 | ||
| Absolute drawdown | -5.08 | Maximal drawdown (%) | 5.68 (946.67%) | ||
| Total trades | 41 | Profit trades (% of total) | 16 (39.02%) | Loss trades (% of total) | 25 (60.98%) |
| Long positions (won %) | 22 (40.91%) | Short positions (won %) | 19 (36.84%) | ||
| Largest | profit trade | 2.21 | loss trade | -0.78 | |
| Average | profit trade | 0.46 | loss trade | -0.47 | |
| Minimum | profit trade | 0.03 | loss trade | -0.11 | |
| Maximum | take profit in pips | 206.1 | stop loss in pips | -104.2 | |
| Average | take profit in pips | 62.5 | stop loss in pips | -40.4 | |
| Minimum | take profit in pips | -10.8 | stop loss in pips | -17.1 | |
| Maximum | Reward-Risk | 10.3 | Duration in minutes | 230 | |
| Average | Reward-Risk | 2.0 | Duration in minutes | 30.2 | |
| Minimum | Reward-Risk | 0.0 | Duration in minutes | 0 | |
| Maximum | consecutive wins (profit in money) | 3.0 (1.25) | consecutive losses (loss in money) | 6.0 (-2.62) | |
| Average | consecutive wins | 1.0 | consecutive losses | 2.0 |
| Total net profit | -1.22 | Gross profit | 5.48 | Gross loss | -6.7 |
| Profit factor | 0.82 | Expected payoff | -0.06 | ||
| Absolute drawdown | -2.23 | Maximal drawdown (%) | 3.82 (240.25%) | ||
| Total trades | 22 | Profit trades (% of total) | 9 (40.91%) | Loss trades (% of total) | 13 (59.09%) |
| Largest | profit trade | 2.21 | loss trade | -0.78 | |
| Average | profit trade | 0.61 | loss trade | -0.52 | |
| Minimum | profit trade | 0.04 | loss trade | -0.11 | |
| Maximum | take profit in pips | 190.5 | stop loss in pips | -104.2 | |
| Average | take profit in pips | 53.3 | stop loss in pips | -45.3 | |
| Minimum | take profit in pips | -10.8 | stop loss in pips | -22.0 | |
| Maximum | Reward-Risk | 5.0 | Duration in minutes | 230.0 | |
| Average | Reward-Risk | 1.4 | Duration in minutes | 37.5 | |
| Minimum | Reward-Risk | 0.0 | Duration in minutes | 0.0 | |
| Maximum | consecutive wins (profit in money) | 2.0 (0.8) | consecutive losses (loss in money) | 4.0 (-1.8) | |
| Average | consecutive wins | 1.0 | consecutive losses | 2.0 |
| Total net profit | -3.13 | Gross profit | 1.8 | Gross loss | -4.93 |
| Profit factor | 0.37 | Expected payoff | -0.16 | ||
| Absolute drawdown | -3.68 | Maximal drawdown (%) | 2.95 (-404.11%) | ||
| Total trades | 19 | Profit trades (% of total) | 7 (36.84%) | Loss trades (% of total) | 12 (63.16%) |
| Largest | profit trade | 0.67 | loss trade | -0.73 | |
| Average | profit trade | 0.26 | loss trade | -0.41 | |
| Minimum | profit trade | 0.03 | loss trade | -0.22 | |
| Maximum | take profit in pips | 206.1 | stop loss in pips | -63.9 | |
| Average | take profit in pips | 73.2 | stop loss in pips | -34.7 | |
| Minimum | take profit in pips | 1.2 | stop loss in pips | -17.1 | |
| Maximum | Reward-Risk | 10.3 | Duration in minutes | 210.0 | |
| Average | Reward-Risk | 2.7 | Duration in minutes | 21.8 | |
| Minimum | Reward-Risk | Duration in minutes | 0.0 | ||
| Maximum | consecutive wins (profit in money) | 2.0 (0.92) | consecutive losses (loss in money) | 8.0 (-3.34) | |
| Average | consecutive wins | 1.0 | consecutive losses | 2.0 |


Enumeration members
ALREADY_REPORTED
ALREADY_REPORTED: = 208
BAD_GATEWAY
BAD_GATEWAY: = 502
BAD_REQUEST
BAD_REQUEST: = 400
EXPECTATION_FAILED
EXPECTATION_FAILED: = 417
FAILED_DEPENDENCY
FAILED_DEPENDENCY: = 424
FORBIDDEN
FORBIDDEN: = 403
GATEWAY_TIMEOUT
GATEWAY_TIMEOUT: = 504
HTTP_VERSION_NOT_SUPPORTED
HTTP_VERSION_NOT_SUPPORTED: = 505
IM_A_TEAPOT
IM_A_TEAPOT: = 418
INSUFFICIENT_STORAGE
INSUFFICIENT_STORAGE: = 507
INTERNAL_SERVER_ERROR
INTERNAL_SERVER_ERROR: = 500
LENGTH_REQUIRED
LENGTH_REQUIRED: = 411
LOOP_DETECTED
LOOP_DETECTED: = 508
METHOD_NOT_ALLOWED
METHOD_NOT_ALLOWED: = 405
MISDIRECTED_REQUEST
MISDIRECTED_REQUEST: = 421
MOVED_PERMANENTLY
MOVED_PERMANENTLY: = 301
MULTIPLE_CHOICES
MULTIPLE_CHOICES: = 300
MULTI_STATUS
MULTI_STATUS: = 207
NETWORK_AUTHENTICATION_REQUIRED
NETWORK_AUTHENTICATION_REQUIRED: = 511
NON_AUTHORITATIVE_INFORMATION
NON_AUTHORITATIVE_INFORMATION: = 203
NOT_ACCEPTABLE
NOT_ACCEPTABLE: = 406
NOT_EXTENDED
NOT_EXTENDED: = 510
NOT_FOUND
NOT_FOUND: = 404
NOT_IMPLEMENTED
NOT_IMPLEMENTED: = 501
NOT_MODIFIED
NOT_MODIFIED: = 304
NO_CONTENT
NO_CONTENT: = 204
PARTIAL_CONTENT
PARTIAL_CONTENT: = 206
PAYMENT_REQUIRED
PAYMENT_REQUIRED: = 402
PERMANENT_REDIRECT
PERMANENT_REDIRECT: = 308
PRECONDITION_FAILED
PRECONDITION_FAILED: = 412
PRECONDITION_REQUIRED
PRECONDITION_REQUIRED: = 428
PROXY_AUTHENTICATION_REQUIRED
PROXY_AUTHENTICATION_REQUIRED: = 407
REQUESTED_RANGE_NOT_SATISFIABLE
REQUESTED_RANGE_NOT_SATISFIABLE: = 416
REQUEST_ENTITY_TOO_LARGE
REQUEST_ENTITY_TOO_LARGE: = 413
REQUEST_HEADER_FIELDS_TOO_LARGE
REQUEST_HEADER_FIELDS_TOO_LARGE: = 431
REQUEST_TIMEOUT
REQUEST_TIMEOUT: = 408
REQUEST_URI_TOO_LONG
REQUEST_URI_TOO_LONG: = 414
RESET_CONTENT
RESET_CONTENT: = 205
SEE_OTHER
SEE_OTHER: = 303
SERVICE_UNAVAILABLE
SERVICE_UNAVAILABLE: = 503
SWITCHING_PROTOCOLS
SWITCHING_PROTOCOLS: = 101
SWITCH_PROXY
SWITCH_PROXY: = 306
TEMPORARY_REDIRECT
TEMPORARY_REDIRECT: = 307
TOO_MANY_REQUESTS
TOO_MANY_REQUESTS: = 429
UNAUTHORIZED
UNAUTHORIZED: = 401
UNAVAILABLE_FOR_LEGAL_REASONS
UNAVAILABLE_FOR_LEGAL_REASONS: = 451
UNPROCESSABLE_ENTITY
UNPROCESSABLE_ENTITY: = 422
UNSUPPORTED_MEDIA_TYPE
UNSUPPORTED_MEDIA_TYPE: = 415
UPGRADE_REQUIRED
UPGRADE_REQUIRED: = 426
USE_PROXY
USE_PROXY: = 305
VARIANT_ALSO_NEGOTIATES
VARIANT_ALSO_NEGOTIATES: = 506


{% load staticfiles %}
what is the plan?
home
events
about
photos
twitch
{% if user.is_authenticated %}
log out
{% else %}
sign up
log in
{% endif %}
{% block body_block %}{% endblock %}
PLAN is hosted by
Computer Club at WMU
.


TaskTracker provides methods to start a task and stop a task. The objective is to track the processing time for a task. The processing time can be analyzed with the TaskStatistics class. When a task is started it is saved to the started_tasks file. If another task is started the currently active task is stopped and the newly started file is put on top of the started_tasks file. When stopping a task the currently started tasks will be returned and one of the idling tasks can be restarted. When a task is stopped the processing time is added to the task's lead_time field.
File name of the task log file
File name of the file where the tracked files are saved to
Creates a new TaskTracker
# File lib/syctask/task_tracker.rb, line 25 def initialize @service = Syctask::TaskService.new load_tracks end
When a task is started it is saved with the start time. If a task is already tracked it is stopped (see stop). A started task will print every second a message to the console if the show parameter is true. start returns
if the task is already tracked
if the task is started and no task was running.
if task is started and the previously running task stopped
# File lib/syctask/task_tracker.rb, line 37 def start(task, show=true) raise ArgumentError, "Error: Task without directory.\n"+ "--> Update task with syctask -t <dir> update "+ "#{task.id}" unless task.dir index = @tasks.find_index(task) return [false, nil] if not index.nil? and index == 0 stopped_task = stop track = Track.new(task) track.start(show) log_task(:start, track) @tracks.insert(0,track) @tasks.insert(0,task) save_tracks [true, stopped_task] end
When a task is stopped it is removed from the started_tasks file and the processing time is added to the lead_time field of the task. stop returns the stopped task in an Array or an empty Array if no task is running an hence no task can be stopped.
# File lib/syctask/task_tracker.rb, line 64 def stop return nil unless @tasks[0] task = @tasks[0]<EMAIL_ADDRESS>@service.save(task.dir, task) log_task(:stop, @tracks[0]) @tracks.delete_at(0) @tasks.delete_at(0) save_tracks task end
Retrieves the currently tracked task returns nil if no task is tracked
# File lib/syctask/task_tracker.rb, line 81 def tracked_task @tasks[0] end


Dat Protocol
DEP-0001: The Dat Enhancement Proposal Process
Title: DEP-0001: The Dat Enhancement Proposal Process
Short Name: 0001-dep-process
Type: Process
Status: Draft (as of 2018-01-30)
Github PR: Draft
Authors: Dat Protocol Working Group: Tara Vancil, Paul Frazee, Mathias Buus, Karissa McKelvey, Joe Hand, Danielle Robinson, Bryan Newbold
Summary
The Dat Enhancement Proposal ("DEP") process is how the Dat open source community comes to (distributed) consensus around technical protocol enhancements and organizational process.
Motivation
The Dat protocol is still a living standard. A transparent process is needed for community members to understand what changes are in the pipeline and how new ideas might come to fruition.
The core protocol is being used and extended by several projects with differing priorities and use cases. At the same time, lead developer time is very scarce. There is a need to parallelize design and implementation work between projects, which requires better coordination (process) and communication of technical details (standards). There is also an increasing need to be legible to and accessible to parties outside the existing Dat ecosystem.
With growing use, the logistics of rolling out protocol changes and backwards-incompatible changes becomes more difficult, but at the same time more important to coordinate smoothly. Planning requires clear communication of change ahead of time.
A public DEP process is expected to improve coordination and planning by setting clear expectations for documentation of protocol changes and extensions. The technical quality of the protocol itself should be improved by increasing the number of people who can view and understand proposals at each step of the process. The barrier to entry for independent implementations should be lower, allowing new technical and user communities to adopt the protocol. The overall development and decision making process should be more transparent, accessible, and scalable to a growing group of application developers and end users
How To Submit a Proposal
As a first step, before drafting a DEP or implementing experimental new protocol features, it's helpful to informally pitch your idea to see if others in the community are already thinking something similar, or have discussed the same idea in the past. This discussion could happen over chat, Github issues, blog posts, or other channels. If you can recruit collaborators and work out some of the details, all the better. This period could be called pre-DEP.
Once your idea has been flushed out, the process for proposing and debating a new DEP is:
- Use git to fork the datprotocol/deps repository
- Copy
0000-template.md
toproposals/0000-my-proposal.md
(don't choose the "next" number, use zero;my-proposal
should be a stub identifier for the proposal.) - Fill in the DEP template. All proposals should have a Type and Status (see below for details). Feel free to tweak or expand the structure (headers, content) of the document to fit your needs, but your proposal should be "complete" before submission.
- You can create an informal WIP (work in progress) PR (pull-request) whenever you like for early feedback and discussion, but there is no expectation that your proposal will be given detailed review until it is complete.
- When you are ready, submit your complete proposal for review (this could be opening a PR or removing WIP status from an existing one), with the intent of being accepted with "Draft" status. An editor (somebody who is an owner of the DEPs repository) will look over your proposal for completeness; if acceptable, they will assign one or more reviewers. At this stage, two outcomes are the most likely: your proposal is merged with "Draft" status, or declined. This first stage of the review is expected to take 3 weeks at most from when reviewers were assigned. It is appropriate to propose specific community members to review your proposal. The submitter can withdraw a proposal at any time. If accepted, a DEP number will be assigned and the PR merged. If declined, reviewers may give feedback and/or invite proposers to "significantly revise and resubmit".
- While in draft status, proposals can be experimented with. Small corrections and clarifications can be submitted by PR expect to be merged quickly if they are reasonable and don't change the broad behavior or semantics of the proposal; larger changes should be re-submitted as Superseding proposals.
- When it seems appropriate, a PR can be submitted to upgrade the status of a "Draft" to "Active". At this time a final review will take place, with the outcome being that a proposal stays "Draft" or becomes "Active". This review period is shorter (2 weeks at most), as everybody is expected to be more familiar with the proposal at this point. Small changes to the DEP can be included, but it's expected that this is in broad strokes the same proposal that was reviewed earlier (if not, a new "Draft" should be proposed that Supersedes).
- Small tweaks (grammar, clarifications) to a merged DEP can take place as regular Github PRs; revisiting or significantly revising should take place as a new DEP. Draft, Process, and Informational DEPs have a lower bar for evolution over time via direct PR.
Details
Types and Statuses
DEPs should have a type:
- Standard for technical changes to the protocol, on-disk formats, or public APIs. These are intended to be prescriptive, and to clearly delineate which features and behaviors are mandatory or optional.
- Process for formalizing community processes or other (technical or non-technical) decisions. For example, a security vulnerability reporting policy, a process for handling conflicts of interest, or procedures for mentoring new developers.
- Informative for describing conventions, design patterns, existing norms, special considerations, etc.
The status of a DEP can be:
- Pre-Merge: a well-formed DEP has been written and a PR opened. The "Status" line can list Draft when in this state.
- Draft: PR has been merged and a number assigned, but additional time is needed for deeper discussion or more implementation before being "normative" and expected for implementation. It is acceptable to have "competing" proposals in this state at the same time.
- Active: adopted or intended for implementation in mainline libraries and clients as appropriate. Again, DEPs should clarify which aspects of themselves are optional or required for well-behaved clients.
- Closed: either consensus was against, a decision was postponed, or the authors withdrew their proposal. This could apply to any of: a proposal PR that was never merged, a merged Draft (which was never Active), or an Active DEP which there is now consensus against without a specific new DEP to replace it.
- Superseded: a formerly Active DEP has been made obsolete by a new Active DEP; the new DEP should specify specific old DEPs that it would supersede.
Content and Structure
A changelog should be kept in the DEP itself giving the date of any changes of status.
A template file is provided, but sections can be added or removed as appropriate for a specific DEP.
The DEP text itself should be permissively licensed; the convention is to use the Creative Commons Attribution License (CC-BY), with attribution to the major contributing authors listed.
For appropriate DEPs (including all Standards DEPs), authors should explicitly consider and note impacts on:
- Privacy and User Rights. Consider reading IETF [RFC 6973] ("Privacy Considerations for Internet Protocols") and [RFC 8280] ("Research into Human Rights Protocol Considerations".)
- Backwards compatibility of on-disk archives and older network clients. If a backwards-incompatible change is proposed, a migration plan should be sketched out in the proposal.
- Security.
Acceptance Criteria
The criteria for a proposal being accepted as a Draft are, at a minimum, that the proposal is complete, understandable, unambiguous, and relevant. There is a good faith assumption that the submitter believes that the proposal could actually be adopted and put to beneficial use. An editor may screen proposals before passing on to the group for review.
For Standards and Process DEPs, Draft proposals should be specific enough that they can be prototyped and experimented with (e.g. in a pilot program or test network), but it isn't expected that all details have been worked out. Working code is helpful but not required.
For a Draft to migrate to Active, there is an expectation that the proposal has been demonstrated (e.g. in working code, though not necessarily in "official" libraries yet), that the proposal will be the "new normal" and expected behavior going forward, and that the chance of unforeseen issues arising during complete adoption is low.
Decision Making Process
There exists a Protocol Working Group (WG) (WG) which makes DEP status decisions; see the Github repository for a list of current members and the governance process.
By no means should working group members be the only people reviewing or giving feedback on proposals.
When deciding on Draft status, at least one WG member must review the entire proposal in detail, give feedback, and give informed approval. If no detailed review takes place in the fixed time window, the default is to close (reject) until a member is willing to commit to review. Any WG member can request revisions or clarifications (blocking acceptance until addressed), and any member can block. In other words, consensus requires that at least one member actively approve, and any member can block, but it isn't required to have every member review and actively given an opinion. This is referred to as the "loose consensus" model.
For Active status, the expectation is that all working group members will review the proposal and actively participate in consensus. In the event that not all members can participate, the default is again negative. Any member can block. This is referred to as the "complete consensus" model.
For all other status changes, at least one WG member must vouch for or approve the change ("loose consensus"). If there is unambiguous consensus (or, eg, a DEP is documenting already adopted practice), a DEP can move directly to Active status (following the "complete consensus" process).
In all cases, if there is a deadlock (a block can not be overcome after further discussion), there is an option to override the block by a vote. The details of this process are left to description in the Working Group repository, and are expected to be used only in exceptional cases (eg, are not invoked by default if a member blocks).
Proposals are expected to be open for at least three days (72 hours) for comment (and longer to accommodate special circumstances, like holidays). Vetoes (blocks) can happen up to a week after initially being submitted for review, which might be retroactive if the proposal was accepted (by other WG members) very quickly.
Rationale
In the design space of RFC processes, there are two decision points determining the formality and maturity of accepted standards. The first is, does draft status mean could be implemented, or has been implemented? We chose "could". Secondly, for active (or "final") status, is the proposal expected to be dominant in the wild, or is it already dominant in the wild? We chose "expected". In both cases we are emphasizing clarification and stabilization of new ideas, as opposed to enforcing interoperability of competing formulations of the same idea. In short, we expect DEPs to lead (rather than tail) implementation.
Time limits and default outcomes are used to prevent proposals could get stuck in an ambiguous indefinite state anywhere along the process. "Draft" status is considered a stable state to linger in.
Setting expectations for "completeness" of proposals, having an editor quickly skim proposals before jumping in to a full review, and acknowledging an explicit "revise and re-submit" workflow are all attempts to head off the situation of partial proposals being submitted and then significantly revised, which places extra (time) burden on reviewers.
Drawbacks
There are already multiple sources of technical documentation: the Dat
protocol website, the Dat whitepaper, Dat
website documentation section, the discussion repo
issues, and the datprotocol github group (containing, eg, the
dat.json
repo/spec). Without consensus and consolidation, this would be "yet
another" place to look.
Background and References
The following standards processes were referenced and considered while designing the DEP process:
- BitTorrent Enhancement Process as described in BEP 1. The Bittorrent protocol has a lot of technical similarities to Dat, and as a single protocol family (not a language or full-stack system) is one of the most similar in scope. The de facto BEP model is that Drafts are very stable and widely adopted; only the most universal core components are Final. The DEP process bases it's type categories on the BEP process. There is a single editor and an explicit BDFL in the BEP process.
- The Rust Language RFC Process is relatively new, but has had a huge volume of proposals, rivaling even the IETF. The process is relatively lightweight and happens entirely on Github; it is the most similar to the DEP process proposed here, in terms of Draft/Active distinction. Rust has strong organizational backing with defined leadership roles; proposals are reviewed by specific sub-teams.
- IETF RFC Process: perhaps the oldest and best known RFC process, under the motto of "rough consensus and working code". The process is very bespoke (involving custom file formats and software) and heavy on process (with working groups and in-person meetings).
- XMPP Standards Process: has the interesting sub-pattern of regularly updated (annual) standards. XMPP is also a protocol, like Bittorrent. The protocol was designed for easy extension, and at various points has seen adoption, extension, and pressure from powerful entities.
- Python Enhancement Process documented in PEP 1. PEPs are relatively broad in scope (they often speak to process and organizational dynamics), and are widely cited directly by name. Proposals are usually debated in great detail on mailing lists before being proposed. Python has a BDFL (benevolent dictator for life) who has final say over proposals, though he sometimes delegates to deputies.
 W3C standards are often rather large and verbose documents, and tend to tail (rather than lead) implementation.
Unresolved questions
How mutable should "Draft" Standards DEPs be over time? What about Informational DEPs? Should there be an additional status ("Living"?) for DEPs that are expected to evolve, or is this against the whole philosophy of having specific stable documents to reference? This is expected to be clarified while this DEP itself is in Draft status.
Does "Active" status mean that implementation is mandatory, and that features must be implemented unless they are explicitly optional? How would this expectation be enforced for third-party software? This is expected to be clarified when concrete examples arise.
Changelog
- 2018-01-24: DEP process and governance model is discussed by Working Group. First full draft of DEP-0001 submitted for review.


Inside a Java program, you can write special text which will be ignored by the java compiler - known as comments. They allow you to exclude code from the compilation process (disable it) or clarify a piece of code to yourself or other developers.
The Java programming language supports three kinds of comments.
The java compiler ignores any text from // to the end of the line:
class Task {
public static void main(String[] args) {
// The line below will be ignored
// System.out.println("Hello, World");
// It prints the string "Hello, Java"
System.out.println("Hello, Java"); // You can write a comment here
}
}
The compiler ignores any text from /* and the nearest */. It can be used as multiple and single-line comments:
class Task {
public static void main(String[] args) {
/* This is a single-line comment */
/* This is a example of
a multi-line comment */
}
}
You can use comments inside other comments:
class Task {
public static void main(String[] args) {
/*
int a = 1; // set a to 1
int b = 2; // set b to 2
int c = a + b; // calculate a + b
*/
}
}
The compiler ignores any text from /** to */ just like it ignores multi-line comments.
This kind of comments can be used to automatically generate documentation about your source code using the javadoc tool. Usually, these comments are placed above declarations of classes, interfaces, methods, and so on. Also, in this case, some special labels such as @param, @return and others are used for controlling the tool.
class Task {
/**
* The main method accepts an array of string arguments
*
* @param args from the command line
*/
public static void main(String[] args) {
// do nothing
}
}
Note: In this course we use comments in the theory and practice lessons to explain how and why our code works.
Hint: The Lorem Ipsum generator feature of the online HTML editor fills your document with gibberish text which can be used as a placeholder until your final content is ready.
To better understand how comments work in Java, copy the examples from the text to the Editor and run them with the
icon on the left gutter or ⌃⇧R shortcut, take a look at the output:


My core personal values tend to be centered around growth. To me growing is one of the most important values to me right now as I always feel I have room to learn and improve and enjoy the process of harnessing new skills and honing ones I already have. Part of this involves being humble and adopting a learners mindset which is a big value for me and something I often struggled with in the past.
A decision I have to make many times is when I am teaching kickboxing classes, and a student appears to be struggling with some form of technique or movement. Generally I have to weigh up the value of critiquing them in the hopes that it will lead to their improvement, versus the value of simply encouraging them and trying to raise their confidence which may be more helpful in the long run. Although it does vary from person to person, generally I try to offer advice as this is part of the job I am trying to do. Most of the time the students can take it well, but sometimes the consequences of this are that the student take a small blow to their ego, or be overwhelmed by the new information when they are already grappling with what they currently know. This can often times have the adverse effect and by lowering the students confidence potentially means they may even struggle more with whatever they were trying to do in the first place.
My culture has influenced my values and identity profoundly. My parents always encouraged me to learn and be open minded towards trying new things, but also to be disciplined and practice things well, such as when I took music lessons or other extra-cirricular activities. At my high school there was a large emphasis placed on academic achievement which influenced me to value achievement more generally as a good goal or direction to want to move in. My friends are all a similar way in terms of enjoying the pursuit of learning and bettering themselves, which definitely rubs off on me and engrains the mentality of wanting to grow even further.
My strengths in my learning and career development would be being open minded, having a good learning mindset, rational thinking and creating and achieving goals. My limitations would be having my standards set too high, impatience and being overly critical of myself and others.
I believe most of these strengths will help me in my learning journey, particularly being enthusiastic about learning and setting and achieving goals. This will intersect with learning obstacles such as having to learn things I have no experience with, having a large workload and managing my own learning.
An example of trying to work productively with others was during my university assignments which involved working on a group project where we were programming an autonomous vehicle. There was resistance and tension when a few group members had disagreements about allegedly plagarising code from friends which was making it difficult to move ahead with the project. At the time I tried to resolve it by talking to each of them individually and explaining the other persons perspective in a way that seemed more neutral so they could each understand the other persons reasons for feeling / acting a certain way. I would say this was somewhat effective as we did manage to complete and pass the project. I would try a slightly different strategy now of mediating a discussion between them as this would hopefully allow for a much clearer resolution of the conflict as they are face to face and can hopefully get a better idea of the issues each person presents. This is because it would not be as much of a band-aid solution, but more of a solution that would work long term and help the group members to work together in the future even outside of the current project.


Andre Olivier Martin
Software Developer
I love Caribbean food. My goals are world domination or I will settle for a good career path while working from home. I live in Issaquah, Wa.
Michael Campbell
Software Developer
My Favorite food is pizza. My goal in Code Fellows is to have a good understanding of Software Development. Then ultimately work for a company that has a strong community outreach program. I live in Lynnnwood, Wa.
Czarl Jalos
Software Developer
My favorite food is jalapeno poppers all day, that is what I would prefer to eat. My goals in Code Fellows is to build strong fundamentals and to perform at a high level in my future career. I live in Tacoma, Wa.
James Swift
Software Developer
My favorite food is pizza. My goal for Code Fellows is to gain skills needed to become a software developer. I chose coding school to constantly learn and grow in class and my future job. I live in Seattle, Wa.


This is the ng Repeat.
First Name
Last Name
Gender
Salary
{{employee.firstName}}
{{employee.lastName}}
{{employee.gender}}
{{employee.salary}}
{{DemoMessage}}


{{> global_header }}
Careers I Like
None
Careers I Don't Like:
Careers I'm Unsure About:
My World of Work Map


@@include('header-dashboard-list-admin.htm', { "title": "My Listing - Listty", "parent": "Admin", "selectric": "", "dzs_parallaxer": "", "fancy_box": "", "owl_carousel": "", "owl_theme": "", "revolution_settings": "", "map": "", "rateyo": "", "data_tables": "", "data_tables_responsive": "", "date_range_picker": "" }) @@include('navbar-list-admin.htm', { "active": "listings" }) My Listings Home Dashboard My Listings Listing Featured Views Reviews Posted on Status Think Coffee 215 Terry Lane, New York eat & drink From $50.00 /Night 10k 784 (7) 01 Aug 19 07.00 PM Pending Edit Cancel Burger House 2726 Shinn Street, New York eat & drink From $50.00 /Night 9.2k 452 (3) 02 Aug 19 11.00 PM Pending Edit Cancel Tom's Restaurant 964 School Street, New York eat & drink From $50.00 /Night 9.5k 729 (8) 05 Aug 19 11.00 PM Approved Edit Cancel The City Theater 155 1st Avenue, New York Other's From $50.00 /Night 9.5k 694 (5) 06 Aug 19 10.13 PM Approved Edit Cancel Sticky Band Bishop Avenue, New York events From $50.00 /Night 5.9k 543 (9) 07 Aug 19 12.14 PM Canceled Hotel Govendor 78 Country Street, New York events From $50.00 /Night 5k 461 (6) 10 Aug 19 01.30 PM Approved Edit Cancel @@include('footer-dashboard.htm', { "selectric": "", "dzs_parallaxer": "", "isotope": "", "images_loaded_pkgd": "", "fancy_box": "", "date_range_picker_moment": "", "date_range_picker": "", "revolution_themepunch_tools": "", "revolution_themepunch": "", "owl_carousel": "", "rateyo": "", "apex_charts": "", "data_tables": "", "data_tables_responsive": "", "velocity": "", "maps_api_key": "", "map_markerclusterer": "", "map_rich_marker": "", "map_info_box_packed": "", "map": "", "flot": "", "flot_time": "", "chart": "" })
215 Terry Lane, New York
From $50.00 /Night 10k
2726 Shinn Street, New York
From $50.00 /Night 9.2k
964 School Street, New York
From $50.00 /Night 9.5k
155 1st Avenue, New York
Bishop Avenue, New York
From $50.00 /Night 5.9k
78 Country Street, New York
From $50.00 /Night 5k