|
flippy
a c++20 package for dynamically triangulated membrane simulations.
|
Internal implementation of a 3D vector. More...
#include <vec3.hpp>
Public Member Functions | |
| void | add (vec3< Real > const &v) |
| In place addition method. | |
| void | subtract (vec3< Real > const &v) |
| In place subtraction method. | |
| void | scale (Real s) |
| Scale the vector by a real number s. | |
| Real | dot (vec3< Real > const &v) const |
| Calculate dot product with another vector. | |
| constexpr std::size_t | size () const |
| Always returns 3. | |
| vec3< Real > | cross (vec3< Real > const &other) const |
| Calculate cross product with another vector. | |
| Real | norm () const |
| Returns the norm of the vector. | |
| Real | norm_square () const |
| Returns the square of the norm of the vector. | |
| vec3< Real > const & | normalize () |
| Normalize the vector in place. And return a reference to the new normalized vector. | |
| bool | operator== (vec3< Real > const &other) const =default |
| default equality operator. | |
| template<typename Index > requires std::is_integral_v<Index> | |
| Real & | operator[] (Index idx) |
| element access operator. | |
| template<typename Index > requires std::is_integral_v<Index> | |
| const Real & | operator[] (Index idx) const |
| element access operator for constant environments. | |
Static Public Member Functions | |
| static vec3< Real > | cross (vec3< Real > const &a, vec3< Real > const &b) |
| Calculate cross product between two vectors. | |
Public Attributes | |
| Real | x |
| The x component of the vector. | |
| Real | y |
| The y component of the vector. | |
| Real | z |
| The z component of the vector. | |
Friends | |
| std::ostream & | operator<< (std::ostream &os, const vec3< Real > &obj) |
| Streaming operator for easy printing of the vector. | |
| vec3< Real > | operator+ (vec3< Real > lhs, vec3< Real > const &rhs) |
| Overloaded operator defined in terms of vec2::add. | |
| void | operator+= (vec3< Real > &lhs, vec3< Real > const &rhs) |
| Overloaded operator defined in terms of vec3::add. | |
| vec3< Real > | operator- (vec3< Real > lhs, vec3< Real > const &rhs) |
| Overloaded operator defined in terms of vec3::subtract. | |
| void | operator-= (vec3< Real > &lhs, vec3< Real > const &rhs) |
| Overloaded operator defined in terms of vec3::subtract. | |
| vec3< Real > | operator* (Real const &lhs, vec3< Real > rhs) |
| Overloaded operator defined in terms of vec3::scale. | |
| vec3< Real > | operator* (vec3< Real > lhs, Real const &rhs) |
| Overloaded operator defined in terms of vec3::scale. | |
| void | operator/= (vec3< Real > &lhs, Real const &rhs) |
| Overloaded operator defined in terms of vec3::scale. | |
| vec3< Real > | operator/ (vec3< Real > lhs, Real const &rhs) |
| Overloaded operator defined in terms of vec3::scale. | |
| vec3< Real > | operator- (vec3< Real > v) |
| Unary minus operator. | |
| vec3< Real > | operator- (vec3< Real > &&v) |
| Unary minus operator for rvalues. | |
Internal implementation of a 3D vector.
!!! vec3 does not throw !!! This means that if you ask vec3 to divide a vector by 0 or more realistically if you normalize a zero length vector vec3 will not check for the division by zero and will return a nan result! Since vec3 is used everywhere in flippy, including in very expensive calculations, I decided to omit the security check for the sake of speed.
To keep the external dependencies low, flippy implements it's own 3D vector class with basic functionality like dot product and cross product
Example:
| Real | type that will be used for all floating point numbers inside this class/struct. Any data type that satisfies the floating_point_number concept is allowed, for example, float . |
In place addition method.
Example:
| v | add this vector elementwise to the vector that is calling the add method. |
|
inline |
In place subtraction method.
Example:
| v | subtract this vector elementwise from the vector that is calling the subtract method. |
|
inline |
Scale the vector by a real number s.
This function scales the vector in-place by the provided number s
.
| s | multiplicative prefactor. |
|
inline |
Calculate dot product with another vector.
Example:
| v | the other vec3 vector |
v
.
|
inlineconstexpr |
|
inlinestatic |
Calculate cross product between two vectors.
A static method to calculate cross product between two vectors. Example:
| a | first vector of the cross product |
| b | second vector of the cross product |
v
.
|
inline |
Calculate cross product with another vector.
Example:
| other | the other vec3 vector. |
other
.
|
inline |
Returns the norm of the vector.
Example:
|
inline |
Returns the square of the norm of the vector.
Example:
Normalize the vector in place. And return a reference to the new normalized vector.
|
default |
default equality operator.
| other | vec3 on the right hand side of the comparison operator. |
true
if all elements of the compared vectors are equal and to false
otherwise.
|
inline |
element access operator.
| Index | automatically deduced type of the index. |
| idx | can only be 0 1 or 2. Any other number will cause the program to exit with an error. |
|
inline |
element access operator for constant environments.
| Index | automatically deduced type of the index. |
| idx | can only be 0 1 or 2. Any other number will cause the program to exit with an error. |
|
friend |
Overloaded operator defined in terms of vec2::add.
| lhs | left hand side of the + operator |
| rhs | right hand side oif the + operator |
lhs.add(rhs)
.
|
friend |
Overloaded operator defined in terms of vec3::add.
Equivalent to lhs.add(rhs)
.
| lhs | left hand side of the += operator |
| rhs | right hand side oif the += operator |
|
friend |
Overloaded operator defined in terms of vec3::subtract.
| lhs | left hand side of the - operator |
| rhs | right hand side oif the - operator |
lhs.subtract(rhs)
.
|
friend |
Overloaded operator defined in terms of vec3::subtract.
Equivalent to lhs.subtract(rhs)
.
| lhs | left hand side of the -= operator |
| rhs | right hand side oif the -= operator |
|
friend |
Overloaded operator defined in terms of vec3::scale.
Left multiplication by a scalar s*v
.
| lhs | left hand side of the * operator |
| rhs | right hand side oif the * operator |
rhs.scale(lhs)
.
|
friend |
Overloaded operator defined in terms of vec3::scale.
Right multiplication by a scalar v*s
.
| lhs | left hand side of the * operator |
| rhs | right hand side oif the * operator |
lhs.scale(rhs)
.
|
friend |
Overloaded operator defined in terms of vec3::scale.
In place division by a scalar v/s
, equivalent to lhs.scale(1/rhs)
.
| lhs | left hand side of the /= operator |
| rhs | right hand side oif the /= operator |
|
friend |
Overloaded operator defined in terms of vec3::scale.
Division by a scalar v/s
.
| lhs | left hand side of the / operator |
| rhs | right hand side oif the / operator |
lhs.scale(1/rhs)
. Unary minus operator.
| v | original vector. |
Unary minus operator for rvalues.
| v | an rvalue vec3 vector. |
v
is moved into the function and -v
is returned.


The series of commands to run within this particular virtualenv.
Intended to be used with the sh and bat steps.
sh
bat


What Is a Session Bean?
A session bean encapsulates business logic that can be invoked programmatically by a client over local, remote, or web service client views. To access an application that is deployed on the server, the client invokes the session bean’s methods. The session bean performs work for its client, shielding it from complexity by executing business tasks inside the server.
A session bean is not persistent. (That is, its data is not saved to a database.)
For code samples, see Chapter 24, Running the Enterprise Bean Examples.
Types of Session Beans
Session beans are of three types: stateful, stateless, and singleton.
Stateful Session Beans
The state of an object consists of the values of its instance variables. In a stateful session bean, the instance variables represent the state of a unique client/bean session. Because the client interacts (“talks”) with its bean, this state is often called the conversational state.
As its name suggests, a session bean is similar to an interactive session. A session bean is not shared; it can have only one client, in the same way that an interactive session can have only one user. When the client terminates, its session bean appears to terminate and is no longer associated with the client.
The state is retained for the duration of the client/bean session. If the client removes the bean, the session ends and the state disappears. This transient nature of the state is not a problem, however, because when the conversation between the client and the bean ends, there is no need to retain the state.
Stateless Session Beans
A stateless session bean does not maintain a conversational state with the client. When a client invokes the methods of a stateless bean, the bean’s instance variables may contain a state specific to that client but only for the duration of the invocation. When the method is finished, the client-specific state should not be retained. Clients may, however, change the state of instance variables in pooled stateless beans, and this state is held over to the next invocation of the pooled stateless bean. Except during method invocation, all instances of a stateless bean are equivalent, allowing the EJB container to assign an instance to any client. That is, the state of a stateless session bean should apply across all clients.
Because they can support multiple clients, stateless session beans can offer better scalability for applications that require large numbers of clients. Typically, an application requires fewer stateless session beans than stateful session beans to support the same number of clients.
A stateless session bean can implement a web service, but a stateful session bean cannot.
Singleton Session Beans
A singleton session bean is instantiated once per application and exists for the lifecycle of the application. Singleton session beans are designed for circumstances in which a single enterprise bean instance is shared across and concurrently accessed by clients.
Singleton session beans offer similar functionality to stateless session beans but differ from them in that there is only one singleton session bean per application, as opposed to a pool of stateless session beans, any of which may respond to a client request. Like stateless session beans, singleton session beans can implement web service endpoints.
Singleton session beans maintain their state between client invocations but are not required to maintain their state across server crashes or shutdowns.
Applications that use a singleton session bean may specify that the singleton should be instantiated upon application startup, which allows the singleton to perform initialization tasks for the application. The singleton may perform cleanup tasks on application shutdown as well, because the singleton will operate throughout the lifecycle of the application.
When to Use Session Beans
Stateful session beans are appropriate if any of the following conditions are true.
The bean’s state represents the interaction between the bean and a specific client.
The bean needs to hold information about the client across method invocations.
The bean mediates between the client and the other components of the application, presenting a simplified view to the client.
Behind the scenes, the bean manages the work flow of several enterprise beans.
To improve performance, you might choose a stateless session bean if it has any of these traits.
The bean’s state has no data for a specific client.
In a single method invocation, the bean performs a generic task for all clients. For example, you might use a stateless session bean to send an email that confirms an online order.
The bean implements a web service.
Singleton session beans are appropriate in the following circumstances.
State needs to be shared across the application.
A single enterprise bean needs to be accessed by multiple threads concurrently.
The application needs an enterprise bean to perform tasks upon application startup and shutdown.
The bean implements a web service.


| < Day Day Up > |
When an algorithm contains an iterative control construct such as a while or for loop, its running time can be expressed as the sum of the times spent on each execution of the body of the loop. For example, we found in Section 2.2 that the jth iteration of insertion sort took time proportional to j in the worst case. By adding up the time spent on each iteration, we obtained the summation (or series)
Evaluating this summation yielded a bound of Θ(n2) on the worst-case running time of the algorithm. This example indicates the general importance of understanding how to manipulate and bound summations.
Section A.1 lists several basic formulas involving summations. Section A.2 offers useful techniques for bounding summations. The formulas in Section A.1 are given without proof, though proofs for some of them are presented in Section A.2 to illustrate the methods of that section. Most of the other proofs can be found in any calculus text.
| < Day Day Up > |


gaussianclasses¶
One of the two core libraries of pyssian. Contains the Classes that represent Gaussian Files (input and output).
- To do:
Create a Class to represent the basis and core electronic pontentials
GaussianInFile¶
Accepts a context manager usage similar to 'with open(file) as F:...'
Does not parse ONIOM calculation inputs
Does not parse MM calculation inputs
Not tested for z-matrix inputs
-
class
pyssian.
GaussianInFile
(file)[source]¶ Gaussian 09/16 .in file parent class, if any special type of input requires different processing it should be a subclass of this one.
- Parameters
file (io.TextIOBase or str) -- File instance (Result of open(filename,'r')) or valid filename.
-
preprocessing
¶ Dictionary in which each key corresponds to a certain Link0 keyword
- Type
dict
-
commandline
¶ Dictionary that contains the information of how the calculation will be carried out.
- Type
dict
-
title
¶ title of the calculation.
- Type
str
-
method
¶ If it cannot be recognized in the command line it will be empty.
- Type
str
-
basis
¶ If it cannot be recognized in the command line it will be empty.
- Type
str
-
spin
¶ - Type
int
-
charge
¶ - Type
int
-
geometry
¶ It should be able to write the text block of an input file upon calling str(geometry)
- Type
str-ish
-
tail
¶ List of str in which each should be separated from the others by a single blank line in the input file.
- Type
list
-
structure
¶ A string holding the structure of the input file. Used to write new Input files.
- Type
str
-
nprocs
¶ property to easily access and change the preprocessing['nprocshared'] value
- Type
int
-
mem
¶ property to easily access and change the preprocessing['mem'] value
- Type
int
-
add_chk
(name=None)[source]¶ Adds the chk to the file, with the specified name. If none is provided defaults to the file name ended in .chk
-
change_basis
(basis)[source]¶ Changes appropiately the basis of the calculation. Running self.basis = basis makes a call to this function.
- Parameters
basis (str) -- A string representation of a valid method if specified in the command line.
- Raises
NotImplementedError -- If the basis is not within the registered basis keywords
-
change_method
(method)[source]¶ Changes appropiately the method of the calculation. Running self.method = method makes a call to this function.
- Parameters
method (str) -- A string representation of a valid method
- Raises
NotImplementedError -- If the method is not within the registered methods keywords
-
parse_commandline
(lines)[source]¶ Parses the lines that contain the calculation commands keywords and transforms them into a dictionary representation.
- Parameters
lines (list) -- list of strings previously stripped. Empty lines will be ignored.
-
parse_geometry
(lines)[source]¶ Parses each line that contains 'Atom x y z' in an appropiate form and saves it to self.geometry
- Parameters
lines (list) -- list of strings previously stripped. Should not contain empty lines
-
parse_preprocessing
(lines)[source]¶ Parses the lines that contain the Link 0 keywords and transforms them into a dictionary representation.
- Parameters
lines (list) -- list of strings previously stripped. Empty lines will be ignored.
-
parse_tail
(lines)[source]¶ Chops the set of lines into different blocks of text using as reference the emptylines/blank lines
- Parameters
lines (list) -- list of strings previously stripped.
- Returns
Description of returned object.
- Return type
type
- Raises
ExceptionName -- Why the exception is raised.
GaussianOutFile¶
Accepts a context manager usage similar to 'with open(file) as F:...'
Will only parse a Gaussian Output File that has the "#p".
-
class
pyssian.
GaussianOutFile
(file, parselist=None)[source]¶ Gaussian 09/16 '.log' file parent class, if any special type of calculation requires different processing it should be a subclass of this one. Accepts a context manager usage similar to 'with open(file) as F:...'
- Parameters
file (io.TextIOBase or str) -- File instance (Result of open(filename,'r')) or valid filename.
parselist (list) -- List of integrers that represent which types of Links to parse (the default is None).
-
InternalJobs
¶ List of InternalJobs done by gaussian i.e an gaussian calculation with the opt freq keywords will run first an InternalJob for the Optimization and after an InternalJob for the Frequency calculation.
-
get_links
(*LinkIds)[source]¶ Wrapper Method to get a list of Links with certain Ids across the different Internal Jobs.
- Parameters
*LinkIds (int) -- Integrers that correspond to the type of links to be return.
- Returns
- Return type
list
-
update
(clean=True, FinalPrint=False)[source]¶ Tries to fetch new data. If it exists it parses it appropiately otherwise it fails silently.
- Parameters
clean (Bool) -- If True removes all the EmptyLinkJobs found (the default is True).
FinalPrint (Bool) -- If True after a normal execution has finished it will print in the console a message to notify the user (the default is False).
InternalJob¶
-
class
pyssian.
InternalJob
(number=None)[source]¶ Gaussian 09/16 InternalJob parent class, if any special type of Job requires different parsing it should be a subclass of this one.
- Parameters
number (int) -- ordinal number of the InternalJob (the default is None).
-
type
¶ string identifier for the job.
-
Links
¶ List of the different Links that belong to the InternalJob.
-
number
¶


Albon posts fastest time before crashing during opening practice in Brazil
The Red Bull driver lost control of his car after switching to slick tyres.
Alex Albon crashed out after posting the fastest time of Friday’s rain-hit opening practice session in Brazil.
The London-born Thai, who earlier this week was confirmed as a Red Bull driver for 2020, lost control of his car after switching to slick tyres.
Lewis Hamilton, the newly-crowned six-time world champion, finished bottom after opting against posting a time in the tricky conditions.
Albon had just soared to the top of the order when he slid off the track and into the barriers ahead of the uphill climb to the start-finish line.
The Red Bull driver made significant impact with the barriers and sustained serious damage to the right-hand side of his car.
Albon swore in frustration over the radio, but emerged unscathed from the accident which brought a premature end to the first action of the weekend here in Interlagos.
Ferrari’s Sebastian Vettel, unperturbed by the poor conditions, was the first driver to hit the track.
As the persistent rain relented, the circuit began to dry out, with Albon heading Mercedes’ Valtteri Bottas by half-a-second before his accident in the closing minutes.
Vettel finished third, nine tenths off the pace, with Charles Leclerc – who will serve a 10-place grid penalty on Sunday following a change of engine parts – fourth in the sister Ferrari.
Albon’s team-mate Max Verstappen, also spun while running on dry rubber in the latter stages, but the Dutchman escaped without damage.
Hamilton, fresh from winning his sixth world championship in Texas a fortnight ago, spent most of the session watching on from the back of the Mercedes garage.
He emerged on slicks in the final moments, but returned to the pits when the session was suspended in the wake of Albon’s accident.
The concluding running of the day gets under way at 3pm local time (6pm UK) where conditions are expected to have improved.


|
OpenMesh
|
Welcome to the OpenMesh documentation. OpenMesh is a generic and efficient library that offers data structures for representing and manipulating polygonal meshes. It is a powerful tool for handling polygonal meshes. Due to its inherent generative structure it allows the user to create mesh types which are custom tailored to the specific needs of the application. The user can either supply his own data structures for representing vertices, edges and faces or he can conveniently use the predefined structures of OpenMesh. Additionally OpenMesh offers dynamic properties allowing the user to attach and detach data to the mesh during runtime.
Here you can find information on how to build projects using the OpenMesh library as well as further information on mesh handling in OpenMesh. The tutorials explain how to use OpenMesh by demonstrating real code examples.
In this section all necessary information on how to build projects using OpenMesh is given.
Using and understanding OpenMesh
We provide a short overview over the functionality of the OpenMesh library and some additional concepts in Tutorials (code examples). Additionally, we explain the most important topics of OpenMesh in the following sections:
The OpenMeshTools library that contains some useful tools for i.e. mesh processing:
This section is supposed to introduce the basic concepts of OpenMesh.
OpenMesh itself is written in C++. We also provide a python interface to use OpenMesh. A detailed description of the interface can be found in the following tutorial:


| Package | Description |
|---|---|
| org.apache.sling.jackrabbit.usermanager | |
| org.apache.sling.jcr.jackrabbit.accessmanager.post | |
| org.apache.sling.servlets.post |
| Class and Description |
|---|
| Modification |
| Class and Description |
|---|
| AbstractPostResponse
The
AbstractPostResponse class provides a basic implementation
of the PostResponse interface maintaining properties to be
prepared for sending the response in an internal map. |
| Modification |
| Class and Description |
|---|
| AbstractPostOperation
Deprecated.
|
| AbstractPostResponse
The
AbstractPostResponse class provides a basic implementation
of the PostResponse interface maintaining properties to be
prepared for sending the response in an internal map. |
| Modification |
| ModificationType |
| NodeNameGenerator
Service interface which allows for custom node name generation for * resources.
|
| PostOperation
The
PostOperation interface defines the service API to be
implemented by service providers extending the Sling POST servlet. |
| PostResponse
The
PostResponse interface defines the API of a response
container which can (and should) be used by PostOperation services to
prepare responses to be sent back to the client. |
| PostResponseCreator
Service interface which allows for alternate implementations of the
PostResponse interface to be created as needed.
|
| SlingPostOperation
Deprecated.
as of 2.0.8 (Bundle version 2.2.0) and replaced by
PostOperation . |
| SlingPostProcessor
The
SlingPostProcessor interface defines a service API to be
implemented by service providers extending the Sling default POST servlet. |
| VersioningConfiguration
Data structure to hold the various options associated with how versionable
nodes are handled in the post servlet.
|
Copyright © 2018 The Apache Software Foundation. All rights reserved.


Say you have an element, like a navigation bar or update bar. If you position it with a fixed position on your webpage, it will forever stay in the same place on your broswer page, regardless of where you scroll (up or down, left or right) or move.
Elements with a fixed position can overlap other elements on a browser page, creating layers on your webpage.
Click here for more information.
When an element has a relative position, that means that it is position somewhere relative to its original position in the normal flow dictated by the html. CSS allows us to set the relative position to the original position.
Unlike fixed positioning, which allows overlap of elements on a browser page, relative positioning allows to manipulate elements so that they are all positioned relative to each other in a block.
Click here for more information.
An element with absolute positioning is an element that is relative to a parent element that does not have static positioning. This position will essentially allow you to put an element anywhere on the browse page relative to a parent element.
Absolute positioning also allows overlap with other elements on the browse page.
Click here for more information.


| # | Date | MO No. | No of Samples | No of Boxes | Container No. | Location ID | Box No. | Retained By | Expiration |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 4/5/2021 | MO-01 | xx | xx | Container-01 | Loc-ID- | Box-xx | Rep-xx | 4/4/2021 |
| 2 | 4/5/2021 | MO-01 | xx | xx | Container-01 | Loc-ID- | Box-xx | Rep-xx | 4/4/2022 |
Note: Automatically filter after expired


{% from "macros.html" import field_errors, field_description %}
Not yet registered ? Register now Forgot password ?


{% extends 'layout.html' %} {% block pageTitle %} NHS login - Success! {% endblock %} {% block content %}
This means you are able to see {{ data.primaryUserFirstName or 'Alice' }}’s {{ data.service or 'stepWell' }} information. For example, you may be able to see some of their medical or appointment information.
Access to some parts of {{ data.service or 'stepWell' }} may need a higher level of security. To do this, your information will be sent to {{ data.primaryUserFirstName or 'Alice' }}'s clinician to be authorised. Until you are fully authorised you may not be able to use all of {{ data.service or 'stepWell' }}’s features. This can take up to 7 days.
Email the service desk if you would like to cancel this at any time.


File this under “Things That Shouldn’t Be Surprising.”
A recent study by the Education Endowment Foundation found that disadvantaged kids perform better in STEM fields after 2 years of studying philosophy.
3,000 school children discussed philosophical concepts, reflected, and practiced dialogging. Their test scores improved in a way that appears to reflect lasting change.
So, it turns out, the notion of philosophy corrupting the youth was fake news.
The value of philosophy is not merely pragmatic. But it is certainly pragmatic. Socrates was not only the best philosopher of Greece, but the best soldier and best politician.


Type
Script
Home
Customers
Charts
Navbar example
This example is an example to illustrate how the TypeScript works.
TypeScript docs


{% extends "base-error.html" %}
{% block title %}Workflow - Not found{% endblock %}
{% block title_header %}Workflow Database Not Found{% endblock %}
{% block navigation_bar %}-{% endblock %}
{% block content %}
Possible Reasons
-
Workflow submit directory was moved or deleted from the file system.
{% endblock %}


Build Script
This is a tool somewhat like ant or scons which will track dependencies
among files and rebuild dependent files when the sources have
changed.
We have to model two kinds of dependencies.
- A generic *.txt depends on on *.py, as well as *.html on *.txt.
- A specific index.rst depends on on [*.py].
The distinction here is that a generic rule is a template
that applies to a number of files in a 1-1 relationship.
The specific rule is a slightly more general 1-m target-source relationship.
We'll define a function to build if necessary. This will be a higher-order
function which requires a builder which can rebuild the target if
any of the sources have been changed.
We'll define a number of builders for the various tools we need to automate.
Module Docstring
"""Build all the code sample files into slightly more readable HTML pages.
1. Run pylit to build the RST *.txt files from the code in *.py files.
2. Create the index.rst page as an additional file.
3. Run rst2html.py to build the *.html versions of the *.txt files.
Requires pylit3 and docutils.
::
python3 -m pip install pylit3 docutils
"""
Our includes
from pathlib import Path
import os
import subprocess
import datetime
import sys
import logging
from functools import partial
A global logger the entire module can use
logger = logging.getLogger("build")
Here's the logging setup done as context management.
We'll initialize logging and shutdown logging, also.
class Logging_Config:
def __enter__(self, filename="logging.config"):
logging.basicConfig(stream=sys.stderr, level=logging.INFO)
def __exit__(self, *exc):
logging.shutdown()
The core feature is a build_if_needed() function. This will
check the modification times of the named files. This function
has a simple body:
- If the target is newer than the source, do nothing.
- If the target is older than the source, apply the builder function.
In order to determine if we should build, we need to compare
the modification times of the target and all of the sources.
This leads to the target_ok() function to check timstamps.
def target_ok(target_file, *source_list):
"""Was the target file created after all the source files?
If so, this is OK.
If there's no target, or the target is out-of-date,
it's not OK.
"""
try:
mtime_target = datetime.datetime.fromtimestamp(
target_file.stat().st_mtime)
except FileNotFoundError:
logger.debug("File %s not found", target_file)
return False
logger.debug("Compare %s %s >ALL %s",
target_file, mtime_target, source_list)
# If a source doesn't exist, we have bigger problems.
times = (
datetime.datetime.fromtimestamp(source_file.stat().st_mtime)
for source_file in source_list
)
return all(mtime_target > mtime_source for mtime_source in times)
The build_if_needed() function requires a builder, a target and
one or more sources. It will apply the target_ok() function
to the target and source files. If necessary, it will apply
the builder.
def build_if_needed(builder, target_file, *source):
"""Build the target from the sources using the builder."""
logger.debug("Checking %s", target_file)
if target_ok(target_file, *source):
return f"ok({target_file}, *{source})"
builder(target_file, *source)
return f"builder({target_file}. *{source})"
We could approach this a different way. We could have
had the build_if_needed() return one of two things:
- builder(target, \*source) partial for evaluation later.
- ok(target, \*source) partial which is a stub builder that doesn't do anything.
The idea would be that the output from the above would be
a script that clearly shows what needs to be done.
Each builder is a function which takes the target filename
and a list of source filenames. It's job is to create the target
from the sources.
Since we rely on the subprocess.run() function, each
builder is properly a composition of the run() and
another function that builds the command which is called.
We'll have several ways to implement the functional composition:
via subclass definition, decorators, or a higher-order function
that combines the two other functions.
We'll opt for a generic higher-order function and create a partial
when we bind in the function that builds the arguments.
def subprocess_builder(make_command, target_file, *source_list):
command = make_command(target_file, *source_list)
logger.debug("Command {0}".format(command))
subprocess.run(command)
The PyLit subprocess_builder creates a command to run PyLit.
def command_pylit(output, *input):
return ["python3", "-m", "pylit", input[0]]
pylit = partial(subprocess_builder, command_pylit)
The rst2html subprocess_builder creates a command to run rst2html.
It includes two common arguments required to make acceptable-looking
content.
def command_rst2html(output, *input):
return ["rst2html.py", "--syntax-highlight=long", "--input-encoding=utf-8", input[0], output]
rst2html = partial(subprocess_builder, command_rst2html)
A builder to create an index page. This will apply three internal functions
to create a header, create the body, and create a footer.
header = lambda : """
#############################################
Function Python Programming Bonus Code
#############################################
© 2018, Steven F. Lott
.. raw:: html

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Some Bonus Material.
"""
footer = lambda : "Updated {0}".format(datetime.datetime.now())
def body( source_list ):
return "\n".join(
"- `{0} <{0}>`_".format(source.with_suffix(".html").name)
for source in source_list)
def make_index(target_file, *source_list):
with open(target_file, "w") as target:
print(header(), file=target)
print('\n', file=target)
print(body(source_list), file=target)
print('\n', file=target)
print(footer(), file=target)
Here's the top-level definition of the dependencies.
There are three sets of rules.
- Create *.txt based on *.py files for files in *.py.
- Create index.txt based on *.txt files built from names in *.py.
- Create *.html based on *.txt files for files in *.txt
We've stated the rules two ways below. One has a list of
dependency function values. The other as a for loop.
Both versions seem reasonably clear.
def make_files():
files_py = list(Path.cwd().glob("*.py"))
txt_builds = [
build_if_needed(pylit, f.with_suffix(f.suffix+'.txt'), f)
for f in files_py
]
for item in txt_builds:
logger.info(item)
index_build = build_if_needed(
make_index, Path("index.txt"),
*[f.with_suffix(f.suffix+'.txt') for f in files_py]
)
logger.info(index_build)
files_txt = Path.cwd().glob("*.txt")
for f in files_txt:
html_build = build_if_needed(rst2html, f.with_suffix('.html'), f)
logger.info(html_build)
The Main script that does all the work.
We create a logging context. We apply the build-if-needed rules.
if __name__ == "__main__":
with Logging_Config():
os.chdir(Path("Bonus"))
make_files()


FIND OUT MORE ABOUT OPPORTUNITIES TO WORK WITH US IN YOUR REGION.
Primetals Technologies is dedicated to engineering and manufacturing excellence in the metals industry. A joint venture of Mitsubishi-Hitachi Metals Machinery and Siemens, the innovative and technological strengths of both companies have been merged to form a globally operating enterprise that will be an elite supplier of state-of-the-art technologies, plants, products and services for the iron, steel and nonferrous industrial sectors.
From complex engineering projects to effective business management, we are a company that thrives on technology where innovation in every area is valued. As the world leader in metallurgical plant solutions, we work passionately to continuously improve and challenge ourselves to accomplish new goals, increase our customers’ competitiveness, and make a lasting contribution to society. It is our people who help us achieve this vision and whilst doing this, they enjoy diverse careers across our global operations with opportunities to develop and unfold their creative potential. We aim to select the right people from whatever culture and background, if you want to be a part of our exciting future, please review the opportunities in the countries that we operate in:
{% block content %} {% endblock %}


Home
Attendance
Beginner
Here you can find the Content for Beginners
Topic
PDF
Video
1
Fractions
Fractions
Coming Soon


When I orbited the Earth in a spaceship, I saw for the first time how beautiful our planet is. Issuer*
BCSM*
When I orbited the Earth in a spaceship, I saw for the first time how beautiful our planet is.
Execute
© Copyright 2019 Rujia. All Rights Reserved


Blac Chyna Flaunts Curves In Dark Pink Dress On Instagram
November 24, 2019
Blac Chyna Flaunts Curves In Dark Pink Dress On Instagram
Blac Chyna flaunted her curves in a dark pink dress and shared photos with her Instagram fans yesterday. The dress she wore featured an oval cut-out on her chest, along with long sleeves that turned into gloves. The top of the dress featured a turtleneck, and the entire ensemble hugged all of her curves. This meant that her chest and hips were accentuated.
The model also styled herself accordingly, with bright pink eyeshadow that matched her outfit. She also sported dark eyeliner on her upper and lower lids. Plus, her lips popped thanks to the glossy lipstick. She opted for a light nude tone, while her lip liner was dark brown.  Her locks were very long and appeared to reach her derriere. She’s known for her many wigs, so this is likely just another one from her collection.
 Behind her was a door, along with gray cabinets to her right. There was a bright light source in front of the stunner, as her skin glowed. She also cast a shadow on the door behind her. She stood with her right hand on her hips, as her sparkling manicure peeked through. She pursed her lips seductively for the shot, which she also parted slightly. Blac looked straight at the camera and oozed confidence.
And although she opted to go without a necklace, she sported sparkling diamond drop earrings. She alluded to the jewelry in the captions.
Fans gushed about the bombshell in the comments section.
“@blacchyna what color eye shadow or palette you have on?? I love it,” asked a follower.
“YES YOU CUTE HERE,” raved an admirer.
Loading...
“D*mn C you always come thru hard,” wrote a fan.
“Believe me I know they my best friends also……,” noted a fourth Instagram user, referring to the captions.
In addition, Blac shared another photo last month that showed her rocking another dress. Except this time, she opted for a see-through ensemble. It was black and made of shimmery fabric, which hugged her curves tightly. It had long sleeves and thin, black zebra-like animal print throughout. Her black bottoms showed through the dress, which also featured a large cut-out on the back. The model posed in front of a blank wall and placed her left hand by her neck.


5 mins ago via Twitter
Josh said: blah blah blah
45 mins ago via Focused Review
Just cannot find the filters on heatmap views.
1 day ago via Email
Dear Support
blah blah blah
5 days ago via Support Ticket
Josh said:


GrapheneOS
GrapheneOS is a privacy and security focused mobile OS with Android app compatibility developed as a non-profit open source project. It's focused on the research and development of privacy and security technology including substantial improvements to sandboxing, exploit mitigations and the permission model.
GrapheneOS improves the privacy and security of the OS from the bottom up. It deploys technologies to mitigate whole classes of vulnerabilities and make exploiting the most common sources of vulnerabilities substantially more difficult. It improves the security of both the OS and the apps running on it. The app sandbox and other security boundaries are fortified. GrapheneOS tries to avoid impacting the user experience with the privacy and security features. Ideally, the features can be designed so that they're always enabled with no impact on the user experience and no additional complexity like configuration options. It's not always feasible, and GrapheneOS does add various toggles for features like the Network permission, Sensors permission, restrictions when the device is locked (USB peripherals, camera, quick tiles), etc. along with more complex user-facing privacy and security features with their own UX.
The features page provides an overview of the substantial privacy and security improvements added by GrapheneOS to the Android Open Source Project.
Official releases are available on the releases page and installation instructions are on the install page.
GrapheneOS also develops various apps and services with a focus on privacy and security. Vanadium is a hardened variant of the Chromium browser and WebView specifically built for GrapheneOS. GrapheneOS also includes our minimal security-focused PDF Viewer, our hardware-based Auditor app / attestation service providing local and remote verification of devices, and the externally developed Seedvault encrypted backup which was initially developed for inclusion in GrapheneOS.
No Google apps or services
GrapheneOS will never include either Google Play services or another implementation of Google services like microG. It's still possible to install Play services as a set of fully sandboxed apps without special privileges via our sandboxed Play services compatibility layer. See the FAQ section for more details on our plans for filling in the gaps from not shipping Play services and Google apps.
History
GrapheneOS was founded as an open source project in late 2014. It was formerly known as CopperheadOS. For more details, see the history page.
Upstream contributions
See the FAQ section on our upstream work improving privacy and security for billions of users by getting a subset of our changes into core infrastructure projects.


A
wordsmith is
a
writer
.
Search for words that rhyme
SUBMIT
Set a topic and find adjectives that describe the input word
SUBMIT


Rules: At the Double, Forward to Victory, Inspiring Presence
Categories: CHAOS, DAEMON, HERO, MONSTER, WIZARD, Leader, DAEMON PRINCE
Magic: Be'lakor, Spell: Enfeeble Foe, Unit: Be'lakor, Unit Abilities: Fly, Lord of Torment, Shadow Form, The Dark Master, Weapon: Blade of Shadows
| Magic | Cast/Unbind | Spells Known |
|---|---|---|
| Be'lakor | 2 | Arcane Bolt, Mystic Shield, Enfeeble Foe |
| Spell | Casting Value | Description |
|---|---|---|
| Enfeeble Foe | 6 | If successfully cast, pick 1 enemy unit within 18" of the caster and visible to them. Subtract 1 from wound rolls for attacks made with melee weapons by that unit until your next hero phase. |
| Unit | Move | Wounds | Bravery | Save |
|---|---|---|---|---|
| Be'lakor | 12" | 8 | 10 | 4+ |
| Unit Abilities | Ability Details |
|---|---|
| Fly | This unit can fly. |
| Lord of Torment | If an enemy unit fails a battleshock test while it is within 10" of this model, you can heal up to D3 wounds allocated to this model. |
| Shadow Form | Ignore modifiers (positive or negative) when making save rolls for attacks that target this model. |
| The Dark Master | After set-up is complete but before the first battle round begins, secretly pick 1 enemy unit on the battlefield. Once per battle, at the start of the enemy hero phase, you can reveal which unit you picked. Until your next hero phase, your opponent must roll a dice each time that unit attempts to cast a spell, move, charge or attack with any weapons it is armed with. On a 1-4, that unit cannot do so. On a 5+, that unit can do so as normal. |
| Weapon | Type | Range | Attacks | To Hit | To Wound | Rend | Damage |
|---|---|---|---|---|---|---|---|
| Blade of Shadows | Melee | 1" | 6 | 3+ | 3+ | -1 | 2 |
Selections: 2. Blasphemous Cuirass, 4. Eternal Vendetta, 4. Mask of Darkness, Arcane Bolt, Daemonic Power, General, Mystic Shield, Sorcerer Staff, Tzeentch
Categories: CHAOS, CHAOS SORCERER LORD, HERO, MORTAL, SLAVES TO DARKNESS, WIZARD, EYE OF THE GODS, MARK OF CHAOS, Leader, General, Artefact, TZEENTCH
Artefact: Blasphemous Cuirass, Command Trait: Eternal Vendetta, Magic: Chaos Sorcerer Lord, Mask of Darkness, Spell: Arcane Bolt, Daemonic Power, Mystic Shield, Unit: Chaos Sorcerer Lord, Unit Abilities: Oracular Visions, Weapon: Sorcerer Staff
| Artefact | Artefact Details |
|---|---|
| Blasphemous Cuirass | Roll a dice each time a mortal wound is allocated to the bearer. On a 5+, that mortal wound is negated |
| Command Trait | Command Trait Details |
|---|---|
| Eternal Vendetta | You can re-roll wound rolls for attacks made by this general. In addition, you can re-roll hit rolls for attacks made by this general that target ORDER units. |
| Magic | Cast/Unbind | Spells Known |
|---|---|---|
| Chaos Sorcerer Lord | 1/1 | Arcane Bolt, Mystic Shield, Daemonic Power |
| Mask of Darkness | 7 | If successfully cast, pick 1 friendly MORTAL SLAVES TO DARKNESS unit wholly within 12" of the caster and visible to them. Remove that unit from the battlefield and then set it up again anywhere on the battlefield more than 9" from any enemy units. That unit cannot move in the following movement phase. |
| Spell | Casting Value | Description |
|---|---|---|
| Arcane Bolt | 5 | If successfully cast, pick an enemy unit within 18" of the caster that is visible to them. That unit suffers 1 mortal wound. If the casting roll was 10 or more, the unit suffers D3 mortal wounds instead. |
| Daemonic Power | 6 | If successfully cast, pick 1 friendly MORTAL SLAVES TO DARKNESS unit wholly within 18" of the caster and visible to them. You can re-roll hit and wound rolls for attacks made by that unit until your next hero phase. |
| Mystic Shield | 6 | If successfully cast, pick a friendly unit within 18" of the caster that is visible to them. Re-roll save rolls of 1 for that unit until your next hero phase. |
| Unit | Move | Wounds | Bravery | Save |
|---|---|---|---|---|
| Chaos Sorcerer Lord | 5" | 5 | 7 | 4+ |
| Unit Abilities | Ability Details |
|---|---|
| Oracular Visions | In your hero phase, you can pick 1 friendly MORTAL SLAVES TO DARKNESS unit wholly within 12" of this model. If you do so, you can re-roll save rolls for attacks that target that unit until your next hero phase. |
| Weapon | Type | Range | Attacks | To Hit | To Wound | Rend | Damage |
|---|---|---|---|---|---|---|---|
| Sorcerer Staff | Melee | 2" | 1 | 4+ | 3+ | -1 | D3 |
Selections: Changestaff, Disc of Tzeentch, Warptongue Blade
Categories: CHAOS, DAEMON, HERO, MORTAL, TZEENTCH, WIZARD, EVERCHOSEN, Leader
Magic: Gaunt Summoner, Infernal Flames, Spell: Fractal Mindstorm, Unit: Gaunt Summoner on Disc of Tzeentch, Unit Abilities: Book of Profane Secrets, Fly, Hovering Disc of Tzeentch, Warptongue Blade, Weapon: Blades and Sttingers, Changestaff, Warptongue Blade
| Magic | Cast/Unbind | Spells Known |
|---|---|---|
| Gaunt Summoner | 2/2 | Arcane Bolt, Mystic Shield, Fractal Mindstorm |
| Infernal Flames | 7 | If successfully cast, pick 1 enemy unit within 12" of the caster and visible to them, and roll 1 dice for each model in that unit. For each 5+, that unit suffers 1 mortal wound. If that unit is a MONSTER or WAR MACHINE, roll 3 dice for each model instead. |
| Spell | Casting Value | Description |
|---|---|---|
| Fractal Mindstorm | See below | Before attempting to cast the spell, choose an enemy unit within 9" of the caster. The spell has a casting value equal to the Bravery of the unit you chose. If the spell is successfully cast, roll a number of dice equal to the unit's Bravery. It suffers 1 mortal wound for each dice that rolls 4 or more. |
| Unit | Move | Wounds | Bravery | Save |
|---|---|---|---|---|
| Gaunt Summoner on Disc of Tzeentch | 16" | 5 | 8 | 6+ |
| Unit Abilities | Ability Details |
|---|---|
| Book of Profane Secrets | Once per battle, at the start of your hero phase, you can say this model will use its Book of Profane Secrets. If you do so, you can summon 1 unit from the list below to the battlefield, and add it to your army, but the number of spells that this model can attempt to cast in that phase is reduced by 1. The summoned unit must be set up wholly within 9" of this model and more than 9" from any enemy units. Choose 1 unit from the following list: • 10 Pink Horrors • 10 Bloodletters • 10 Plaguebearers • 10 Daemonettes • 6 Furies |
| Fly | This unit can fly. |
| Hovering Disc of Tzeentch | Add 2 to save rolls for attacks made with melee weapons that target this model unless the attacking unit is a MONSTER or can fly. |
| Warptongue Blade | If the unmodified wound roll for an attack made with a Warptongue Blade is 6, that attacks inflicts D6 mortal wounds on the target and the attack sequence ends (do not make a save roll). |
| Weapon | Type | Range | Attacks | To Hit | To Wound | Rend | Damage |
|---|---|---|---|---|---|---|---|
| Blades and Sttingers | Melee | 1" | D3 | 4+ | 4+ | - | 1 |
| Changestaff | Missile | 18" | 1 | 3+ | 4+ | - | D3 |
| Warptongue Blade | Melee | 1" | 1 | 3+ | 4+ | - | 1 |
Selections: Daemonic Axe, Khorne, Malefic Talons
Categories: CHAOS, DAEMON, MONSTER, HERO, DAEMON PRINCE, SLAVES TO DARKNESS, Leader, KHORNE, NURGLE
Command Abilities: Bloodslick Ground, Unit: Daemon Prince, Unit Abilities: Bounding Charge, Fly, Immortal Champion, Weapon: Daemonic Axe, Malefic Talons
| Command Abilities | Command Ability Details |
|---|---|
| Bloodslick Ground | You can use this command ability in your hero phase if this model has the KHORNE keyword. If you do so, until your next hero phase, run and charge rolls made for enemy units within 18" of this model are halved. You cannot use this command ability more than once per turn. |
| Unit | Move | Wounds | Bravery | Save |
|---|---|---|---|---|
| Daemon Prince | 12" | 8 | 10 | 3+ |
| Unit Abilities | Ability Details |
|---|---|
| Bounding Charge | Add 1 to hit rolls for attacks made by this model if it charged in the same turn. |
| Fly | This unit can fly. |
| Immortal Champion | This model fights at the start of the combat phase. This model cannot fight again in that phase unless an ability or spell allows it to fight more than once. |
| Weapon | Type | Range | Attacks | To Hit | To Wound | Rend | Damage |
|---|---|---|---|---|---|---|---|
| Daemonic Axe | Melee | 1" | 3 | 3+ | 3+ | -2 | 2 |
| Malefic Talons | Melee | 1" | 3 | 3+ | 3+ | - | 2 |
Selections: 20 Chaos Marauders [150pts], Barbarian Axes and Darkwood Shields, Khorne
Categories: CHAOS, MORTAL, SLAVES TO DARKNESS, CHAOS MARAUDERS, Battleline, KHORNE
Unit: Chaos Marauders, Unit Abilities: Barbarian Hordes, Boundless Ferocity, Darkwood Shields, Marauder Chieftain, Weapon: Barbarian Axe
| Unit | Move | Wounds | Bravery | Save |
|---|---|---|---|---|
| Chaos Marauders | 6" | 1 | 5 | 6+ |
| Unit Abilities | Ability Details |
|---|---|
| Barbarian Hordes | Add 1 to hit rolls for attacks made by this unit while it has at least 10 models. In addition, improve the Rend characteristic of this unit’s melee weapons by 1 while it has at least 20 models. |
| Boundless Ferocity | When you make a charge roll for this unit, change the lowest dice in that roll to a 6. If the roll is a double, change one of the dice to a 6 instead. |
| Darkwood Shields | Add 1 to save rolls for attacks that target a unit with Darkwood Shields. |
| Marauder Chieftain | 1 model in this unit can be a Marauder Chieftain. Add 1 to the Attacks characteristic of that model’s melee weapons. |
| Weapon | Type | Range | Attacks | To Hit | To Wound | Rend | Damage |
|---|---|---|---|---|---|---|---|
| Barbarian Axe | Melee | 1" | 2 | 4+ | 4+ | - | 1 |
Selections: 20 Chaos Marauders [150pts], Barbarian Axes and Darkwood Shields, Khorne
Categories: CHAOS, MORTAL, SLAVES TO DARKNESS, CHAOS MARAUDERS, Battleline, KHORNE
Unit: Chaos Marauders, Unit Abilities: Barbarian Hordes, Boundless Ferocity, Darkwood Shields, Marauder Chieftain, Weapon: Barbarian Axe
| Unit | Move | Wounds | Bravery | Save |
|---|---|---|---|---|
| Chaos Marauders | 6" | 1 | 5 | 6+ |
| Unit Abilities | Ability Details |
|---|---|
| Barbarian Hordes | Add 1 to hit rolls for attacks made by this unit while it has at least 10 models. In addition, improve the Rend characteristic of this unit’s melee weapons by 1 while it has at least 20 models. |
| Boundless Ferocity | When you make a charge roll for this unit, change the lowest dice in that roll to a 6. If the roll is a double, change one of the dice to a 6 instead. |
| Darkwood Shields | Add 1 to save rolls for attacks that target a unit with Darkwood Shields. |
| Marauder Chieftain | 1 model in this unit can be a Marauder Chieftain. Add 1 to the Attacks characteristic of that model’s melee weapons. |
| Weapon | Type | Range | Attacks | To Hit | To Wound | Rend | Damage |
|---|---|---|---|---|---|---|---|
| Barbarian Axe | Melee | 1" | 2 | 4+ | 4+ | - | 1 |
Selections: 2x 5 Chaos Warriors [200pts], Chaos Hand Weapons and Chaos Runeshields, Tzeentch
Categories: CHAOS, MORTAL, SLAVES TO DARKNESS, CHAOS WARRIORS, Battleline, WIZARD, TZEENTCH
Unit: Chaos Warriors, Unit Abilities: Aspiring Champion, Chaos Runeshield, Legions of Chaos, Weapon: Chaos Hand Weapon
| Unit | Move | Wounds | Bravery | Save |
|---|---|---|---|---|
| Chaos Warriors | 5" | 2 | 7 | 4+ |
| Unit Abilities | Ability Details |
|---|---|
| Aspiring Champion | 1 model in this unit can be an Aspiring Champion. Add 1 to the Attacks characteristic of that model’s melee weapons. |
| Chaos Runeshield | Roll a dice each time you allocate a mortal wound to a unit that carries Chaos Runeshields. On a 5+, that mortal wound is negated. |
| Legions of Chaos | You can re-roll save rolls for attacks that target this unit while it has at least 10 models. |
| Weapon | Type | Range | Attacks | To Hit | To Wound | Rend | Damage |
|---|---|---|---|---|---|---|---|
| Chaos Hand Weapon | Melee | 1" | 2 | 3+ | 3+ | - | 1 |
Selections: 2x 5 Chaos Warriors [200pts], Chaos Hand Weapons and Chaos Runeshields, Tzeentch
Categories: CHAOS, MORTAL, SLAVES TO DARKNESS, CHAOS WARRIORS, Battleline, WIZARD, TZEENTCH
Unit: Chaos Warriors, Unit Abilities: Aspiring Champion, Chaos Runeshield, Legions of Chaos, Weapon: Chaos Hand Weapon
| Unit | Move | Wounds | Bravery | Save |
|---|---|---|---|---|
| Chaos Warriors | 5" | 2 | 7 | 4+ |
| Unit Abilities | Ability Details |
|---|---|
| Aspiring Champion | 1 model in this unit can be an Aspiring Champion. Add 1 to the Attacks characteristic of that model’s melee weapons. |
| Chaos Runeshield | Roll a dice each time you allocate a mortal wound to a unit that carries Chaos Runeshields. On a 5+, that mortal wound is negated. |
| Legions of Chaos | You can re-roll save rolls for attacks that target this unit while it has at least 10 models. |
| Weapon | Type | Range | Attacks | To Hit | To Wound | Rend | Damage |
|---|---|---|---|---|---|---|---|
| Chaos Hand Weapon | Melee | 1" | 2 | 3+ | 3+ | - | 1 |
Selections: 3 Varanguard [300pts], Ensorcelled Weapon, Tearing Fangs, Undivided, Warpsteel Shields
Categories: CHAOS, MORTAL, Other, Battleline
Unit: Varanguard, Unit Abilities: Favoured of the Everchosen, Relentless Killers, Warpsteel Shield, Weapon: Ensorcelled Weapon, Tearing Fangs
| Unit | Move | Wounds | Bravery | Save |
|---|---|---|---|---|
| Varanguard | 10" | 5 | 9 | 3+ |
| Unit Abilities | Ability Details |
|---|---|
| Favoured of the Everchosen | Add 1 to hit rolls for attacks made with melee weapons by this unit (excluding those of its mounts) if ARCHAON is in your army and on the battlefield. |
| Relentless Killers | Once per battle, in the combat phase, after this unit has fought in that phase for the first time, when it is your turn to pick a unit to fight, this unit can be picked to fight for a second time if it is within 3" of any enemy units. |
| Warpsteel Shield | Each time this unit is affected by a spell or endless spell, you can roll a dice. If you do so, on a 5+, ignore the effects of that spell or endless spell on this unit. |
| Weapon | Type | Range | Attacks | To Hit | To Wound | Rend | Damage |
|---|---|---|---|---|---|---|---|
| Ensorcelled Weapon | Melee | 1" | 6 | 3+ | 3+ | -1 | 1 |
| Tearing Fangs | Melee | 1" | 3 | 4+ | 3+ | - | 1 |
Selections: 3 Varanguard [300pts], Ensorcelled Weapon, Tearing Fangs, Undivided, Warpsteel Shields
Categories: CHAOS, MORTAL, Other, Battleline
Unit: Varanguard, Unit Abilities: Favoured of the Everchosen, Relentless Killers, Warpsteel Shield, Weapon: Ensorcelled Weapon, Tearing Fangs
| Unit | Move | Wounds | Bravery | Save |
|---|---|---|---|---|
| Varanguard | 10" | 5 | 9 | 3+ |
| Unit Abilities | Ability Details |
|---|---|
| Favoured of the Everchosen | Add 1 to hit rolls for attacks made with melee weapons by this unit (excluding those of its mounts) if ARCHAON is in your army and on the battlefield. |
| Relentless Killers | Once per battle, in the combat phase, after this unit has fought in that phase for the first time, when it is your turn to pick a unit to fight, this unit can be picked to fight for a second time if it is within 3" of any enemy units. |
| Warpsteel Shield | Each time this unit is affected by a spell or endless spell, you can roll a dice. If you do so, on a 5+, ignore the effects of that spell or endless spell on this unit. |
| Weapon | Type | Range | Attacks | To Hit | To Wound | Rend | Damage |
|---|---|---|---|---|---|---|---|
| Ensorcelled Weapon | Melee | 1" | 6 | 3+ | 3+ | -1 | 1 |
| Tearing Fangs | Melee | 1" | 3 | 4+ | 3+ | - | 1 |
Categories: Allegiance
Selections: Ravagers
Aura of Chaos Power: Aura of Chaos Undivided, Aura of Khorne, Aura of Nurgle, Aura of Slaanesh, Aura of Tzeentch, Battle Trait: Aura of Chaos, Eye of the Gods, Glory for the Taking, Command Abilities: Rally the Tribes, Eye of the Gods - 2D6 roll: 02 - Spawndom, 03 - Slaughterer's Strength, 04 - Murderous Mutation, 05 - Iron Flesh, 06 - Flames of Chaos, 07 - Snubbed by the Gods, 08 - Unholy Resilience, 09-10 - Daemonic Legions, 11-12 - Dark Apotheosis
| Aura of Chaos Power | Ability |
|---|---|
| Aura of Chaos Undivided | Do not take battleshock tests for friendly SLAVES TO DARKNESS UNDIVIDED units wholly within 12" of this model. In addition, if this model is a general, roll a dice each time you allocate a wound or mortal wound to a friendly SLAVES TO DARKNESS UNDIVIDED unit wholly within 12" of this model. On a 6, that wound or mortal wound is negated. |
| Aura of Khorne | You can re-roll hit rolls of 1 for attacks made with melee weapons by friendly SLAVES TO DARKNESS KHORNE units wholly within 12" of this model. In addition, if this model is a general, add 1 to wound rolls for attacks made with melee weapons by friendly SLAVES TO DARKNESS KHORNE units wholly within 12" of this model. |
| Aura of Nurgle | If the unmodified wound roll for an attack made with a melee weapon by a friendly SLAVES TO DARKNESS NURGLE unit wholly within 12" of any friendly models with this ability is 6, add 1 to the damage inflicted by that attack. In addition, if this model is a general, subtract 1 from hit rolls for attacks made with missile weapons that target friendly SLAVES TO DARKNESS NURGLE units wholly within 12" of this model. |
| Aura of Slaanesh | If the unmodified hit roll for an attack made with a melee weapon by a friendly SLAVES TO DARKNESS SLAANESH unit wholly within 12" of this model is 6, that attack scores 2 hits on the target instead of 1. Make a wound and save roll for each hit. In addition, if this model is a general, you can re-roll run and charge rolls for friendly SLAVES TO DARKNESS SLAANESH units wholly within 12" of this model. |
| Aura of Tzeentch | You can re-roll save rolls of 1 for attacks that target friendly SLAVES TO DARKNESS TZEENTCH units wholly within 12" of this model. In addition, if this model is a general, each time a friendly SLAVES TO DARKNESS TZEENTCH unit wholly within 12" of this model is affected by a spell or endless spell, you can roll a dice. If you do so, on a 5+, ignore the effects of that spell or endless spell on that unit. |
| Battle Trait | Battle Trait Details |
|---|---|
| Aura of Chaos | If a SLAVES TO DARKNESS HERO has a Mark of Chaos keyword, that HERO has one of the following Aura of Chaos abilities. The Aura of Chaos a HERO has is determined by its Mark of Chaos keyword: KHORNE HEROES have the Aura of Khorne, TZEENTCH HEROES have the Aura of Tzeentch, NURGLE HEROES have the Aura of Nurgle, SLAANESH HEROES have the Aura of Slaanesh, and UNDIVIDED HEROES have the Aura of Chaos Undivided. If you select a unit with more than one Mark of Chaos keyword to be part of your army, you must pick which one will apply to that unit for the duration of the battle. |
| Eye of the Gods | At the end of the combat phase, if any attacks made by a friendly SLAVES TO DARKNESS HERO that has the EYE OF THE GODS keyword destroyed any enemy HEROES or MONSTERS in that phase, you can make 1 roll on the Eye of the Gods table below for that friendly HERO. Rewards gained by rolling on this table apply for the rest of the battle. Duplicate rewards are treated as ‘Snubbed by the Gods’ instead |
| Glory for the Taking | If your general is not a DAEMON PRINCE, you can pick 1 command trait for up to 5 different friendly RAVAGERS HEROES (excluding DAEMON PRINCES) in addition to the command trait your general can have. You must pick a different command trait for each of these HEROES, and none of them can have more than 1 command trait. You can use these command traits for these HEROES even though they are not your general. At the start of your hero phase, you can pick 1 friendly RAVAGERS HERO (excluding DAEMON PRINCES) that is on the battlefield and has a command trait to stake their claim as warlord. If you do so, that HERO becomes the army general until your next hero phase. |
| Command Abilities | Command Ability Details |
|---|---|
| Rally the Tribes | You can use this command ability at the end of your movement phase. If you do so, pick the model that is currently your general. The same model cannot be picked more than once per battle. That model rallies 1 unit of 10 CHAOS MARAUDERS, 1 unit of 5 CHAOS MARAUDER HORSEMEN or 1 CULTISTS unit of up to 10 models to the battlefield. The unit is added to your army, and must be set up wholly within 6" of the edge of the battlefield and more than 9" from any enemy units. |
| Eye of the Gods - 2D6 roll | Reward |
|---|---|
| 02 - Spawndom | You can add 1 SLAVES TO DARKNESS CHAOS SPAWN to your army. If you do so, set up 1 SLAVES TO DARKNESS CHAOS SPAWN model within 1" of this HERO, then this HERO is slain. If you do not add a SLAVES TO DARKNESS CHAOS SPAWN to your army, this HERO suffers D3 mortal wounds. |
| 03 - Slaughterer's Strength | Pick 1 of this HERO’s melee weapons. Improve the Rend characteristic of that weapon by 1. |
| 04 - Murderous Mutation | Pick 1 of this HERO’s melee weapons. Add 1 to the Attacks characteristic of that weapon. |
| 05 - Iron Flesh | Add 1 to save rolls for attacks that target this HERO. |
| 06 - Flames of Chaos | Each time this HERO is affected by a spell or endless spell you can roll a dice. If you do so, on a 4+, ignore the effects of that spell or endless spell on this HERO. |
| 07 - Snubbed by the Gods | This reward has no effect. |
| 08 - Unholy Resilience | Roll a dice each time you allocate a wound or mortal wound to this HERO. On a 5+, that wound or mortal wound is negated. |
| 09-10 - Daemonic Legions | You can add 1 of the following units to your army. The unit you add is determined by this HERO’s Mark of Chaos. Set up the unit wholly within 12" of this HERO and more than 9" from any enemy units. • Khorne: 10 Bloodletters • Nurgle: 10 Plaguebearers • Slaanesh: 10 Daemonettes • Tzeentch: 10 Pink Horrors • Undivided: 6 Furies |
| 11-12 - Dark Apotheosis | You can add a SLAVES TO DARKNESS DAEMON PRINCE to your army. If you do so, set it up within 1" of this HERO then remove this HERO from play (they do not count as slain). If the HERO had the UNDIVIDED keyword, the DAEMON PRINCE must instead have one of the following Mark of Chaos keywords: KHORNE, NURGLE, SLAANESH or TZEENTCH. Otherwise, the DAEMON PRINCE must have the same Mark of Chaos keyword that the HERO had. The DAEMON PRINCE keeps any command traits and artefacts of power that the HERO had. If the HERO was a WIZARD, the DAEMON PRINCE is a WIZARD, can make the same number of casting, dispelling and unbinding attempts, and knows the same spells. If the HERO was your general, the DAEMON PRINCE is now your general. If you do not set up a SLAVES TO DARKNESS DAEMON PRINCE, you can heal up to D3 wounds allocated to this HERO. |
Selections: 2000 Points - Battlehost
Categories: Game Options, Battlehost
At the Double: You can use this command ability after you make a run roll for a friendly unit that is within 6" of a friendly HERO, or 12" of a friendly HERO that is a general.
Forward to Victory: You can use this command ability after you make a charge roll for a friendly unit that is within 6" of a friendly HERO, or 12" of a friendly HERO that is a general. If you do so, re-roll the charge roll.
Inspiring Presence: You can use this command ability at the start of the battleshock phase. If you do so, pick a friendly unit that is within 6" of friendly HERO, or 12" of a friendly HERO that is a general. That unit does not have to take battleshock tests in that phase.
Created with BattleScribe


Hypothesis testing
For examples and interpretation, see my notebook on hypothesis test explanations.
gshap.hypothesis.HypothesisTest
class gshap.hypothesis.HypothesisTest(test, bootstrap_samples=1000) [source]
This class measures how likely a hypothesis is to be true of an output vector. It uses a bootstrap analysis to compute the probability that a hypothesis is true of a population from a sample output vector.
| Parameters: | test : callable
Takes an output vector and returns a boolean indicator that the hypothesis is true of the output vector. This will usually involve computing a sample statistic of the output vector, then returning an indicator that the sample statistic fell within a certain range. bootstrap_samples : int, default=1000Number of bootstrap samples for hypothesis testing. |
|---|---|
| Attributes: | test : callable
Set from the
Set from the |
Examples
import gshap
from gshap.hypothesis import HypothesisTest
from sklearn.datasets import load_diabetes
from sklearn.linear_model import Lasso
X, y = load_diabetes(return_X_y=True)
reg = Lasso(alpha=.1).fit(X, y)
test = lambda y_pred: y_pred.mean() > 155
g = HypothesisTest(test, bootstrap_samples=100)
explainer = gshap.KernelExplainer(reg.predict, X, g)
# artifically select a sample which with higher-than-average y
explainer.gshap_values(X[y > 70], nsamples=100)
Out:
array([-0.0069, 0.0253, 0.2572, 0.1112, -0.0108, -0.0105, 0.0317,
0.0009, 0.1415, 0.0071])
Methods
__call__(self, output) [source]
Computes the probablity of the hypothesis being true of the population from which the sample was drawn.
| Parameters: | output : numpy.array
(# observations, # targets) vector of model outputs. |
|---|---|
| Returns: | probability : scalar between 0 and 1
Probability that the hypothesis is true of the population from which the sample was drawn. |


Type Aliases
The following type aliases are available globally.
-
A Void closure to use as a signal handler, that takes no parameters.
Declaration
Swift
public typealias SignalHandler = () -> ()
-
A conversion closure transforming the first value into the second This closure needs to return true if successful, or false otherwise
-
Internal type for SignalHandler closure holder
Declaration
Swift
public typealias SignalHandlerClosureHolder = ClosureHolder<Void, Void>
-
Internal type for a binding closure holder
Declaration
Swift
public typealias BindingClosureHolder = BindingHolder<ValueRef, ValueRef>
-
This is the signature of marshaller functions, required to marshall arrays of parameter values to signal emissions into C language callback invocations. It is merely an alias to
GClosureMarshal
since theGClosure
mechanism takes over responsibility of actual function invocation for the signal system.Declaration
Swift
public typealias SignalCMarshaller = GSignalCMarshaller
-
This is the signature of va_list marshaller functions, an optional marshaller that can be used in some situations to avoid marshalling the signal argument into GValues.
Declaration
Swift
public typealias SignalCVaMarshaller = GSignalCVaMarshaller
-
A numerical value which represents the unique identifier of a registered type.
Declaration
Swift
public typealias Type_ = GType
-
Flags to be passed to
g_object_bind_property()
org_object_bind_property_full()
.This enumeration can be extended at later date.
Declaration
Swift
public typealias BindingFlags = GBindingFlags
-
The connection flags are used to specify the behaviour of a signal’s connection.
Declaration
Swift
public typealias ConnectFlags = GConnectFlags
-
Through the
GParamFlags
flag values, certain aspects of parameters can be configured. See alsoG_PARAM_STATIC_STRINGS
.Declaration
Swift
public typealias ParamFlags = GParamFlags
-
The signal flags are used to specify a signal’s behaviour, the overall signal description outlines how especially the RUN flags control the stages of a signal emission.
Declaration
Swift
public typealias SignalFlags = GSignalFlags
-
The match types specify what
g_signal_handlers_block_matched()
,g_signal_handlers_unblock_matched()
andg_signal_handlers_disconnect_matched()
match signals by.Declaration
Swift
public typealias SignalMatchType = GSignalMatchType
-
These flags used to be passed to
g_type_init_with_debug_flags()
which is now deprecated.If you need to enable debugging features, use the GOBJECT_DEBUG environment variable.
TypeDebugFlags is deprecated: g_type_init() is now done automatically
Declaration
Swift
public typealias TypeDebugFlags = GTypeDebugFlags
-
Bit masks used to check or determine characteristics of a type.
Declaration
Swift
public typealias TypeFlags = GTypeFlags
-
Bit masks used to check or determine specific characteristics of a fundamental type.
Declaration
Swift
public typealias TypeFundamentalFlags = GTypeFundamentalFlags
-
A callback function used by the type system to finalize those portions of a derived types class structure that were setup from the corresponding
GBaseInitFunc()
function. Class finalization basically works the inverse way in which class initialization is performed. SeeGClassInitFunc()
for a discussion of the class initialization process.Declaration
Swift
public typealias BaseFinalizeFunc = GBaseFinalizeFunc
-
A callback function used by the type system to do base initialization of the class structures of derived types. It is called as part of the initialization process of all derived classes and should reallocate or reset all dynamic class members copied over from the parent class. For example, class members (such as strings) that are not sufficiently handled by a plain memory copy of the parent class into the derived class have to be altered. See
GClassInitFunc()
for a discussion of the class initialization process.Declaration
Swift
public typealias BaseInitFunc = GBaseInitFunc
-
A function to be called to transform
from_value
toto_value
. If this is thetransform_to
function of a binding, thenfrom_value
is thesource_property
on thesource
object, andto_value
is thetarget_property
on thetarget
object. If this is thetransform_from
function of aG_BINDING_BIDIRECTIONAL
binding, then those roles are reversed.Declaration
Swift
public typealias BindingTransformFunc = GBindingTransformFunc
-
This function is provided by the user and should produce a copy of the passed in boxed structure.
Declaration
Swift
public typealias BoxedCopyFunc = GBoxedCopyFunc
-
This function is provided by the user and should free the boxed structure passed.
Declaration
Swift
public typealias BoxedFreeFunc = GBoxedFreeFunc
-
The type used for callback functions in structure definitions and function signatures. This doesn’t mean that all callback functions must take no parameters and return void. The required signature of a callback function is determined by the context in which is used (e.g. the signal to which it is connected). Use
G_CALLBACK()
to cast the callback function to aGCallback
.Declaration
Swift
public typealias Callback = GCallback
-
A callback function used by the type system to finalize a class. This function is rarely needed, as dynamically allocated class resources should be handled by
GBaseInitFunc()
andGBaseFinalizeFunc()
. Also, specification of aGClassFinalizeFunc()
in theGTypeInfo
structure of a static type is invalid, because classes of static types will never be finalized (they are artificially kept alive when their reference count drops to zero).Declaration
Swift
public typealias ClassFinalizeFunc = GClassFinalizeFunc
-
A callback function used by the type system to initialize the class of a specific type. This function should initialize all static class members.
The initialization process of a class involves:
- Copying common members from the parent class over to the derived class structure.
- Zero initialization of the remaining members not copied over from the parent class.
- Invocation of the
GBaseInitFunc()
initializers of all parent types and the class’ type. - Invocation of the class’
GClassInitFunc()
initializer.
Since derived classes are partially initialized through a memory copy of the parent class, the general rule is that
GBaseInitFunc()
andGBaseFinalizeFunc()
should take care of necessary reinitialization and release of those class members that were introduced by the type that specified theseGBaseInitFunc()
/GBaseFinalizeFunc()
.GClassInitFunc()
should only care about initializing static class members, while dynamic class members (such as allocated strings or reference counted resources) are better handled by aGBaseInitFunc()
for this type, so proper initialization of the dynamic class members is performed for class initialization of derived types as well.An example may help to correspond the intend of the different class initializers:
(C Language Example):
typedef struct { GObjectClass parent_class; gint static_integer; gchar *dynamic_string; } TypeAClass; static void type_a_base_class_init (TypeAClass *class) { class->dynamic_string = g_strdup ("some string"); } static void type_a_base_class_finalize (TypeAClass *class) { g_free (class->dynamic_string); } static void type_a_class_init (TypeAClass *class) { class->static_integer = 42; } typedef struct { TypeAClass parent_class; gfloat static_float; GString *dynamic_gstring; } TypeBClass; static void type_b_base_class_init (TypeBClass *class) { class->dynamic_gstring = g_string_new ("some other string"); } static void type_b_base_class_finalize (TypeBClass *class) { g_string_free (class->dynamic_gstring); } static void type_b_class_init (TypeBClass *class) { class->static_float = 3.14159265358979323846; }
Initialization of TypeBClass will first cause initialization of TypeAClass (derived classes reference their parent classes, see
g_type_class_ref()
on this).Initialization of TypeAClass roughly involves zero-initializing its fields, then calling its
GBaseInitFunc()
type_a_base_class_init()
to allocate its dynamic members (dynamic_string), and finally calling itsGClassInitFunc()
type_a_class_init()
to initialize its static members (static_integer). The first step in the initialization process of TypeBClass is then a plain memory copy of the contents of TypeAClass into TypeBClass and zero-initialization of the remaining fields in TypeBClass. The dynamic members of TypeAClass within TypeBClass now need reinitialization which is performed by callingtype_a_base_class_init()
with an argument of TypeBClass.After that, the
GBaseInitFunc()
of TypeBClass,type_b_base_class_init()
is called to allocate the dynamic members of TypeBClass (dynamic_gstring), and finally theGClassInitFunc()
of TypeBClass,type_b_class_init()
, is called to complete the initialization process with the static members (static_float).Corresponding finalization counter parts to the
GBaseInitFunc()
functions have to be provided to release allocated resources at class finalization time.Declaration
Swift
public typealias ClassInitFunc = GClassInitFunc
-
The type used for marshaller functions.
Declaration
Swift
public typealias ClosureMarshal = GClosureMarshal
-
The type used for the various notification callbacks which can be registered on closures.
Declaration
Swift
public typealias ClosureNotify = GClosureNotify
-
A callback function used by the type system to initialize a new instance of a type. This function initializes all instance members and allocates any resources required by it.
Initialization of a derived instance involves calling all its parent types instance initializers, so the class member of the instance is altered during its initialization to always point to the class that belongs to the type the current initializer was introduced for.
The extended members of
instance
are guaranteed to have been filled with zeros before this function is called.Declaration
Swift
public typealias InstanceInitFunc = GInstanceInitFunc
-
A callback function used by the type system to finalize an interface. This function should destroy any internal data and release any resources allocated by the corresponding
GInterfaceInitFunc()
function.Declaration
Swift
public typealias InterfaceFinalizeFunc = GInterfaceFinalizeFunc
-
A callback function used by the type system to initialize a new interface. This function should initialize all internal data and allocate any resources required by the interface.
The members of
iface_data
are guaranteed to have been filled with zeros before this function is called.Declaration
Swift
public typealias InterfaceInitFunc = GInterfaceInitFunc
-
The type of the
finalize
function ofGObjectClass
.Declaration
Swift
public typealias ObjectFinalizeFunc = GObjectFinalizeFunc
-
The type of the
get_property
function ofGObjectClass
.Declaration
Swift
public typealias ObjectGetPropertyFunc = GObjectGetPropertyFunc
-
The type of the
set_property
function ofGObjectClass
.Declaration
Swift
public typealias ObjectSetPropertyFunc = GObjectSetPropertyFunc
-
The signal accumulator is a special callback function that can be used to collect return values of the various callbacks that are called during a signal emission. The signal accumulator is specified at signal creation time, if it is left
nil
, no accumulation of callback return values is performed. The return value of signal emissions is then the value returned by the last callback.Declaration
Swift
public typealias SignalAccumulator = GSignalAccumulator
-
A simple function pointer to get invoked when the signal is emitted. This allows you to tie a hook to the signal type, so that it will trap all emissions of that signal, from any object.
You may not attach these to signals created with the
G_SIGNAL_NO_HOOKS
flag.Declaration
Swift
public typealias SignalEmissionHook = GSignalEmissionHook
-
A callback function used for notification when the state of a toggle reference changes. See
g_object_add_toggle_ref()
.Declaration
Swift
public typealias ToggleNotify = GToggleNotify
-
A callback function which is called when the reference count of a class drops to zero. It may use
g_type_class_ref()
to prevent the class from being freed. You should not callg_type_class_unref()
from aGTypeClassCacheFunc
function to prevent infinite recursion, useg_type_class_unref_uncached()
instead.The functions have to check the class id passed in to figure whether they actually want to cache the class of this type, since all classes are routed through the same
GTypeClassCacheFunc
chain.Declaration
Swift
public typealias TypeClassCacheFunc = GTypeClassCacheFunc
-
A callback called after an interface vtable is initialized. See
g_type_add_interface_check()
.Declaration
Swift
public typealias TypeInterfaceCheckFunc = GTypeInterfaceCheckFunc
-
The type of the
complete_interface_info
function ofGTypePluginClass
.Declaration
Swift
public typealias TypePluginCompleteInterfaceInfo = GTypePluginCompleteInterfaceInfo
-
The type of the
complete_type_info
function ofGTypePluginClass
.Declaration
Swift
public typealias TypePluginCompleteTypeInfo = GTypePluginCompleteTypeInfo
-
The type of the
unuse_plugin
function ofGTypePluginClass
.Declaration
Swift
public typealias TypePluginUnuse = GTypePluginUnuse
-
The type of the
use_plugin
function ofGTypePluginClass
, which gets called to increase the use count ofplugin
.Declaration
Swift
public typealias TypePluginUse = GTypePluginUse
-
This is the signature of va_list marshaller functions, an optional marshaller that can be used in some situations to avoid marshalling the signal argument into GValues.
Declaration
Swift
public typealias VaClosureMarshal = GVaClosureMarshal
-
The type of value transformation functions which can be registered with
g_value_register_transform_func()
.dest_value
will be initialized to the correct destination type.Declaration
Swift
public typealias ValueTransform = GValueTransform
-
A
GWeakNotify
function can be added to an object as a callback that gets triggered when the object is finalized. Since the object is already being finalized when theGWeakNotify
is called, there’s not much you could do with the object, apart from e.g. using its address as hash-index or the like.Declaration
Swift
public typealias WeakNotify = GWeakNotify


I enjoy building experiences and components for the web. I’m at home when mixing design with prototyping. I enjoy user-testing and research when solving problems.


| About "info" | Standards | Registry ID | Registry Entries | More Information |
NoticeThe "info" URI initiative was launched in 2003 [1] to fill a requirement for using identifiers on the Web that derived from public namespaces but that had no canonical URL form. A draft RFC was completed and published in April 2006 [2]. When work on the "info" URI scheme began, the W3C 'Architecture of the World Wide Web' (2004) had yet to be published, and the currently emerging framework for Linked Data was scarcely in its infancy. Using the HTTP protocol for both access and persistent identity can be seen to be problematic in certain respects, although it has the undeniable virtue of requiring no additional registration infrastructure. Also, the need to guide and validate registrations of "info" URI namespaces created an approval process bottleneck that is inimical to the rapid and flexible progress that is seen to be the hallmark of the Web. The Linked Data idiom is currently ascendant, and accommodates both resource resolution and identification, which is different than the simple "info" premise of URI identification alone. This approach to resource identity is likely to conform more closely to evolving practice. For these reasons, it has been deemed appropriate to close the registry to further "info" namespace registrations. The "info" registry will continue to be supported for the foreseeable future, although prudent adopters should consider migrating their resource identity requirements towards mainstream Web practices over the long term.
[1] "info" URI Scheme. <http://info-uri.info/>. |
| Click to continue to the list of Registry Entries |
| The "info" URI Registry Prototype is currently managed by the OCLC Office of Research on behalf of NISO. |


Psalms 52:1
Why boastest thou thyself in mischief, O mighty man? the goodness of God endureth continually.


2 tablespoons ground flax seeds
6 tablespoons water
1 cup all-purpose flour
1 cup cornmeal
1/4 cup sugar
4 teaspoons baking powder
3/4 teaspoon table salt
1 cup soymilk
1/4 cup canola oil
Preheat oven to 425°F
Spray 8-inch-square baking dish with nonstick cooking spray.
Bring the water to a boil in a small saucepan.
Add the ground flax seed, reduce the heat to medium-low, and simmer the ground flax seed in the water for 3 minutes or until thickened, stirring occasionally.
Set aside.
In a medium bowl, whisk together the flour, cornmeal, sugar, baking powder, and salt until well-combined.
Add the ground flax seed mixture, soy milk, and canola oil to the flour mixture.
Beat just until smooth (do not overbeat.)
Turn into prepared baking pan. Bake for 20 to 25 minutes, or until a toothpick inserted in the middle comes out clean.
Cool on wire rack 10 minutes; invert cornbread onto wire rack, then turn right side up and continue to cool until warm, about 10 minutes longer.
Fat: 7.8
Calories: 198.6
Saturated Fat: 0.7
Sodium: 374.8
Fiber: 2
Sugar: 6.8
Carbohydrate: 29.2
Cholesterol: 0
Protein: 3.7


sample 3
Open a dialog on a dialog
You can overlay a dialog on a dialog by executing showModalDialog() in the dialog.
arguments to send to dialog
return value from dialog
Open dialog
open dialog


--- layout: default title: Image based items description: A demo of how NOT to use images with shuffle extraJS: [ "demos/images.js"] ---
In this demo, the height of each item in the grid depends on the image. If Shuffle is initialized before the images load, the heights it calculates will be incorrect. See here for a solution.
Resize the window and it'll fix itself.


Host: `SERVER_NAME` Browser: `REMOTE_HOST` Date: `STRING(TODAY,"99-99-9999")`
For best results why don't you try using


Earth (otherwise known as the world,in Greek: Γαῖα Gaia, or in Latin: Tellus, Terra) is the third planet from the Sun, the densest planet in the Solar System, the largest of the Solar System's four terrestrial planets, and the only astronomical object known to harbor life.
According to radiometric dating and other sources of evidence, Earth formed about 4.54 billion years ago. Earth gravitationally interacts with other objects in space, especially the Sun and the Moon.
Mean Distance from Sun(million km)
Period of Revolution
Period of Rotation at Equador
Eccentricity of Orbit
Equatorial diameter (km)
Mass
Density
Earth
149.6
365.26 d
23 h 56 min 4 s
0.017
12,756
1.00
5.5
QUICK EARTH FACTS
It is the only planet that has an atmosphere containing 21 percent oxygen.
It is the only planet that has liquid water on its surface.
It is the only planet in the solar system that has life.
The Earth is the only inner planet (Mercury, Venus, Earth and Mars) to have one large satellite, the Moon.
DETAILED EARTH FACTS
The Earth’s rotation is gradually slowing.This deceleration is happening almost imperceptibly, at approximately 17 milliseconds per hundred years, although the rate at which it occurs is not perfectly uniform. This has the effect of lengthening our days, but it happens so slowly that it could be as much as 140 million years before the length of a day will have increased to 25 hours.
The Earth was once believed to be the centre of the universe.Due to the apparent movements of the Sun and planets in relation to their viewpoint, ancient scientists insisted that the Earth remained static, whilst other celestial bodies travelled in circular orbits around it. Eventually, the view that the Sun was at the centre of the universe was postulated by Copernicus, though this is also not the case.
Earth has a powerful magnetic field.This phenomenon is caused by the nickel-iron core of the planet, coupled with its rapid rotation. This field protects the Earth from the effects of solar wind.
There is only one natural satellite of the planet Earth.As a percentage of the size of the body it orbits, the Moon is the largest satellite of any planet in our solar system. In real terms, however, it is only the fifth largest natural satellite.
Earth is the only planet not named after a god.The other seven planets in our solar system are all named after Roman gods or goddesses. Although only Mercury, Venus, Mars, Jupiter and Saturn were named during ancient times, because they were visible to the naked eye,the Roman method of naming planets was retained after the discovery of Uranus and Neptune.
The Earth is the densest planet in the Solar System.This varies according to the part of the planet; for example, the metallic core is denser than the crust. The average density of the Earth is approximately 5.52 grams per cubic centimetre.


SAS Hero Who Secured Kenyan Hotel To Receive Top Award
The special forces member was spotted during off-duty efforts to rescue civilians in January.
by Tom SablesThe unidentified SAS member was off-duty at the time (Picture: Reuters).
A member of British special forces who killed two terrorists during a hotel siege in Kenya will be awarded one of the UK's highest honours.
The unidentified SAS member shot and killed two of the four al-Shabaab gunmen in January this year, during a terrorist attack on a hotel in Nairobi, according to reports.
Off-duty at the time, he was seen wearing combat gear over jeans and a shirt when he entered the complex alone.
He was later photographed coming out of the hotel with terrified survivors, after bolstering efforts to evacuate 700 people.
Twenty-one people, including a Briton named Luke Potter, were killed in the attack.
It is thought the SAS soldier was in the country to train Kenyan special forces.
The award is among those expected to be published at the end of this month in the Operational Honours list.


Do you have a triangle?
Enter the length of the first side:
Enter the length of the second side:
Enter the length of the third side:
Find out!
You
have a triangle.
It is a
triangle.


Messenger Yetti:
The returning application function is how you give back an application to a participant when the game is cancelled.


---
layout: base
title: Damir Cavar's Python code page
author: "Damir Cavar"
desc: "This is Damir Cavar's list of Python related projects."
keywords: "Damir Cavar, Python, Computational Linguistics, Natural Language Processing, CL, NLP"
link: python
---
Python
My PyPi modules:
More:
Some of the material is available on GitHub or Bitbucket.
I developed some Python and NLP, CL, ML teaching material as iPython notebooks for
jupyter. They will all be linked here eventually, here are some examples:
- Intro to Part-of-Speech Tagging (zip, jupyter nbviewer, Anaconda Cloud Notebook, GitHub
repo)
- Intro to Hidden Markov Models (zip, jupyter nbviewer, Anaconda Cloud Notebook, GitHub
repo)
- Intro to WordNet and NLTK (zip, jupyter nbviewer, GitHub
repo)
- Topic Modeling with MALLET (zip, jupyter nbviewer, GitHub repo)
- Intro to the Forward Algorithm (zip, jupyter nbviewer)
- Intro to the Backward Algorithm (zip, jupyter nbviewer)
- …
I was porting some Finite State algorithms to Python
3 for some
more or less functional FST-lib for Weighted Finite State Transducers
in native Python, and code generation to C for example. I will place the
code on GitHub: Project PyFST
Here is some of the material from my Python classes and developments.
Some of it is from the late 90s, so it might be outdated, and not
really working in Python 3.x.
Some of the Python examples and tutorials (slides and instruction
handouts) for corpus, data and language processing are adapted to Python 3.
- course material for JSSECL 2006
- course material for the DGfS/CL Fall School
2005
- Corpus processing tools (TEI XML from HTML, XML filtering, quantitative analysis)
- Language identification (LID) with n-gram models
- Orthography to IPA conversion for
Croatian (with Malgorzata E. Cavar): see
phonemic
- Parsing
algorithms (Charty, Earley
algorithm in Python, Scheme and JavaScript, and other computational syntax tools)
- TextStat.py
lightweight module with functions for creating and using n-gram models
for statistical analyses, various statistical functions, chi2 test,
vector space conversion of n-gram models, entropy and information
theoretic measures etc. There are examples for document classification,
measures of text or model similarity and various other useful functions.
- Finite State Automata (FSA)
scripts: FSA class, automaton from word list, DOT (Graphviz) from automaton, etc.
- Mutual Information and Relative
Entropy syntactic parsing (Python code base)
- Text 2 TEI XML with linguistic
annotation
- Lithuanian, Croatian, ... finite state morphology (transducer, lemmatized, feature annotation) (mostly in C++ now,
see the FLE Project)


2005 Climate Champion Awards Presented at NY Conference
June 09, 2005 By Clean Air - Cool Planet
New York, NY Clean Air - Cool Planet yesterday announced the winners of the 2005 Climate Champion Awards, given every two years to individuals and organizations for actions to reduce greenhouse gas emissions and the threat of global warming.
Recipients of this year's awards are Governors John Baldacci of Maine and George Pataki of New York, Bank of America and The Timberland Company, Middlebury College, and the City of Stamford, CT.
Award presentations were here made at Global Warming Solutions 2005, organized by Clean Air - Cool Planet (CA-CP), which is the Northeast's leading nonprofit dedicated to finding and implementing solution to global warming. CA-CP works with businesses, communities, and colleges in New England, New York, and New Jersey to help develop cost-effective solutions to fight climate change and promote environmental protection.
The awards were presented by former Massachusetts Environmental Affairs Secretary and US Energy Assistant Secretary Susan Tierney, a managing partner at the Analysis Group and chair of the Clean Air - Cool Planet Board of Directors.
"These awards are intended to recognize the real work done by people, companies, communities, and campuses to reduce the emissions that cause global warming," said Tierney. "But it goes beyond that.
"We particularly want to celebrate those who reach others with their commitment, who make action on global warming a central part of their mission, and who involve their whole community, whatever that might be, in that effort," Tierney said.
Clean Air - Cool Planet Executive Director Adam Markham noted that Governors Baldacci and Pataki "took steps that are leading to new policies and practices outside their states as well as in," and pointed to Middlebury College as an institution that sought to reach everyone it could "regardless of their relationship to the college - not just including students, faculty and staff, but alumni, the local community and beyond."
Both Bank of America and The Timberland Company, Markham said, have worked hard internally to reduce their carbon footprint, taking advantage of energy efficiency and other strategies to cut energy use and reduce CO2 emissions.
"But they have also been public in their efforts, taking opportunities to demonstrate to others their concerns about the welfare of the planet and their commitments to action," Markham said.
He noted that both companies have just undertaken major projects: Bank of America with the construction of One Bryant Park - Bank America Tower, "the greenest skyscraper in America," and Timberland with a new utility-scale solar-power site at its Ontario, CA site.
"That kind of investment in action is really putting your money where your mouth is," Markham said.
The City of Stamford received the award for "reducing emissions that contribute to global warming by 20 percent and taking action that saves the city more than $1.1 million in energy costs annually," Markham said. "But they also have future plans involving enhanced public transportation, which has the benefit of public education, and they are not working alone, but partnering with local groups to leverage local action."
Accepting his own award was Governor Baldacci. Timberland President and CEO Jeff Swartz received his company's award, and Stamford Mayor Dannell Malloy accepted the award for the city.
Governor Pataki's award was accepted by Charles Fox, his environmental advisor, while the award for Bank of America was received by Mark Nichols, Bank of America corporate workplace executive and environmental council representative.
The last Climate Champion Awards were presented, at CA-CP's 2003 conference, to Shaw's Supermarkets, the University of New Hampshire and Tufts University, and the City of Hull, Massachusetts.
For further information, contact:
Bill Burtis, Communications Manager
Clean Air - Cool Planet
<EMAIL_ADDRESS>1-603-502-8164, cell
1-603-422-6464, x 105
www.cleanair-coolplanet.org
Send to a Friend
Printer Friendly Version
|


Tottenham star 'likes' Jose Mourinho dig after Mauricio Pochettino sacking
Tottenham striker Troy Parrott has not got off to the best start with Jose Mourinho after ‘liking’ a post on Twitter which criticised the new Spurs manager.
Mourinho has now officially replaced Mauricio Pochettino as manager after the Argentine was surprisingly sacked by Spurs on Tuesday evening less than six months after guiding the team to a Champions League final.
Mourinho had been out of work since he was axed by Manchester United nearly a year ago and left Old Trafford under a cloud after he was involved in bust-ups with several players including Anthony Martial and Paul Pogba.
The Portuguese was also heavily criticised for his playing style towards the end of his reign at Old Trafford, and having spent nearly £400 million on signings he left United 19 points behind Liverpool, who were the Premier League leaders at the time of his departure.
Advertisement Advertisement
And judging by his social media activity, Parrott might be sceptical over Mourinho’s arrival as he ‘liked’ a post from a supporter who urged him to join Manchester United because Spurs are ‘f*****’ under the Portuguese.
Parrott subsequently removed the Twitter post from his likes but not before Spurs fans had spotted it.
The 17-year-old striker was given his Tottenham debut by Pochettino earlier this season in their Carabao Cup defeat to Colchester United in September.
Parrott has made only one Premier League squad this season – the 1-1 draw against Everton earlier this month – but he was left on the bench by Pochettino.
Mourinho, meanwhile, will take charge of Spurs for the first time on Saturday as his side travel to West Ham.


confessions of meat-eater
If the animal sees the knife before it dies, something inside it will burst open and the meat will spoil. In the butchery, when I was little, the animals didn’t have heads and hung upside down and skinless in the back room. But I could still see the vapours lurking in the open ribcages, the wetter shades of red that were weeping quietly. I still eat meat, but only the really processed kind.


Slider using tags
If you can see this then slider did not get compiled by Angular.
Check that all necessary files are included, did you run "bower install"?
Range slider
Model: {{model.second | json}}
Value: {{value.second | json}}
Slider with configurable tooltip
Model: {{model.third}}
Slider using event expressions
Model: {{model.fourth}}
Status: {{status}}
Slider using event callbacks
Model: {{model.fifth}}
Event type: {{delegateEvent.type}}
Slider using mixed expressions and callbacks
Model: {{model.sixth}}
Status: {{status2}}
Event type: {{delegateEvent.type}}
Updates model on slide event by default
Model: {{model.seventh}}
Updates model only on slideStop event
Model: {{model.eighth}}
Updates model on slideStart and slideStop
Model: {{model.ninth}}
Updates model on all events
Model: {{model.tenth}}


User 1
Name:
Age:
User 2
Name:
Age:
User 1:
{{user1 | json}}
User 2:
{{user2 | json}}
Equal:
{{result}}


This is used to add carry over/ Repeat other are not added single not for primary school kind of
if we must use this for primary, modify
Your browser does not support inline frames or is currently configured not to display inline frames. You need a current browser to do this, please Google chrome.