Examples¶
Here, we show five examples of how to use FEniCS Mechanics. The first two are steady-state solid mechanics problems, with the second being an inverse elastostatics formulation. The third example is a time-dependent two-dimensional fluid mechanics problem. The fourth is a steady-state solid mechanics problem that is incrementally loaded. Thus, it is formulated as a time-dependent problem in FEniCS Mechanics. The last example shows the user how to define their own constitutive equation.
Steady-State Solid Mechanics¶
Mathematical Formulation¶
For the first example, we consider a steady-state solid mechanics problem. The domain is the unit square domain \([0,1]\times[0,1]\). The material will be modeled as an incompressible neo-Hookean material, which is given by the strain energy function
where \(J = \det{\mathbf{F}}\) is the determinant of the deformation gradient, and \(\tilde{\mathbf{C}} = J^{-2/3}\mathbf{F}^T\mathbf{F}\) is the isochoric component of the Cauchy-Green strain tensor. This leads to the first Piola-Kirchhoff stress tensor
where we define the pressure as
Additionally, we require that \(\mathbf{u}\) and \(p\) satisfy the incompressibility constraint given by
Thus, \(\kappa\) is the bulk modulus of the material.
The material is clamped at \(x = 0\), and a uniformly distributed load is applied at \(x = 1\), i.e. \(\bar{\mathbf{p}} = \bar{p}\mathbf{e}_1\), where \(\bar{p}\) is constant, as shown in Figure Fig. 6. For this particular example, we use material properties representative of natural rubber. Hence, \(\mu = 1.5\) MPa, and \(\kappa = 10\) GPa. The load applied is \(\bar{p} = 1\) MPa. Quadratic and linear finite elements are used for the displacement and pressure fields, respectively.
Code¶
First, import FEniCS Mechanics with the alias fm
.
import fenicsmechanics as fm
In this demonstration, we will define three separate dictionaries that will be combined into one later. First, we define the material dictionary.
material = {
The problem is of ann elastic material.
'type': 'elastic',
We will be using the neo-Hookean constitutive equation. This model is
already implemented in the materials
submodule, so we
can just provide a string.
'const_eqn': 'neo_hookean',
We must also let FEniCS Mechanics know that we wish to model the material as incompressible.
'incompressible': True,
Given the formulation above for the incompressibility constraint, we must provide the bulk modulus of the material.
'kappa': 10e9, # Pa
Also, the shear modulus of the material is provided.
'mu': 1.5e6 # Pa
}
The material dictionary is defined all together below.
material = {
'type': 'elastic',
'const_eqn': 'neo_hookean',
'incompressible': True,
'kappa': 10e9, # Pa
'mu': 1.5e6 # Pa
}
Now, we get the name of the files storing the mesh and the boundary
tagging by using the get_mesh_file_names
function provided.
We also define the mesh dictionary by telling FEniCS Mechanics where
the files containing the mesh and the boundary tags are located.
mesh_file, boundaries = fm.get_mesh_file_names("unit_domain", ret_facets=True,
refinements=[20, 20])
mesh = {
'mesh_file': mesh_file,
'boundaries': boundaries
}
Last, but not least, is the formulation dictionary used to define the weak form for the problem.
formulation = {
First, we tell FEniCS Mechanics that we wish to a quadratic finite element for the displacement, and a linear finite element for the pressure.
'element': 'p2-p1',
Then, we specify that the mathematical formulation should be done in the reference (Lagrangian) configuration.
'domain': 'lagrangian',
Now, we define the boundary conditions. First up are the Dirichlet boundary conditions.
'bcs': {
'dirichlet': {
We will apply a homogeneous boundary condition at \(x = 0\).
'displacement': [[0.0, 0.0]],
To identify this region, we must use the same tags that were provided
for the 'boundaries'
. In this case, this region was tagged
with the integer 1.
'regions': [1]
},
Next, we define the Neumann boundary conditions.
'neumann': {
We are applying a Cauchy traction of \(\mathbf{p} = 10^6 \mathbf{e}_1\) at \(x = 1\).
'values': [[1e6, 0.0]],
'regions': [2],
'types': ['piola']
}
}
}
The formulation dictionary is defined all together below.
formulation = {
'element': 'p2-p1',
'domain': 'lagrangian',
'bcs': {
'dirichlet': {
'displacement': [[0.0, 0.0]],
'regions': [1]
},
'neumann': {
'values': [[1e6, 0.0]],
'regions': [2],
'types': ['piola']
}
}
}
We now combine all three dictionaries into one by the name of
config
.
config = {
'material': material,
'mesh': mesh,
'formulation': formulation
}
We can create a SolidMechanicsProblem
object to define the
necessary UFL objects for the problem we have defined.
problem = fm.SolidMechanicsProblem(config)
Last, we define the solver object by passing in the problem object and the name of the file we wish to save the displacement in, and tell FEniCS Mechanics to solve our problem.
solver = fm.SolidMechanicsSolver(problem, fname_disp="results/displacement.pvd")
solver.full_solve()
The solution is shown in Figure Fig. 7.
Inverse Elastostatics¶
Mathematical Formulation¶
For the second example, we consider the problem of determining the unloaded configuration of a material given the loaded configuration and the loads that it is undergoing. The loaded geometry desired here is an L-shape as shown in Figure Fig. 8.
In other words, we want the material to take this shape after applying the distributed load given by \(\bar{\mathbf{p}} = -10^6\) N/m at \(x = 1\), and imposing a homogeneous Dirichlet boundary condition at \(y = 1\).
Because this is an inverse elastostatics problem, the Cauchy stress tensor is given by
where \(j = \det{\mathbf{f}}\), \(\mathbf{c} = \mathbf{f}^T\mathbf{f}\), and \(i_2\) is the invariant of \(\mathbf{f}\) with \(\mathbf{f} = \mathbf{F}^{-1}\). Further details of the formulation of an inverse elastostatics problem can be found in Govindjee et al. [GM96].
Code¶
First, we import FEniCS Mechanics with the alias fm
.
import fenicsmechanics as fm
Now we get the name of the files storing the mesh and the boundary
tagging by using the get_mesh_file_names
function provided.
mesh_file, boundaries = fm.get_mesh_file_names("lshape", ret_facets=True,
refinements="fine")
Next, we start to define the problem defined before. We do this by
defining the config
dictionary all at once. Here we
will traverse it line by line:
config = {
First up is the material subdictionary.
'material':
{
The problem is of an elastic material. Thus,
'type': 'elastic',
We will be using the neo-Hookean constitutive equation. This model is
already implemented in the materials
submodule, so we
can just provide a string.
'const_eqn': 'neo_hookean',
We must also let FEniCS Mechanics know that we wish to model the material as incompressible.
'incompressible': True,
Given the formulation above for the incompressibility constraint, we must provide the bulk modulus of the material.
'kappa': 10e9,
Also, the shear modulus of the material is provided.
'mu': 1.5e6
},
Now that the material has been specified, we tell FEniCS Mechanics
where the files containing the mesh and the boundary tags are
located. This is where we use the variable mesh_dir
that we defined before.
'mesh': {
'mesh_file': mesh_file,
'boundaries': boundaries
},
Last, but not least, is the formulation used to define the weak form for the problem.
'formulation': {
First, we tell FEniCS Mechanics that we wish to linear finite elements for both the displacement and the pressure.
'element': 'p1-p1',
Then, we specify that the mathematical formulation should be done in the reference (Lagrangian) configuration.
'domain': 'lagrangian',
We want to use the inverse elastotatics formulation as in [GM96]. Thus, we define this as an inverse problem.
'inverse': True,
Now, we define the boundary conditions. First up are the Dirichlet boundary conditions.
'bcs': {
'dirichlet': {
We will apply a homogeneous boundary condition at \(y = 1\).
'displacement': [[0., 0.]],
To identify this region, we must use the same tags that were provided
for the 'boundaries'
. In this case, this region was tagged
with the integer 1.
'regions': [1]
},
Next, we define the Neumann boundary conditions.
'neumann': {
We are applying a Cauchy traction of \(\mathbf{p} = -10^5 \mathbf{e}_2\) at \(x = 1\).
'values': [[0., -1e5]],
'regions': [2],
'types': ['cauchy']
}
}
}
}
Below is the definition of the config
dictionary all
together:
config = {
'material':
{
'type': 'elastic',
'const_eqn': 'neo_hookean',
'incompressible': True,
'kappa': 10e9,
'mu': 1.5e6
},
'mesh': {
'mesh_file': mesh_file,
'boundaries': boundaries
},
'formulation': {
'element': 'p1-p1',
'domain': 'lagrangian',
'inverse': True,
'bcs': {
'dirichlet': {
'displacement': [[0., 0.]],
'regions': [1]
},
'neumann': {
'values': [[0., -1e5]],
'regions': [2],
'types': ['cauchy']
}
}
}
}
Now, we can create a SolidMechanicsProblem
object to
define the necessary UFL objects for the problem we have defined.
problem = fm.SolidMechanicsProblem(config)
Last, we define the solver object by passing in the problem object and the name of the file we wish to save the displacement in, and tell FEniCS Mechanics to solve our problem.
solver = fm.SolidMechanicsSolver(problem, fname_disp="results/unloaded_config.pvd")
solver.full_solve()
This solution is shown in Figure Fig. 9.
Now, to see how well the formulation of the inverse elastostatics
problem works, we will reload the material. First, we import the
ALE
submodule from dolfin
to move the
mesh based on the solution of the inverse problem, as well as
the Mesh
class to create a copy of an existing mesh.
from dolfin import ALE, Mesh
Now, move the mesh and create a deep copy.
ALE.move(problem.mesh, problem.displacement)
mesh_copy = Mesh(problem.mesh)
Note that we can use the same config
variable by only
changing necessary variables. First, we provide it with the mesh copy.
config['mesh']['mesh_file'] = mesh_copy
Then, we change the inverse flag to False
, since we
are interested in solving the forward problem.
config['formulation']['inverse'] = False
Now, create new problem and solver objects, and solve the problem.
problem = fm.SolidMechanicsProblem(config)
solver = fm.SolidMechanicsSolver(problem, fname_disp="results/loaded_config.pvd")
solver.full_solve()
The solution to the reloading problem is shown in Figure Fig. 10.
It is clear that reloading the solution to the inverse elastostatics problem yields a geometry that is nearly identical to the desired unloaded configuration.
Time-dependent Fluid Mechanics¶
Mathematical Formulation¶
In this example, we consider fluid flow through a pipe formulated as a two-dimensional problem. The domain is taken to be \([0, 10] \times [0, 1]\). The mesh of the domain is shown in Figure Fig. 11.
No slip conditions are imposed at \(y = 0\) and \(y = 1\). Furthermore, a homogeneous Dirichlet boundary condition is imposed for the pressure at \(x = 10\). A traction boundary condition,
with
is imposed at the inlet (\(x = 0\)).
For this example, the fluid is assumed to be an incompressible Newtonian fluid, and the density and dynamic viscosity are taken to be \(\rho = 1\) \(\mu = 0.1\), respectively.
Both the velocity and the pressure are given a zero initial condition. We run the simulation for four cycles, \(t_0 = 0\) to \(t_f = 4.0\), to see how the flow develops. The time step is taken as \(\Delta t = 0.01\), and a fully implicit scheme is used.
In addition to demonstrating how to run a Fluid Mechanics simulation,
we show how to generate a mesh and mark the boundaries with tools from
dolfin
, and passing these objects to fenicsmechanics
.
Code¶
As before, import fenicsmechanics
with the alias fm
.
import fenicsmechanics as fm
Now, we import dolfin
with the alias dlf
, and create a
rectangle mesh with 100 and 10 intervals along the \(x\) and
\(y\) directions, respectively.
import dolfin as dlf
mesh = dlf.RectangleMesh(dlf.Point(), dlf.Point(10, 1), 100, 10)
Next, we create a MeshFunction
object that we will use to mark
the different boundary regions. We tag every facet with 0.
boundaries = dlf.MeshFunction("size_t", mesh, 1)
boundaries.set_all(0)
Then, we use the CompiledSubDomain
class to define the inlet,
outlet, and no-slip regions of the boundary.
inlet = dlf.CompiledSubDomain("near(x[0], 0.0)")
outlet = dlf.CompiledSubDomain("near(x[0], 10.0)")
no_slip = dlf.CompiledSubDomain("near(x[1], 0.0) || near(x[1], 1.0)")
Once the different regions are defined, we can mark them with their own integer values for identification.
inlet.mark(boundaries, 1)
outlet.mark(boundaries, 2)
no_slip.mark(boundaries, 3)
FEniCS Mechanics will accept dolfin.Mesh
and
dolfin.MeshFunction
objects in place of strings specifying
file names. Thus, we define the mesh dictionary with the following:
mesh_dict = {
'mesh_file': mesh,
'boundaries': boundaries
}
Next, we define the material dictionary by choosing the type to be
viscous, with the incompressible Newtonian constitutive equation for
fluids, and the density and dynamic viscosity values of 1.0 and 0.01,
respectively. Note that we can model Stokes’ flow by switching
'newtonian'
with 'stokes'
.
material_dict = {
'type': 'viscous',
'const_eqn': 'newtonian',
'incompressible': True,
'density': 1, # kg/m^3
'mu': 0.01 # Pa*s
}
We use quadratic and linear finite elements for the velocity and
pressure fields, respectively, and tell FEniCS mechanics to use
Eulerian coordinates to formulate the problem. We also specify
parameters for the time integrator in the time
subdictionary.
formulation_dict = {
'element': 'p2-p1',
'domain': 'eulerian',
'time': {
'unsteady': True,
'interval': [0.0, 4.0],
'dt': 0.01
},
Within the formulation dictionary, we specify the Dirichlet and
Neumann boundary conditions. The Dirichlet boundary conditions are the
no-slip conditions, and the zero pressure at the outlet. Note that the
regions for pressure are specified under the key
p_regions
. Thus, the Dirichlet boundary conditions for
velocity and pressure need not be the same. We also specify the
pressure traction at the inlet.
'bcs': {
'dirichlet': {
'velocity': [[0.0, 0.0]],
'regions': [3],
'pressure': [0.0],
'p_regions': [2]
},
'neumann': {
'values': ["1.0 + sin(2.0*pi*t)"],
'regions': [1],
'types': ['pressure']
}
}
}
As the other examples, we combine all three dictionaries into one and
call it config
.
config = {
'mesh': mesh_dict,
'material': material_dict,
'formulation': formulation_dict
}
We then create the problem and solver objects, and ask FEniCS Mechanics to solve the problem we have defined.
problem = fm.FluidMechanicsProblem(config)
solver = fm.FluidMechanicsSolver(problem, fname_vel="results/v.pvd",
fname_pressure="results/p.pvd")
solver.full_solve()
The velocity field at \(t = 4.0\) is shown in the subdomain \([0, 5] \times [0, 1]\) in Figure Fig. 12. As expected, we can see a symmetry with respect to the line \(y = 0.5\).
Time-dependent Anisotropic Material¶
Mathematical Formulation¶
In this example, we use an ellipsoid as an ideal geometry model for the human heart as is done in Land et al. [LGA+15]. This geometry is shown in Figure Fig. 13.
The cardiac tissue is modeled using the strain energy function proposed by Guccione et al. [GCM95], which is given by
where
with
Note that \(\mathbf{Q}\) is an orthogonal tensor that transforms the components of the Lagrangian strain tensor, \(\mathbf{E}\), from the global coordinate system to the local fiber direction frame. For more details, please read the paper by Guccione et al.
Code¶
Import FEniCS Mechanics with the alias fm
, and use the
function ‘get_mesh_file_names’ provided to get the name of the file
where the mesh, boundaries, and fiber direction information is
stored. Note that all of this information is in the same file since
this is an HDF5 file.
import fenicsmechanics as fm
mesh_file = fm.get_mesh_file_names("ellipsoid", refinements="1000um", ext="h5")
In this demonstration, we will define three separate dictionaries that will be combined into one later. First, we define the material dictionary.
mat_dict = {
We will be using the constitutive equation presented by Guccione et
al. [GCM95]. This model is already implemented in the
materials
submodule, so we can just provide a string with the
name of the model.
'const_eqn': 'guccione',
The problem is of an elastic material.
'type': 'elastic',
We must also let FEniCS Mechanics know that we wish to model the material as incompressible.
'incompressible': True,
Given that we are incrementally solving a steady-state problem, we wish to cancel the inertial term. Hence, we set the density of the material to zero.
'density': 0.0,
Now, we provide all of the coefficients that are specific to the constitutive equation of choice. See [GCM95] for further details on their physical significance.
'bt': 1.0,
'bf': 1.0,
'bfs': 1.0,
'C': 10.0,
This example involves a material that is not isotropic, and hence
requires fiber information. For this, we define a subdictionary within
the material
subdictionary.
'fibers': {
Here, we provide the name of the files that contain the vector field information necessary to define the stress tensor, as well as the names we wish to give to these fields.
'fiber_files': mesh_file,
'fiber_names': [['fib1', 'fib2', 'fib3'],
['she1', 'she2', 'she3']],
We also tell FEniCS Mechanics that the fiber vector fields are assumed to be constant over each element and that they are provided as mesh functions.
'elementwise': True
}
}
The entire material dictionary is defined all together below.
mat_dict = {
'const_eqn': 'guccione',
'type': 'elastic',
'incompressible': True,
'density': 0.0,
'bt': 1.0,
'bf': 1.0,
'bfs': 1.0,
'C': 10.0,
'fibers': {
'fiber_files': mesh_file,
'fiber_names': [['fib1', 'fib2', 'fib3'],
['she1', 'she2', 'she3']],
'elementwise': True
}
}
We define the mesh dictionary by telling FEniCS Mechanics where the file containing the mesh and the boundary tags are located. Note that this information is stored in a single HDF5 file for this example. FEniCS Mechanics will recognize this and open the file just once for efficiency.
mesh_dict = {
'mesh_file': mesh_file,
'boundaries': mesh_file
}
The last dictionary to define is the formulation dictionary.
formulation_dict = {
This incremental steady-state problem is being treated as a
time-dependent problem and thus requires a time
subdictionary
within the formulation dictionary. Here, we specify the size of the
time interval, \(\Delta t\), and the initial and final time for
the simulation.
'time': {
'dt': 0.01,
'interval': [0., 1.]
},
Note that no value was provided for \(\theta, \beta, \gamma\). Thus, the default values, \(\theta = 1\), \(\beta = 0.25\), and \(\gamma = 0.5\), are used.
Now, we specify a quadratic finite element for the displacement, and a linear finite element for the pressure.
'element': 'p2-p1',
Then, we specify that the mathematical formulation should be done in the reference (Lagrangian) configuration.
'domain': 'lagrangian',
Now, we define the boundary conditions. First up are the Dirichlet boundary conditions. We will apply a zero Dirichlet boundary condition at the base of the ideal ventricle. The integer value 10 was used to identify this region.
'bcs':{
'dirichlet': {
'displacement': [[0., 0., 0.]],
'regions': [10], # Integer ID for base plane
},
Next, we define the Neumann boundary conditions. We apply a pressure that is incremented from 0 to 10 at the inner wall of the ideal ventricle. The integer value 20 was used to identify this region.
'neumann': {
'regions': [20], # Integer ID for inner surface
'types': ['pressure'],
'values': ['10.0*t']
}
}
}
The formulation dictionary is defined all together below.
formulation_dict = {
'time': {
'dt': 0.01,
'interval': [0., 1.]
},
'element': 'p2-p1',
'domain': 'lagrangian',
'bcs':{
'dirichlet': {
'displacement': [[0., 0., 0.]],
'regions': [10], # Integer ID for base plane
},
'neumann': {
'regions': [20], # Integer ID for inner surface
'types': ['pressure'],
'values': ['10.0*t']
}
}
}
We now combine all three dictionaries into one by the name of
config
.
config = {
'material': mat_dict,
'mesh': mesh_dict,
'formulation': formulation_dict
}
We can create a SolidMechanicsProblem
object to define the
necessary UFL objects for the problem we have defined.
problem = fm.SolidMechanicsProblem(config)
Last, we define the solver object by passing in the problem object and the name of the file we wish to save the displacement in, choose the linear solver we want to use, and tell FEniCS Mechanics to solve our problem.
solver = fm.SolidMechanicsSolver(problem, fname_disp='results/displacement.pvd')
solver.set_parameters(linear_solver="superlu_dist")
solver.full_solve()
The solution is shown on the right of Figure Fig. 14.
The choice of linear solvers, and other solver parameters, depends on your linear algebra backend. To see a list of linear solvers available, use the following:
import dolfin as dlf
dlf.list_linear_solver_methods()
Custom Constitutive Equation¶
In this example, we will not show the full script for running a simulation with FEniCS Mechanics. Instead, we will show the minimal code required when a user wants to provide their own constitutive equation.
Though the constitutive equation for linear isotropic materials has
already been implemented in the materials
submodule, we will
use this constitutive equation as an example. In order to use a custom
constitutive equation, the user must define it as a python
class. Thus, we start with
class MyMaterial:
The two member functions that are required to make this constitutive
model work are __init__
, and stress_tensor
. If the
material is to be modeled as incompressible, the third member function
incompressibilityConstraint
must also be defined. First, let
us look at the constructor function, __init__
.
def __init__(self, inverse=False, **params):
self._parameters = dict()
self._parameters.update(params)
self._inverse = inverse
self._incompressible = params['incompressible'] \
if 'incompressible' in params else False
if 'kappa' not in params:
kappa = self._parameters['first_lame'] \
+ 2.0*self._parameters['second_lame']/3.0
self._parameters.update(kappa=kappa)
The parameter inverse
specifies if the stress tensor is to be
formulated for an inverse elastostatics problem. Then,
**params
allows for an arbitrary number of keyword arguments
to be passed when initializing an object of this class. The particular
keys used to identify the material parameters are up to the
user. Here, we used first_lame
and second_lame
.
The first line of this method creates a member object by the name
_parameters
as a dictionary object. This is necessary for the
way we will be accessing the material parameters in the other
functions. We then use the member function of python dictionary
objects update
to include all of the keyword arguments passed
when the material object was initialized. We also define a member
object _inverse
that will store the Boolean value of
inverse
used during initialization. We now check if the
material was specified as incompressible with a conditional
expressions to see if the keyword parameter incompressible
was
provided. Note that we assume that the material is not incompressible
if the keyword parameter was not provided. The last three lines check
if the bulk modulus was given under the key kappa
. If not, the
bulk modulus is computed based on the first and second Lame
parameters, and included in the _parameters
dictionary.
Next, we must define the stress tensor. Note that the specific stress tensor defined here should be consistent with the formulation used (Eulerian or Lagrangian). Since this is a linear material, Eulerian and Lagrangian formulations are identical. We now define the function.
def stress_tensor(self, F, J, p=None):
import ufl
dim = ufl.domain.find_geometric_dimension(F)
la = self._parameters['first_lame']
mu = self._parameters['second_lame']
from dolfin import Identity, sym, inv, tr
I = Identity(dim)
if self._inverse:
epsilon = sym(inv(F)) - I
else:
epsilon = sym(F) - I
if self._incompressible:
T = -p*I + 2.0*mu*epsilon
else:
T = la*tr(epsilon)*I + 2.0*mu*epsilon
We now traverse this function line by line. Starting with the definition of the function itself.
def stress_tensor(self, F, J, p=None):
Here, F
is the deformation gradient, J
the Jacobian,
and p
the pressure for incompressible problems. Next, we
import the ufl
module from the FEniCS Project to determine the
geometric dimension of the problem instead of hard coding this in our
definition.
import ufl
dim = ufl.domain.find_geometric_dimension(F)
Next, we retrieve the material constants for our constitutive equation, \(\lambda\) and \(\mu\).
la = self._parameters['first_lame']
mu = self._parameters['second_lame']
Here, we use key values that are different than those used by the
materials
submodule to demonstrate that the user can use any
key values so long as they are consistent. A KeyError
will be
raised if these keyword arguments were not provided when the object
was initialized.
Now, we import objects from dolfin
that we will need to define
our constitutive equation.
from dolfin import Identity, sym, inv, tr
Now we can start to define the stress tensor itself. First, we define the linearized strain tensor in terms of the deformation gradient, which is given by
where \(\mathbf{f}\) is used for inverse elastostatics problems. We must use a conditional state to check which formulation we should use.
I = Identity(dim)
if self._inverse:
epsilon = sym(inv(F)) - I
else:
epsilon = sym(F) - I
Finally, we define the Cauchy stress tensor given by
when the material is incompressible, and
otherwise. This is done with
if self._incompressible:
T = -p*I + 2.0*mu*epsilon
else:
T = la*tr(epsilon) + 2.0*mu*epsilon
and this object is returned.
return T
The incompressibility condition for a linear material is
where \(\kappa\) is the bulk modulus of the material, and \(\phi(\mathbf{u}) = \text{div}\;\mathbf{u}\). The user must return \(\phi\), and FEniCS Mechanics will formulate the corresponding weak form. This is done with
def incompressibilityCondition(self, u):
from dolfin import div
return div(u)
The only part of the config
dictionary that will change is the
material subdicionary. Thus, we provide an example below.
material = {
'type': 'elastic',
'const_eqn': MyMaterial,
'density': 10.0,
'first_lame': 1e9,
'second_lame': 1.5e6
}
The combined code for the class definition is shown below.
class MyMaterial:
def __init__(self, inverse=False, **params):
self._parameters = dict()
self._parameters.update(params)
self._inverse = inverse
self._incompressible = params['incompressible'] \
if 'incompressible' in params else False
if 'kappa' not in params:
kappa = self._parameters['first_lame'] \
+ 2.0*self._parameters['second_lame']/3.0
self._parameters.update(kappa=kappa)
def stress_tensor(self, F, J, p=None):
import ufl
dim = ufl.domain.find_geometric_dimension(F)
la = self._parameters['first_lame']
mu = self._parameters['second_lame']
from dolfin import Identity, sym, inv, tr
I = Identity(dim)
if self._inverse:
epsilon = sym(inv(F)) - I
else:
epsilon = sym(F) - I
if self._incompressible:
T = -p*I + 2.0*mu*epsilon
else:
T = la*tr(epsilon)*I + 2.0*mu*epsilon
def incompressibilityCondition(self, u):
from dolfin import div
return div(u)
The rest of the script to run the simulation can be written as in the other examples where the three dictionaries are combined into one, and the problem and solver objects are created.


{% extends "layout.html" %} {% block content %}
| directions_run |
Customize your own activitiesRecord your own activity samples, e.g. how you pick up your phone, handle your touch screen or walk and trigger predefined actions. |
| autorenew |
Choose from predefined assistance templatesChoose from predefined assistance templates for each activity. Based on your own abilities and / or your current situation, you might want to trigger different level of notifications. |
| face |
Speech RecognitionIn the future, speech recognition allows you to remote handle your triggered actions. Assistance protocols for emergency situations can be controlled by simple vocal commands. |


The Bride and Groom
NICHOLE
She is a Texan with pretty teeth. She's not the "Glad it's Friday" but the "Glad it's Today/Love your life 24/7' kind of gal. Her hobbies are ice cream, falling off bikes and organizing random people's things. She's usually found with her four-pawed sidekick who has been known to 'disappear' on occasion.
ROBERT
Using only a hoe and a large jar of olive oil, I once single-handedly defended a small village in the African Tundra from a horde of ferocious army hyenas. I play bluegrass violin, I was scouted by every Cleveland sports franchise but was kicked out due my lack of athletic ability, I am the subject of awkward situations. When I'm bored, I read nerdy schoolgirl anime. I enjoy bacon. Every morning I slave away on websites.
Wedding Details
Abel's on the Lake
Austin, Texas
Friday, November 25th, 2016
4:45 PM in the Upper Deck
Reception to follow
BRIDAL PARTY
Bridesmaids
MoH - Rebecca Camacho
Misty Weller
Hannah Lee
Groomsmen
BM - Saul Sanchez
Benjamin Lee
Adam Fowler
Flower Girls
Blue & Sierra
Ring Bearers
George
Cody & Jonah
Registry
Registry info
Bed Bath & Beyond - Click Here


creating cutting edge web applications for the modern world
About me
Semi-experienced Software Engineer with a demonstrated history of working in the
information technology and services industry.
Innovative
I will always try coming up with new,effective and efficient ways of accomplishing
various tasks assigned to me
Team Player
I enjoy collaborating on projects with group memebers as more is accomplished within
a short time.Working Solo for me Isn't just fun, that is why I choose to be part of
the pack.
Goal Oriented
Once I set my eyes on a particular goal, there is no stopping me untill I achieve
said goal. I call it ruthless focus!
User Support
I hold that my utmost goal is to be a consultant in both backend programming and end
user support.
I am an experienced Software Engineer with a demonstrated history of working in the
information technology and services industry.
Front End Development
HTML5, CSS, ANGULAR JS, BOOTSTRAP 4
Back-End Development
PYTHON,FLASK,FLASK,DJANGO,POSTGRESQL
User Support
END USER SUPPORT, PROGRAM TROUBLESHOOTING
Search Engine Optimization
CONTENT KEYWORD OPTIMIZATION
My projects
All
GithubSearch
GithubSearch is a web application that allows a user to enter a github username in
the search box and returns the subjects names and description
of the public repositories. The application uses a github API..
An Angular Application that aids users to read and create new inspirational quotes;
and also gives a time frame of the period taken after the quote was created by the
user.
The quotes created can either be upvoted or downvoted depending on the impact it
causes to the viewer as well as be deleted!
Insta_Lite is a photo sharing app which allows users to assign filters to photos and
share them with followers. ... Insta_Liters can sync their photo sharing to other
social networks, so Instagram photos can be posted directly to Facebook, Tumblr,
Twitter, Flickr, and Foursquare.


The main point of comparison is that JavaScript is a more advanced language for designing web pages. With HTML you are doing no more than creating basic content i.e paragraphs, headings, tables, static images; and the CSS is used to style that content in the way you would like it to be displayed on your webpage. JavaScript however is interactive and programs the behaviour of the web page.
Control Flow is basically assessing a situation and taking action accordingly. For example, my alarm sounds in the morning; if it's 7.00am - dang! I have to get up and go to work, if it reads 9.00am - hooray! it's the weekend and I can sleep in. A loop is the process of repeating an action until you no longer can or you have achieved desired result. We can go back to the alarm clock and use the snooze funtion as an example; I know that if I'm not out of bed by 7:30am I am definitely going to be late for work - I am allowed to hit snooze three times before dragging myself out of bed.
Each character in an array is assigned a number according to its position within the array and is sequential from 0 up. If I wanted to retrieve the letter 'r' in the word 'strong' I would call on array[2]. Object literals however are literal words we call on to access our data. For example if I want to retreive someones name from their passport I would use passport.name.
A function is a block of code designed to perform a particular task. It's useful because you can use it over and over again with different arguments to produce different results.


Logo
T-Shirts for everyone
Main menu
Add Tshirt
Update
Delete
Sale ID:
Is completed?:
Enter Customer's ID:
Enter final price:


January 13, 2015
When I was in High School I have learned many useful skills. Designing in AutoCAD
was my favourite part of schooling lectures and I obtain a lot of knowledge about
engineering and their components, dimensions and materials. Because of this, I
decided to make heli- copter rotor as my final work which was important part of my
graduation. This work is exact copy of RC helicopter with series number 18H-M0629.
When I look back it gave me a lot of experience with long-term job and also
first pratice with 3D modeling.
2014
technologies: AutoCAD
storage: https://www.dropbox.com/sh/red4y5b76mo3v0a
– finished


Any checkouts of the Go SDK between July 10 2017 and Sept 29 2017 may have compatibility issues with Server 5.0.
Version 1.5.1 (21 November 2018)
Version 1.5.1 is a maintenance release for the 1.5.x series.
New Features and Behavioral Changes
-
GOCBC-356: Expose a way for creation of DCP agents to set DCP priority.
-
GOCBC-361: Add support for Analytics KV Ingest as uncommitted.
Fixed Issues
-
GOCBC-363: Fixed issue where the Stats call could hang when in a multi-node cluster a single node does not respond in a timely manner.
Version 1.5.0 (16 October 2018)
Version 1.5.0 is the first release of our 1.5.x series.
New Features and Behavioral Changes
-
Analytics features now marked as committed.
-
GOCBC-351: Add the document key to tracing spans when log redaction set to none.
Version 1.4.2 (19 September 2018)
Version 1.4.0 (18 July 2018)
Version 1.4.0 is the first release of our 1.4.x series.
Fixed Issues
-
GOCBC-309: Updated ThresoldLoggingTracer configuration to match RFC.
-
GOCBC-317: Fixed issue with Touch causing Invalid Parameters Error.
-
GOCBC-323: Fixed issue where some log messages log the local address instead of remote address.
-
GOCBC-325: Fixed issue where search Query sorting order should be "desc"
-
GOCBC-327: Fixed issue causing data race on zombie logger.
-
GOCBC-328: Fixed issue causing data race on memdopmap drain/add.
-
GOCBC-329: Fixed issue where pipeline clients are sometimes created with no parent
-
GOCBC-290: Fixed issue causing panic in pipeline client during consumer close.
-
GOCBC-331: Fixed issue where SDK leaves goroutines running after closing.
-
GOCBC-335: Fixed issue where SDK logs warnings when HTTP config poller intentionally disconnects.
Version 1.3.6 (15 May 2018)
Version 1.3.6 is a maintenance release for the 1.3.x series.
Fixed Issues
-
GOCBC-159: Fixed issue causing a connection leak to happen when running N1QL queries concurrently.
-
GOCBC-290: Fixed issue where authentication credential provider errors are ignored.
-
GOCBC-292: Fixed issue where protocol errors cause panics.
-
GOCBC-294: Fixed issue where status code is not correctly parsed from altresponses.
Version 1.3.5 (6 April 2018)
Version 1.3.5 is an unscheduled release for the 1.3.x series to fix a critical issue which was discovered.
Fixed Issues
-
GOCBC-289: Corrected issue with Replace not respecting passed CAS values.
Version 1.3.4 (23 March 2018)
Version 1.3.4 is a maintenance release for the 1.3.x series.
Fixed Issues
-
GOCBC-280: Fixed issue causing sub-document ops to sometimes panic.
-
GOCBC-274: Fixed issue with bad support for analytics host:port pairs.
-
GOCBC-273: Fixed issue with credentials not being sent to analytics service.
-
Fixed issue with SetRemove corrupting the list.
-
Added support for DCP flags.
-
Various minor fixes.
Version 1.3.3 (16 January 2018)
Version 1.3.3 is a maintenance release for the 1.3.x series.
Note that release 1.3.2 was skipped due to an internal versioning change.
Fixed Issues
-
GOCBC-263: Fixed issue with SetRemove corrupting the set.
Version 1.3.1 (29 December 2017)
Version 1.3.1 is a maintenance release for the 1.3.x series.
Fixed Issues
-
GOCBC-262: Correct issue with IPv6 config parsing.
-
Various minor bug fixes.
Version 1.3.0 (21 September 2017)
Version 1.2.4 (18 July 2017)
New Features and Behavioral Changes
-
GOCBC-208: Implemented new RBAC user management features.
-
GOCBC-162: Added support for server-side error descriptions.
-
GOCBC-215: Implemented support for errors with context.
-
GOCBC-216: Added support for HTTP2.0 on TLS HTTP connections.
-
GOCBC-209: Added new error codes from Server 5.0.0.
-
GOCBC-203: Improved KeyExists error to be more descriptive.
Fixed Issues
-
GOCBC-221: Fix issue with blank management credentials not working.
-
GOCBC-220: Fixed bug causing tests to sporadically fail.
-
GOCBC-205: Fixed bug causing memdClient goroutines to leak.
-
GOCBC-219: Fixed bug causing Stats command to sometimes fail.
-
GOCBC-214: Improved testing speed by using time-travel.
-
GOCBC-217: Fixed issue with FTS over HTTPS.
-
Fixed issue with GetDesignDocuments returning incorrect items.
-
Fixed issue causing DCP nop’s to fail under load.
-
Various minor bug fixes
Version 1.2.3 (24 May 2017)
New Features and Behavioral Changes
-
GOCBC-189: Implemented document-level sub-document flags.
-
GOCBC-188: Implemented support for fast-failover.
-
GOCBC-196: Implemented DCP No-Op.
-
GOCBC-138: Implemented DCP Flow Control.
-
GOCBC-197: Added method to fetch bucket UUID.
-
GOCBC-199: Added new sub-document error codes.
-
GOCBC-140: Added support for Ephemeral Buckets.
-
GOCBC-191: Updated to latest RBAC management spec.
-
GOCBC-184: Implemented FTS sorting and geo querying.
-
GOCBC-198: Renamed
RbacAuthenticator
toPasswordAuthenticator
. -
GOCBC-201: Implemented sub-document GET_COUNT operation.
Version 1.2.1 (28 March 2017)
New Features and Behavioral Changes
-
Project has been refactored to support connection pooling.
-
Added experimental support for Extended Attributes.
-
Added experimental support for Role-Based User Management.
-
Added experimental support for Role-Based Authentication.
-
Improved logging integration between gocb and gocbcore.
Fixed Issues
-
GOCBC-155: Fixed race condition in Stats operation.
-
GOCBC-154: Exposed SASL auth methods from gocbcore.
-
GOCBC-153: Corrected missing message for invalid arguments error.
-
GOCBC-151: Improved handling of configuration revisions.
-
GOCBC-149: Fixed issue with Sub-Document store flags being ignored.
-
GOCBC-137: Avoid crash in DCP handling.
-
GOCBC-143: Attempt to recover from most internal errors.
-
GOCBC-147: Fixed incorrect feature codes being sent to server.
-
GOCBC-151: Implemented additional linting and static code validation.
-
Various Minor Bug Fixes
Version 1.1.3 (14 December 2016)
New Features and Behavioral Changes
-
Project has been restructured so dependant packages are contained in their own repository, this is to correct the issue below.
Fixed Issues
-
GOCBC-134: Fixed issue causing
go get
installation to fail.
Version 1.1.2 (14 November 2016)
New Features and Behavioral Changes
-
GOCBC-127: Implement configurable bulk operation timeouts.
Version 1.1.0 (21 June 2016)
Version 1.1.0 is the first general availability release of the 1.1 series. It adds new features for N1QL query and supports the developer preview full text search available in Couchbase Server 4.5. A number of these features were added as uncomitted API in the 1.0 series and are now promoted to committed API.
New Features and Behavioral Changes
-
GOCBC-56: Added support for Full Text Search service in Couchbase 4.5.
-
GOCBC-109: Added support for X.509 Certificates.
-
GOCBC-95: Extend BucketManager to support Index Management.
-
GOCBC-90: Add cluster level authenticator interface.
-
GOCBC-89: Improve vbucket retry logic for increased reliability with large deployments.
-
GOCBC-59: Include support for AT_PLUS N1QL Queries with Mutation Tokens.
-
GOCBC-58: Added support for Cross Bucket Joins.


Lotus ChainWatch - Wallets
{{range strings "id_address_map" "address" "address != id"}}
{{.}}
{{end}}


|
Welcome to Write.app!
Write.app is a private writing app for writers, thinkers, and creative types.
Since we launched just almost a month ago we've been working on some great new features and use cases for Write.app. Here are a few of things you can do with it!
|
|
Keep a journal Privately and securely.
Write.app's notes are all private by default which means you never have to worry about accidentally publishing anything sensitive.
Learn More »
|
|
Publish a blog The easy way.
Want a certain note to go public when you're finished? Just tick the "Make public" box in the options panel before saving. Your public posts are available at writeapp.me/yourUsername
Learn More »
|
|
Our mobile apps are coming out soon too so be on the lookout for Write.app for iOS and Android. Find out more! »
|
|
Write a book And actually finish.
Distraction-free mode is made for writer's who want to focus on their writing instead of wrestling with formatting options. Try it out today.
Sign in »
|
|
Archive everything Stored securely.
We keep redundant, encrypted copies of your writing off-site so you'll never lose a copy of any of your writing. Export feature coming soon.
Sign in »
|
|
|


Gateway
BOT
22-Jul-18 03:43 AM
[dscrdeql] <CombatWombat> i think we should get tipsy dev to go work for exrates... when I withdrew from here to test Agama wallet it went in almost instantly
[dscrdeql] <CombatWombat>
[dscrdeql] <MySoulisNotForSale> yeah, same here
[dscrdeql] <Jellysmash> @CombatWombat need to do some combat wombat on that exrates
[dscrdeql] <CombatWombat> damn then the site would be down for weeks... ill keep my combat wombat skills away from exrates
[dscrdeql] <CombatWombat> lol
[dscrdeql] <MySoulisNotForSale> boom boom POW!
[dscrdeql] <MySoulisNotForSale> right in the scrotum
[dscrdeql] <CombatWombat>
[dscrdeql] <CombatWombat> haha
[dscrdeql] <Jellysmash> Lol...no scrotum kicks or punches please
[dscrdeql] <MySoulisNotForSale> boooooo!
[dscrdeql] <Jellysmash> Haha...I'm sure the withdrawal will come through by tomorrow
[dscrdeql] <MySoulisNotForSale> im still wondering how the hell the price of eql can be so low when it was selling at bartardex for 30 cents or so
[dscrdeql] <NWhiskeyTango> what is it at?
[dscrdeql] <MySoulisNotForSale> pretty friggin low
[dscrdeql] <CombatWombat> yeah i dont understand either
[dscrdeql] <NWhiskeyTango> barterdex is 0.30150476 atm
[dscrdeql] <NWhiskeyTango> lower then that?
[dscrdeql] <CombatWombat> unless people are stuffing up with the extra decimal
[dscrdeql] <MySoulisNotForSale> @NWhiskeyTango much lower
[dscrdeql] <CombatWombat> sell orders for 55 sats / 58 sats
[dscrdeql] <CombatWombat> buy orders much lower getting filled
[dscrdeql] <NWhiskeyTango> is it actually selling? or just orders?
[dscrdeql] <NWhiskeyTango> damn
[dscrdeql] <NWhiskeyTango> wth
[dscrdeql] <MySoulisNotForSale> lol. . it's actually selling
[dscrdeql] <CombatWombat> yeah
[dscrdeql] <NWhiskeyTango> at what volume?
[dscrdeql] <CombatWombat> 0.075782095 BTC
[dscrdeql] <CombatWombat> not much was higher the other day
[dscrdeql] <NWhiskeyTango> thats like...$750.00ish
[dscrdeql] <NWhiskeyTango> i dunno what btc is atm lol
[dscrdeql] <MySoulisNotForSale> sounds about right
[dscrdeql] <MySoulisNotForSale> if you gonna buy some cheap eql do it at the new exchange for sure
[dscrdeql] <NWhiskeyTango> exactly what i was thinking
[dscrdeql] <MySoulisNotForSale> I was telling someone earlier I'd be pissed if I was one of the dev's here. . there must be something wrong with this new exchange, but hell. . that's not my problem. . take advantage of it
[dscrdeql] <NWhiskeyTango> got a link ? hehe
[dscrdeql] <NWhiskeyTango> for the exchange
[dscrdeql] <NWhiskeyTango> you say withdrawls are delayed though?
[dscrdeql] <NWhiskeyTango> scrolling through trying to find it
[dscrdeql] <CombatWombat> yes i been waiting since yesterday
[dscrdeql] <CombatWombat> how do you find eqauliser on barterdex?
[dscrdeql] <MySoulisNotForSale> no idea ^^ I just see it in my blockfolio app
[dscrdeql] <NWhiskeyTango> wher am i
[dscrdeql] <NWhiskeyTango> lol what is this?
[dscrdeql] <CombatWombat> ???
[dscrdeql] <NWhiskeyTango> so many channels i am lost now
[dscrdeql] <CombatWombat> lol
[dscrdeql] <MySoulisNotForSale> what?
[dscrdeql] <MySoulisNotForSale> you are in OZ
[dscrdeql] <NWhiskeyTango> holy that was weird
[dscrdeql] <MySoulisNotForSale> not in kansas anymore
[dscrdeql] <NWhiskeyTango> lmao wow....i was scrolling up.....then for a second it was just us 3 and like 5 messages. like we had a separate channel.
[dscrdeql] <NWhiskeyTango> discord tripped me out a sec haha
[dscrdeql] <CombatWombat> haha yeah discord goes weird every now and then
[dscrdeql] <CombatWombat> tango do you know how to find equaliser on barterdex>
[dscrdeql] <NWhiskeyTango> i haven't even opened it up yet. got disctracted trying to build a node atm
[dscrdeql] <NWhiskeyTango> for some other "new" project
[dscrdeql] <MySoulisNotForSale> I don't even know how to load barterdex
[dscrdeql] <NWhiskeyTango> lol see that's why i have never used it....so many complain about it
[dscrdeql] <NWhiskeyTango> you downloaded it?
[dscrdeql] <CombatWombat> i did
[dscrdeql] <MySoulisNotForSale> let me see
[dscrdeql] <CombatWombat> ive got it up but i can't see any orders or history
[dscrdeql] <NWhiskeyTango> @MySoulisNotForSale should be in something like C:\Users??????\Downloads\BarterDEX-win-x64-1.1.0\BarterDEX-win-x64/BarterDEX
[dscrdeql] <MySoulisNotForSale> yeah, I can open it
[dscrdeql] <MySoulisNotForSale> but I don't even see eql on their list
[dscrdeql] <CombatWombat> you need to add it
[dscrdeql] <CombatWombat> but according to cmc barterdex has a volume of $251? lol
[dscrdeql] <MySoulisNotForSale> doesn't surprise me
[dscrdeql] <CombatWombat> and there are no buy or sell orders for equaliser on it unless im doing it wrong
[dscrdeql] <MySoulisNotForSale> they must have stopped trading there
[dscrdeql] <MySoulisNotForSale> alright, im gonna go watch a movie or something
[dscrdeql] <MySoulisNotForSale> peace out peepz
[dscrdeql] <CombatWombat> have fun
[dscrdeql] <MySoulisNotForSale> see you brother
[dscrdeql] <CombatWombat> cya bro


Shrewsbury firms reject plans to extend restrictions on loading bays
by Aimee JonesBusinesses in Shrewsbury town centre have said no to council proposals for loading bay restrictions to be extended to cover 24 hours a day, seven days a week.
General parking is currently allowed in loading bays outside the hours of 7.30am to 8pm, but Shropshire Council is proposing that bays should only be used for loading and unloading at all times.
A survey of Shrewsbury Business Improvement District (BID) members has revealed more than 68 per cent are against the changes, and these figures have now been forwarded to the council.
Seb Slater, executive director of Shrewsbury BID, said: “We asked our members for their thoughts, they have responded, and we are making those views clear to Shropshire Council.
“The council is proposing that all loading bays across the county, excluding shared bays, should be in operation 24 hours a day, seven days a week.
“We requested member feedback on this proposed change and results were that 68.4 per cent of respondents said they don’t support the plans, while 31.6 per cent said they did."
Blocked
Shrewsbury BID is therefore suggesting that loading bay usage should be changed to 7am to 7pm - a change from the present 7.30am to 8pm, with general parking permitted in loading bays outside of these hours.
Mr Slater added: “In addition, the BID strongly suggests additional morning enforcement hours on loading bay usage. Currently, many town centre loading bays are blocked by vehicles until well past 7.30am.
“This shows that without enforcement, loading bay times are not being adhered to and businesses are unable to unload without delay.”
The council has expressed concerns over loading and unloading being impeded by general parking within the bays and says the provision should be in place to make the bays always available for loading and unloading.
A decision on a county-wide ruling is under consideration in order to avoid confusion and have a consistent policy throughout Shropshire.


This Template is responsible for creating a table of domain objects.
If you modify this template, do not forget to change the overwrite settings
in /Configuration/ExtensionBuilder/settings.yaml:
Resources:
Private:
Templates:
List.html: keep
Otherwise your changes will be overwritten the next time you save the extension in the extension builder
Listing for Sliders
|
|
|
|
|
|
| {sliders.title} |
{sliders.description} |
{sliders.linktext} |
{sliders.linkurl} |
Edit |
Delete |
New Sliders
================================================
==========================================
This Template is responsible for creating a table of domain objects.
If you modify this template, do not forget to change the overwrite settings
in /Configuration/ExtensionBuilder/settings.yaml:
Resources:
Private:
Templates:
List.html: keep
Otherwise your changes will be overwritten the next time you save the extension in the extension builder


reveal.js comes with a few themes built in:
Black (default) -
White -
League -
Sky -
Beige -
Simple
Serif -
Night -
Moon -
Solarized
“ Active learning increases student performance in science, engineering, and mathematics ”Freeman et al. 2014
“ Teach in a way that allows you to gain feedback in a timely manner about the learning of your students. ”


HTML5 video player
- / _: previous frame
+ / =: next frame
f: full screen
p: play/pause
m: mute
0:000 / 0:000


Adil Zeshan
I am a developer who enjoys writing debuggable and readable software that makes a happy and meaningful impact. I think of code as a form of future communication not so much to the compiler but to my colleagues and my future self.
I enjoy exploring the vast HTML5, CSS3, JavaScript, and React ecosystems. Below are my ongoing projects, each with links to a live demo, source code, and roadmap.
Conway's Game of Life Simulation
Built with vanilla JavaScript, HTML5 canvas, and CSS. It was structured using MVC principles to cleanly separate communication concerns, and made heavy use of the module pattern and closures, as well as recursive and asynchronous code. More features will be added over time (see roadmap).
Warming Stripes
Built with vanilla JavaScript, D3.js, and CSS. It is interactive. The data is taken from NASA. More features and data will be added over time (see roadmap).
Mandelbrot Set
Built with JavaScript and HTML5 canvas. It is a work in progress. The aim is to make it interactive, as an (infinitely) zoomable fractal without any loss of detail. This and other features will be added over time (see roadmap).
GitHub Contest
Built with React, and makes use of the GitHub API. It shows the most popular repositories on GitHub overall and some selected languages. It can also compare GitHub users on their GitHub activity.
Gatecrasher
Built with Node and Express. It is a basic event creation web app, which makes and takes GET, POST, and DELETE requests. The codebase is split across two repositories: the client (hosted on GitHub pages) and the API (hosted on Heroku). It is a rough, but working prototype to help me build up knowledge of Node and Express. It is also a work in progress.


(Defined in: jpgraph_bar.php : 615)
Class usage and Overview
A group bar plot has several bars side by side for each X-label. The group bar is constructed from any number of ordinary bar graphs.
For example:
$b1 = new BarPlot(...);
$b2 = new BarPlot(...);
$gb = new GroupBarPlot(array($b1,$b2));
...
$graph->Add($gb);
...
Each individual bar can be either a BarPlor or an AccBarPlot.
Class Methods
Create a new Group bar plot
| Argument | Default | Description |
|
$plots
| | Array of individual plots |
Description:
Create a new Group bar plot from a number of BarPlot or AccBarPlot plots.
See also:
$b1 = new BarPlot(...);
$b2 = new BarPlot(...);
$gb = new GroupBarPlot(array($b1,$b2));
...
$graph->Add($gb);


--- layout: post status: publish published: true title: What’s in a tagline? author: display_name: Tomas Restrepo login: tomasr email<EMAIL_ADDRESS>url: http://winterdom.com/ author_login: tomasr author_email<EMAIL_ADDRESS>author_url: http://winterdom.com/ wordpress_id: 336 wordpress_url: http://winterdom.com/2009/03/whatsinatagline date: '2009-03-11 06:00:51 +0000' date_gmt: '2009-03-11 06:00:51 +0000' categories: - Blogging tags: [] comments: - id: 242 author: catlion author_email<EMAIL_ADDRESS>author_url: http://catlion.name/ date: '2009-03-12 07:27:19 +0000' date_gmt: '2009-03-12 07:27:19 +0000' content: | I love this album and listening it more then something else. - id: 243 author: Steef-Jan Wiggers author_email<EMAIL_ADDRESS>author_url: http://www.soa-thoughts.blogspot.com/ date: '2009-03-22 15:56:47 +0000' date_gmt: '2009-03-22 15:56:47 +0000' content: | So there are BizTalk pro's that like Metal. Cool :) I love metal for over 20 years and this one is one of my all time favorites. - id: 736 author: Thiago Almeida author_email<EMAIL_ADDRESS>author_url: http://connectedthoughts.wordpress.com date: '2009-04-30 03:25:49 +0000' date_gmt: '2009-04-30 03:25:49 +0000' content: Count me in as well, Pantera are one of my favourites. ---
The current subtitle in this blog is By daemons be driven. I thought many might recognize where it comes from, but for those who might stumble on this page and are not metal fans, I should point out that this is a simple play on words.
The line comes from the title of the song “By Demons Be Driven” by Pantera, from their excellent Vulgar Display of Power album released in 1992. The word play is, of course, a reference to the term used in Unix for background processes.


Very basic rules/objective:
The game alternates between build and fight phases with short transition sections when moving from a fight phase to a build phase.
During build phases, place notes in your sequence. During fight phases, use your notes to paint and try to convert all players to your color palette. During transition sections, press "p" several times to progress into the next phase.
The game ends when all players are the same color.
Basic controls:
space (with a ball in your area) : Add a note to your sequence.
1 or 2 (after breaking a ball) : Start a build phase or a fight phase.
w/a/s/d : Move (cannot move horizontally during a build phase).
p : After several presses, progress the harmony, and at the end of a fight phase (locked movement and inverted colors), progress to the next build phase.
v : Toggle view between the whole game and your area.
f : Toggle fullscreen.
h : Hide/unhide the cursor.
i : Hide/unhide these instructions.
m : Mute/unmute sound.
b : Start the game. Players cannot join the room after the game has started.
Additional Notes:
This is really only tested for Chrome and may not work in other browsers.
Refresh the page if you want to join a different room or encounter errors.
If players leave or disconnect from a game in progress, they can rejoin so long as other players remain in the room.
A room will reset when all its players have left.
If you experience performance issues, try closing other applications/tabs, or if possible, reduce the number of players.


How do you take your cocktails?
Superstrong - liquor, neat
Splashed with some vermouth or bitters
The fruitier the mix the better
Beer or wine, please
Virgin only for me
NEXT
Licensed by Jack Oughton under the Creative Commons Attirbution-Share Alike 3.0 Unported license (http://creativecommons.org/licenses/by-sa/3.0/deed.en)


Davnish Singh is currently doing undergraduation in Computer Science from Kwantlen Polytechnic University. He is also an undergraduate scholar at Stanford University currently working on some research papers on Artificial Intelligence and Machine Learning under Neural Networks in computer vision and pattern recognition.
In addition to his passion for Machine Learning and software technologies, he has got a strong passion for algorithms because he thinks that problems have to be solved instead of getting only discovered.
He consider himself to be a very ambitious and dynamic person with a great curiosity for all those things which involve new technologies with a massive effect on people life.
• Working on Densely Connected Convolutional Networks with several authors Gao Huang, Zhuang Liu, Kilian Q. Weinberger, Laurens van der Maaten. It comes under Computer Vision and pattern recognition.
• In this research, i will present my ideas and talk about this research paper at Stanford University and work will be published on Stanford University Website.
• In this paper, we embrace this observation and introduce the Dense Convolutional Network (DenseNet), which connects each layer to every other layer in a feed-forward fashion.
•Handled all the data of clients with TopProducer 8i classified with name, phone number and company.
•Developed a python script to scrape a data from website.
•Stored and read the data from SQL.
•Took all the data from database and entered into the excel spreadsheet with xlwings library.
• Built pages for product launches primarily using HTML, CSS (Sass), and JavaScript.
• Worked Closely with Design team to ensure quality across all screen sizes/resolutions.
• Worked with Adobe Illustrator and Photoshop.
GPA: 3.25
• Languages: C++, Java, Python, PHP, JavaScript, SQL, HTML/CSS
• Technologies: Unix/Linux, Twitter Bootstrap
• Framework, APIs Explored: Graph.api, Node.js, Forecast.api, YouTube Data API v3
• Version Control: Git
Apart from being a Student and aspiring Software Engineer, I enjoy most of time by doing Editing. I've founded my own company of editing Davnish Editors Pvt. Ltd. where me and my team edit the trailers and songs of the movies.
When forced indoors, I follow a number of sci-fi and fantasy genre movies and television shows, I spend a large amount of my free time exploring the latest technolgy advancements in the front-end web development world.
• Authorized Twitter API client.
• Made a GET request to Twitter API to fetch tweets for a particular query.
• Parsed the tweets. Classified each tweet as positive, negative or neutral.
• Used sentiment.polarity method of TextBlob class to get polarity of tweet between -1 to 1.
• Resulted with Positive Tweets: 25.31% and Negative Tweets: 13.92%.
•Data of clients handled with TopProducer 8i classified with name, phone number and contact.
•Developed a python script to scrape data from website.
•Stored and read the data from SQL.
•Took all the data from database and entered into the excel spreadsheet with xlwings library.
•Scraped around 2.5k queries within 48seconds.
•Designed and implemented a HTML, CSS and Bootstrap based website.
•Implemented a sorting algorithm to sort all the trailers in a list based on their releasing date and views.
•Parsed Movie trailers from youtube channel with Youtube Data API v3 and jQuery.
•Implemented a method in which Youtube API will automatically post the latest video to website and add to the list of trailers based on their views and time.


Toggle navigation
A website in progress
Home
Blog
Curriculum Vitae
Publications
Old Blog
Posts
Jun 18, 2016
Evenness analysis
Jun 17, 2016
Diversity analysis
Jun 4, 2016
Differential gene expression with RNA-seq data
Jun 3, 2016
Styling with Bootstrap
Jun 3, 2016
Basic CSS notes
Jun 3, 2016
Welcome to Jekyll!
Jun 3, 2016
Normalization and exploratory analysis of RNA-seq data
Jun 3, 2016
RNA-seq alignment
Jun 3, 2016
Introduction to RNA-seq analysis
May 9, 2016
Poisson distribution
May 9, 2016
Manual PCA calculation
Sep 14, 2015
Basic matrix operators
Jul 17, 2015
Variance and covariance
Jul 17, 2015
Least squared regression model
Jun 15, 2015
Standard error in linear models
May 30, 2015
Examples of matrix algebra
Sep 23, 2014
Google Web Fonts and
Font Awesome Icons
Sep 22, 2014
3D Device Mockups
by PSDCovers
Sep 21, 2014
Death to the Stock Photo:
Special Thanks
subscribe
via RSS


| Code | Company | Price | Change | Change % | Open | High | Low | Volume |
|---|---|---|---|---|---|---|---|---|
| AAC | AUSTRALIAN AGRICULTURAL COMPANY LIMITED. | $1.38 | -0.01 | -0.36% | $1.39 | $1.39 | $1.38 | 9,395 |
| AAD | ARDENT LEISURE GROUP | $1.15 | +0.02 | 1.32% | $1.14 | $1.15 | $1.13 | 56,431 |
| AAX | AUSENCO LIMITED | $4.00 | -0.04 | -0.99% | $4.01 | $4.05 | $4.00 | 90,641 |
| AGO | ATLAS IRON LIMITED | $3.17 | -0.02 | -0.47% | $3.11 | $3.22 | $3.10 | 5,416,303 |


AttachToW3WP
Introduce
Can attach to w3wp.exe before loading of ASP.NET pipeline. It enables Visual Studio to activate breakpoint on initial .NET code like global.asax.cs or whatever.
What's New
V 1.0: Initial checked-in.
How to use
1. When your web application project use 'Use Local IIS Web server' options as follows,
2. You have to set "Start Mode" == "AlwaysRunning" on AppPool which is hosting the web application.
3. Then you just select "TOOLS" / "AttachToW3WP" menu,
4. Your breakpoint on code inside global.asax.cs or any initialization will be caught by Visual Studio debugger.
Source Code
Project site: https://github.com/stjeong/AttachToW3WP
For more information in Korean: Visual Studio 확장 도구 AttachToW3WP - w3wp.exe에 대한 디버거 연결을 자동화


Loading.. Please allow browser to access your location, in order for the geolocation to work.
Powered by Apixu.


We're sorry but datocms-plugin-better-title doesn't work properly without JavaScript enabled. Please enable it to continue.


The following listing shows an example of how to use the CFITSIO routines in a C program. Refer to the cookbook.c program that is included with the CFITSIO distribution for other example routines.
This program creates a new FITS file, containing a FITS image. An `EXPOSURE' keyword is written to the header, then the image data are written to the FITS file before closing the FITS file.
#include "fitsio.h" /* required by every program that uses CFITSIO */ main() { fitsfile *fptr; /* pointer to the FITS file; defined in fitsio.h */ int status, ii, jj; long fpixel = 1, naxis = 2, nelements, exposure; long naxes[2] = { 300, 200 }; /* image is 300 pixels wide by 200 rows */ short array[200][300]; status = 0; /* initialize status before calling fitsio routines */ fits_create_file(&fptr, "testfile.fits", &status); /* create new file */ /* Create the primary array image (16-bit short integer pixels */ fits_create_img(fptr, SHORT_IMG, naxis, naxes, &status); /* Write a keyword; must pass the ADDRESS of the value */ exposure = 1500.; fits_update_key(fptr, TLONG, "EXPOSURE", &exposure, "Total Exposure Time", &status); /* Initialize the values in the image with a linear ramp function */ for (jj = 0; jj < naxes[1]; jj++) for (ii = 0; ii < naxes[0]; ii++) array[jj][ii] = ii + jj; nelements = naxes[0] * naxes[1]; /* number of pixels to write */ /* Write the array of integers to the image */ fits_write_img(fptr, TSHORT, fpixel, nelements, array[0], &status); fits_close_file(fptr, &status); /* close the file */ fits_report_error(stderr, status); /* print out any error messages */ return( status ); }


Stop Program Name Type Options This feature is currently a work in progress! You will soon be able to edit what goes into the url. For now, it is just the code you set in the editor. Set Save State Auto set save Save State Save State Add Code Auto set the code Add Code Override Auto set the code without a prompt. JAR releases are available at https://github.com/61c-teach/venus/releases.
Settings General Calling Convention Tracer Packages Simulator Default Args Text Start Max History Save on Close Save on Close AlignedAddressing Force Aligned Addressing? Mutable Text Mutable Text? Only Ecall Exit Only Ecall Exit? Default Reg States Set Registers on Init? Allow Access Allow Access Between Stack and Heap? Memcheck Enable Memcheck? Verbose Memcheck Enable Verbose Memcheck? Max number of steps: (Negative means ignored) Dark Mode Registers Pattern: To add tabs, type '\t' & new line, type '\n'. The current valid symbols to add are: %0% through %31% which represent the registers. %line% is the current line which it is on. %pc% represents the pc at the current instruction. %inst% represents the current instruction. %output% represents an ecall message out. %decode% represents the decoded instruction bits. %output%%0% %1% %2% %3% %4% %5% %6% %7% %8% %9% %10% %11% %12% %13% %14% %15% %16% %17% %18% %19% %20% %21% %22% %23% %24% %25% %26% %27% %28% %29% %30% %31% %line% %pc% %inst% (⇓ Green = True; White = false ⇓) Inst First Instruction first? PC Word Addr PC Word Addressed? Two Stage Two Stage? Total number of commands: (Negative means ignored) Output Number's Base: (2-32) Enable Enable Calling Convention Checker? Add Package
Registers Pattern: To add tabs, type '\t' & new line, type '\n'. The current valid symbols to add are: %0% through %31% which represent the registers. %line% is the current line which it is on. %pc% represents the pc at the current instruction. %inst% represents the current instruction. %output% represents an ecall message out. %decode% represents the decoded instruction bits. %output%%0% %1% %2% %3% %4% %5% %6% %7% %8% %9% %10% %11% %12% %13% %14% %15% %16% %17% %18% %19% %20% %21% %22% %23% %24% %25% %26% %27% %28% %29% %30% %31% %line% %pc% %inst%
Registers Memory Cache VDB Integer (R) Floating (F) zero ra (x1) sp (x2) gp (x3) tp (x4) t0 (x5) t1 (x6) t2 (x7) s0 (x8) s1 (x9) a0 (x10) a1 (x11) a2 (x12) a3 (x13) a4 (x14) a5 (x15) a6 (x16) a7 (x17) s2 (x18) s3 (x19) s4 (x20) s5 (x21) s6 (x22) s7 (x23) s8 (x24) s9 (x25) s10 (x26) s11 (x27) t3 (x28) t4 (x29) t5 (x30) t6 (x31) Float Input type ft0 (f0) ft1 (f1) ft2 (f2) ft3 (f3) ft4 (f4) ft5 (f5) ft6 (f6) ft7 (f7) fs0 (f8) fs1 (f9) fa0 (f10) fa1 (f11) fa2 (f12) fa3 (f13) fa4 (f14) fa5 (f15) fa6 (f16) fa7 (f17) fs2 (f18) fs3 (f19) fs4 (f20) fs5 (f21) fs6 (f22) fs7 (f23) fs8 (f24) fs9 (f25) fs10 (f26) fs11 (f27) ft8 (f28) ft9 (f29) ft10 (f30) ft11 (f31) Address +3 +2 +1 +0 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 Jump to -- choose -- Text Data Heap Stack Address: Cache Levels Block Size (Bytes) Number of Blocks Associativity Cache Size (Bytes) Enable? Enables current selected level of the cache. Direct Mapped N-Way Set Associative Fully Associative LRU Random L1 Hit Count Accesses Hit Rate NOTE: This is a write through, write allocate cache. Seed Breakpoints Watchpoints In depth break point view coming soon! Read/Write On Read | On Write Address Value Mask Add Watchpoint vvv Watchpoints vvv Display Settings Hex Decimal Unsigned ASCII


ACCOUNTS
SELECTED ACCOUNT NAME
DETAILS & SETTINGS
JOHN SMITH
JOHN SMITH
save
Personal & Account Details
Passports/Visas
Relationships
Preferences
Notes
PERSONAL DETAILS
LAST NAME
FIRST NAME
MIDDLE NAME
SALUTATION
Mr
Mr
Mis
Miss
PREFIX
Mr
Mr
Mis
Miss
BIRTHDAY
ALERT DAYS
STATUS
Active
Active
Passive
IS THIS CONTACT A PASSAGER?
PHOTO
REMOVE
CHANGE IMAGE


R (Programming Language)
Q1. How does a matrix differ from a data frame?
- [x] A matrix may contain numeric values only.
- [ ] A matrix must not be singular.
- [ ] A data frame may contain variables that have different modes.
- [ ] A data frame may contain variables of different lengths.
Q2. What value does this statement return?
unclass(as.Date("1971-01-01"))
- [ ] 1 - [✅] 365 - [ ] 4 - [ ] 12
Q3. What do you use to take an object such as a data frame out of the workspace?
- [x] remove()
- [ ] erase()
- [ ] detach()
- [ ] delete()
Q4. Review the following code. What is the result of line 3?
xvect<-c(1,2,3)
xvect[2] <- "2"
xvect
- [ ] [1] 1 2 3
- [ ] [1] "1" 2 "3"
- [x] [1] "1" "2" "3"
- [ ] [1] 7 9
Q5. The variable height is a numeric vector in the code below. Which statement returns the value 35?
- [ ]
height(length(height))
- [x]
height[length(height)]
- [ ]
height[length[height]]
- [ ]
height(5)
Q6. In the image below, the data frame is named rates. The statement sd(rates[, 2])
returns 39. As what does R regard Ellen's product ratings?
- [ ] sample with replacement - [ ] population - [ ] trimmed sample - [✅] sample <– not sure
Q7. Which choice does R regard as an acceptable name for a variable?
- [ ]
Var_A!
- [ ]
\_VarA
- [ ]
.2Var_A
- [x]
Var2_A
Q8. What is the principal difference between an array and a matrix?
- [x] A matrix has two dimensions, while an array can have three or more dimensions.
- [ ] An array is a subtype of the data frame, while a matrix is a separate type entirely.
- [ ] A matrix can have columns of different lengths, but an array's columns must all be the same length.
- [ ] A matrix may contain numeric values only, while an array can mix different types of values.
Q9. Which is not a property of lists and vectors?
- [ ] type
- [ ] length
- [ ] attributes
- [x] scalar
Q10. In the image below, the data frame on lines 1 through 4 is names StDf. State and Capital are both factors. Which statement returns the results shown on lines 6 and 7?
- [ ] StDf[1:2,-3] - [✅] StDf[1:2,1] - [ ] StDf[1:2,] - [ ] StDf[1,2,]
Q11. Which function displays the first five rows of the data frame named pizza?
- [ ] BOF(pizza, 5)
- [ ] first(pizza, 5)
- [ ] top(pizza, 5)
- [x] head(pizza, 5)
Q12. You accidentally display a large data frame on the R console, losing all the statements you entered during the current session. What is the best way to get the prior 25 statements back?
- [ ] console(-25)
- [ ] console(reverse=TRUE)
- [ ] history()
- [x] history(max.show = 25)
Q13. d.pizza is a data frame. It's column named temperature contains only numbers. If u extract temperature using the [] accessors, its class defaults to numeric. How can you access temperature so that it retains the class of data.frame?
> class( d.pizza[ , "temperature" ] )
> "numeric"
- [ ]
class( d.pizza( , "temperature" ) )
- [ ]
class( d.pizza[ , "temperature" ] )
- [ ]
class( d.pizza$temperature )
- [x]
class( d.pizza[ , "temperature", drop=F ] )
Q14. What does c contain?
a <- c(3,3,6.5,8)
b <- c(7,2,5.5,10)
c <- a < b
- [ ] [1] NaN
- [ ] [1] -4
- [ ] [1] 4 -1 -1 2
- [x] [1] TRUE FALSE FALSE TRUE
Q15. Review the statements below. Does the use of the dim function change the class of y, and if so what is y's new class?
> y <- 1:9
> dim(y) <- c(3,3)
- [ ] No, y's new class is "array".
- [x] Yes, y's new class is "matrix".
- [ ] No, y's new class is "vector".
- [ ] Yes, y's new class is "integer".
Q16. What is mydf$y
in this code?
mydf <- data.frame(x=1:3, y=c("a","b","c"), stringAsFactors=FALSE)
- [ ] list - [ ] string - [ ] factor - [✅] character vector
Q17. How does a vector differ from a list?
- [ ] Vectors are used only for numeric data, while list are useful for both numeric and string data.
- [ ] Vectors and lists are the same thing and can be used interchangeably.
- [x] A vector contains items of a single data type, while a list can contain items of different data types.
- [ ] Vectors are like arrays, while lists are like data frames.
Q18. What statement shows the objects on your workspace?
- [ ] list.objects()
- [ ] print.objects()
- [ ] getws()
- [x] ls()
- [ ] rbind()
- [x] cbind()
- [ ] bind()
- [ ] coerce()
Q20. Review line 1 below. What does the statement in line 2 return?
1 mylist <- list(1,2,"C",4,5)
2 unlist(mylist)
- [ ] [1] 1 2 4 5
- [ ] "C"
- [x] [1] "1" "2" "C" "4" "5"
- [ ] [1] 1 2 C 4 5
Q21. What is the value of y in this code?
x <- NA
y <- x/1
- [ ] Inf
- [ ] Null
- [ ] NaN
- [x] NA
Q22. Two variable in the mydata data frame are named Var1 and Var2. How do you tell a bivariate function, such as cor.test, which two variables you want to analyze?
- [ ]
cor.test(Var1 ~ Var2)
- [ ]
cor.test(mydata$(Var1,Var2))
- [x]
cor.test(mydata$Var1,mydata$Var2)
- [ ]
cor.test(Var1,Var2, mydata)
library(DescTools)
deliver <- aggregate(count,by=list(area,driver), FUN=mean)
print(deliver)
- [x]
attach(d.pizza)
- [ ]
summarize(deliver)
- [ ]
mean <- rbind(d.pizza,count)
- [ ]
deliver[!complete.cases(deliver),]
Q24. How to name rows and columns in DataFrames and Matrices F in R?
- [ ] data frame: names() and rownames() matrix: colnames() and row.names()
- [x] data frame: names() and row.names() matrix: dimnames() (not sure)
- [ ] data frame: colnames() and row.names() matrix: names() and rownames()
- [ ] data frame: colnames() and rownames() matrix: names() and row.names()
Q25. Which set of two statements-followed by the cbind() function-results in a data frame named vbound?
v1<-list(1,2,3)
v2<-list(c(4,5,6))
vbound<-cbind(v1,v2)
v1<-c(1,2,3)
v2<-list(4,5,6))
vbound<-cbind(v1,v2)
v1<-c(1,2,3)
v2<-c(4,5,6))
vbound<-cbind(v1,v2)
Q26. ournames is a character vector. What values does the statement below return to Cpeople?
Cpeople <- ournames %in% grep("^C", ournames, value=TRUE)
- [ ] records where the first character is a C - [ ] any record with a value containing a C - [ ] TRUE or FALSE, depending on whether any character in ournames is C - [✅] TRUE or FALSE values, depending on whether the first character in an ournames record is C
Q27. What is the value of names(v[4])?
v <- 1:3
names(v) <- c("a", "b", "c")
v[4] <- 4
- [x] ""
- [ ] d
- [ ] NULL
- [ ] NA
Q28. Which of the following statements doesn't yield the code output below. Review the following code. What is the result of line 3?
x <- c(1, 2, 3, 4)
Output: [1] 2 3 4
- [ ] x[c(2, 3, 4)]
- [ ] x[-1]
- [ ] x[c(-1, 0, 0, 0)]
- [x] x[c(-1, 2, 3, 4)]
Q29. Given DFMerged <- merge(DF1, DF2) and the image below, how manu rows are in DFMerged?
DF1(data frame 1): DF2(data frame 2):
VarA VarB VarA VarD
1 1 2 1 18 21
2 4 5 2 19 22
3 7 8 3 20 23


[1]
or you get their for you their from a german book about kenya.
[2]
and see that welcoming and share your information to go their from a german book about kenya.


pizzaro is a one of a kind pizza DELI,loccated in the nairobi CBD.we offer
variety of pizza's ranging from yhe most common to the RAREREST
from the hottest to the most cheesed up pizza's
Here at pizzaro ,we value our customers opinions ,we appreciate feedback
coming back time after time.
With its characteristic large, foldable slices and crispy outer crust,
New York-style pizza is one of America’s most famous regional pizza types. Originally a variation of Neapolitan-style pizza, the New York slice has taken on a fame all its own,
with some saying its unique flavor has to do with the minerals present in New York’s tap water supply.
A vegetarian's delight, this easy pizza recipe is pizza topped with tomato sauce, mushrooms, green and red bell peppers,
onions and melting cheese. This special veg pizza recipe will be loved by kids and adults alike,
an easy one to make on a movie night at home with friends or family too.
Pepperoni is an American version of salami. It is made from beef and cured pork mixed together and then seasoned with paprika and other chili pepper.
It is characteristically soft, a bit smoky, and is bright red in color. Pepperoni is indeed one of the most famous pizza topping and it is also used as a filling in the West Virginia pepperoni roll.
But have you ever wondered who invented pepperoni and where did it came from?
Hawaiian pizzas, while delicious, aren't perfect! But, set against the other choices on your average pizza menu, a Hawaiian is one of the healthier options.
For starters, the main ingredients are
relatively low in fat and calories (and certainly less calorific than toppings like meatballs, pepperoni and cheese).
The crispiness of the bacon pairs beautifully with the soft strips of onions.
Pepperoni & Sausage: Just adding more meat to a pizza makes everything better.
For those meat lovers out there,
this is the best pizza combination there is.
With real italian pizza, you will find homemade sauce made from freshly peeled tomatoes
and a blend of savory, complimenting herbs. You will also notice that authentic
Italian pizza doesn't combine the toppings and sauce to be cooked together.
They simply layer the sauce along the crust.


Scale Art model Services is primarily, Scott Anderson. Scott has been building
custom railroad models for over 25 years for a great variety of clients. Most of
my work has centered around the Rocky Mountain Region. A few projects have taken
on a more “national “ scope as I have completed projects in Illinois, Texas, Oregon
and a new project recently started in the Mid-West . I work in all scales and enjoy
the challenges each scale has to offer. Scott is accomplished in most every aspect
of the model railroad hobby and enjoys new challenges and the opportunity to learn
new techniques. SAMS builds complete layouts from design to completion or any phase
in between. The creation of super realistic scenery has long been the hallmark of
Scott’s work. Scott’s participation in the building of Tom Miller’s fabulous F scale
Narrow Gauge Railway was an opportunity to hone his skills in designing and building
numerous buildings from scratch. Although Scott take a personal interest in all projects;
we also have an available group of highly talented modelers to call in when the need
requires additional hands or individuals with unique talents to contribute. Each
team member has his or her particular areas of expertise which allow us to tackle
most any project with confidence. We can do Garden Railway installations or even
N scale coffee table layouts. We have installed some terrific overhead railway systems
for both private clients as well as Children’s Hospital in Denver. We are certain
we can provide you with the skills and creativity that will set your project apart
from the everyday.
Scott scrutinizes the installation of his fully animated 1:20.3, (Fn3), stamp mill
built for Tom Miller in Portland, Oregon. Scott worked for three years scratch-building
a variety of structures; large and small for this amazing large scale layout. Scott
is well known in the Denver area and beyond for his uncanny ability to capture the
follies and foibles of the human condition in miniature. The hallmark of Scott’s
work is subtle humor that makes viewing his work just that much more fun. Scott has
presented clinics on topics such as Weathering, Building and finishing craftsman
structure kits, and Scenery. You will find Scott’s work featured as displays in Caboose
Hobbies of Denver and the National Mining Hall of Fame and Museum in Leadville, Colorado
as well as many private homes and collections.
Joe Crea, well known Narrow Gauge and Shortline Gazette author, collaborated closely
with Scott on several areas of Tom Miller’s Fn3 layout. Joe’s sense of time, place
and ability to capture the “Human element” resulted in some of the most arresting
scenes on Tom’s layout as well as some of the most whimsical.
Alan Olson is a frequent contributor to Garden Railways Magazine. He has been working
on a “SAMS” outdoor railway project for the past two years. The client has enjoyed
the railway so much that it continues to grow bigger each year! Alan has a remarkable
ability with large scale trains and locomotives and is well known for his conversions
of off the shelf equipment.
Click on the photos for a gallery of models by each person
These guys make look so easy!


Jesse Bishop
Project Portfolio
Jesse is a Computer Engineering students at UC San Diego with a background in the semiconductor industry and is an active member of IEEE organization.
Projects
- IEEE micromouse
- 16x16 LED dot Matrix Circuit
- Giesel Library Neon Lamp
- Java SMS Push Notification program
- Chat Program utilizing ActiveMQ and Spring Framework
- ...


RCCG MEMBERS-DIRECTORY
(WEB VERSION)
{%- for category, message in get_flashed_messages(with_categories = true) %}
{{ message }}
{%- endfor %}
Add a new member
First name
Surname
City
Address
Sex
Phone number


Scalar vs Vector packet processing¶
FD.io VPP is developed using vector packet processing, as opposed to scalar packet processing.
Vector packet processing is a common approach among high performance packet processing applications such FD.io VPP and DPDK. The scalar based approach tends to be favoured by network stacks that don’t necessarily have strict performance requirements.
Scalar Packet Processing
A scalar packet processing network stack typically processes one packet at a time: an interrupt handling function takes a single packet from a Network Interface, and processes it through a set of functions: fooA calls fooB calls fooC and so on.
+---> fooA(packet1) +---> fooB(packet1) +---> fooC(packet1)
+---> fooA(packet2) +---> fooB(packet2) +---> fooC(packet2)
...
+---> fooA(packet3) +---> fooB(packet3) +---> fooC(packet3)
Scalar packet processing is simple, but inefficient in these ways:
When the code path length exceeds the size of the Microprocessor’s instruction cache (I-cache), thrashing occurs as the Microprocessor is continually loading new instructions. In this model, each packet incurs an identical set of I-cache misses.
The associated deep call stack will also add load-store-unit pressure as stack-locals fall out of the Microprocessor’s Layer 1 Data Cache (D-cache).
Vector Packet Processing
In contrast, a vector packet processing network stack processes multiple packets at a time, called ‘vectors of packets’ or simply a ‘vector’. An interrupt handling function takes the vector of packets from a Network Interface, and processes the vector through a set of functions: fooA calls fooB calls fooC and so on.
+---> fooA([packet1, +---> fooB([packet1, +---> fooC([packet1, +--->
packet2, packet2, packet2,
... ... ...
packet256]) packet256]) packet256])
This approach fixes:
The I-cache thrashing problem described above, by amortizing the cost of I-cache loads across multiple packets.
The inefficiencies associated with the deep call stack by receiving vectors of up to 256 packets at a time from the Network Interface, and processes them using a directed graph of node. The graph scheduler invokes one node dispatch function at a time, restricting stack depth to a few stack frames.
The further optimizations that this approaches enables are pipelining and prefetching to minimize read latency on table data and parallelize packet loads needed to process packets.
Press next for more on Packet Processing Graphs.


HEAVEN AND EARTH A film review by Frank Maloney Copyright 1991 Frank Maloney
HEAVEN AND EARTH is a Japanese costume drama by Haruki Kadokawa, who is inter alia a Shinto priest. The story pits two feudal warlords against each other, one young, spiritual, dedicated to preserving his domain, the other older, materialistic, ambitious to conquer all Japan and be the next shogun.
In a sense HEAVEN AND EARTH is organized like a traditional epic, such as the Iliad or the Bhagavad-Gita, in that it begins in medias res and concludes inconclusively, focusing on battles as physical manifestations of spiritual struggles. But for the modern, Western viewer, it's merely inconclusive.
The stars of the film are the costume designer, the cinematographer, and the horse wranglers. I went to the film for the spectacle, the color, and the texture and so was not disappointed. As a dramatic vehicle, it is pretty weak, at least to an American viewer. Two hours of a grim-faced, silent men staring relentlessly into the infinite makes it pretty hard for your humble reviewer to learn anything about character development. When people change, they just do it without much motivation or preparation. When characters die, they just die and it hardly seems important whether it was disease or suicide.
But this is not to say the film is not interesting or worth seeing. It is eye-filling. The costumes are positively stunning. The scenery magnificent, even though most of the exteriors were shot in Alberta. Rich, saturated colors, almost as painterly as early Technicolor, visual drama in every shot. There is a sequence in cherry-blossom time that is not to be believed.
There is narration by Stuart Whitman to get us up to speed with the historical events; otherwise the events would be nearly inaccessible to a Westerner. This part of Japanese history may or may not be well-known in Japan, but the Battle of Kawanakajima is nothing I know anything about. Apparently, research was a major budget item here with authentic restagings of the battles, attention to traditional strategy, and a simulation of actual troop movement. Not being a military history buff myself, what I saw a the amazing spectacle of thousands of men in red and black armor, even more thousands of flags and banners. The influence of Kurasawa and especially RAN is pretty obvious and ironic in its way. This movie cost $42 million dollars, every one of which is visible on the screen, whereas Kurosawa has to go overseas to fund his masterpieces and has not been liked in his homeland for decades.
HEAVEN AND EARTH is a pretty picture, but it is not a great movie. However, I can recommend it with reservations to at least the Japanophiles amongst us.
-- Frank Richard Aloysius Jude Maloney .
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Welli Ali Abdullah
About Me
Projects
Cultural Blogs
C1: Reflection
C1: Time and Habit
C2: Emotional Intelligence
C3: Meditation Process
C4: Daily Mindfulness
C5: Self Confidence
C6: Control
C7: Motivation
C8: Connecting
C9: Leadership
Technical Blogs
T2: Technical Blog part 1
T2: Technical Blog part 2
T3: Design to Web
T4: Javascript Basics
T5: Problem Solving
T6: JavaScript Language
T6: Javascript's Scope


LGBT fans will be welcomed in Qatar says Liverpool CEO
London - Liverpool chief executive Peter Moore says the Premier League leaders have been given assurances that LGBT fans will be welcomed in Qatar for next month's Club World Cup.
Homosexual acts are banned in Qatar but the European champions have undertaken extensive research and engaged in dialogue with the organisers and various groups to ensure there are no problems.
"Like most people I had an awareness of many of the issues that Qatar is facing but, as a club, we have gone to great lengths to not only understand them but more importantly engage with those with expertise in the field," Moore told LFCTV.
"This has allowed us to take on the concerns that have been raised by supporters and others and, as a result, we have received a number of assurances from the Supreme Committee for Delivery and Legacy in Qatar.
"We have sought and received assurances that our LGBT supporters will be welcome in Qatar, something that was vitally important to us as a club."
Liverpool have spoken with human rights experts, the British government, LGBT pressure groups and trade unions in order to put together a comprehensive information pack for fans.
However, Moore said it was not the club's place to shine a light on the issues raised by Qatar's hosting of events.
"We don't choose the location for the tournaments -- organising bodies make their selections," he added.
"We are not a political organisation and it is neither our place or our ambition to go from country to country forcing our values and our beliefs on others.
"If the involvement of our football club, or any other football club for that matter, helps prompt positive change then I would be the first to welcome that, but that shouldn't be the measurement of our involvement."
Liverpool travel to Doha for a semi-final on December 18 and either a final or third-place play-off on December 21.
The FIFA Club World Cup is a seven-team tournament featuring the various continental champions plus the league champions from the host nation.


Members can book conference rooms, desks, and other resources. Signing up is free, and only takes a minute.
Your profile image
Change password
As a general security best practice, we recommend changing your password every few months.
View Admin features?
You are currently logged in with Admin privileges. If you wish, you can toggle off the display of Admin-only features, to see how the app appears to non-Admin users.'
You are currently logged in without Admin privileges. You can enable the display of Admin-only features, however note that due to API authorization settings, the Admin-only API calls will still not work.
View Admin features (enableddisabled)
Image credits
Attribution for images used in this app.
"Conference room" photo by "Breather" used with permission under Creative Commons License from: https://unsplash.com/photos/bjhrzvzZeq4.
"Conference room" icon created by Dan Hetteix for The Noun Project (https://thenounproject.com/icon/46945/), used with permission under Creative Commons License.
"Desk" icon created by iconoci for The Noun Project (https://thenounproject.com/icon/82305/), used with permission under Creative Commons License


Celebrating Ten Years
All Around the World is now celebrating its ten-year anniversary. Managing director Leïla Contraire and I collaborated on this post to talk about what we’ve accomplished.
It has been an impressive journey working with American, European, and British clients with an international team. Stabilizing, modernizing, developing new and old code, supporting, training, managing on-site teams.
And that’s not all, we have been expanding.
While at heart we are a Perl consulting company, we have branched out into a variety of languages. We’ve done C++, Lua, TypeScript, Go, Python, Java, React, and more. We still have Perl as a core focus, but being able to diversify not only makes AAW stronger, but gives us the ability to appreciate different approaches to problems.
So after ten years we thought it would be a great time to answer the questions that people at conferences keep asking us.
What do you do?
Our job is to solve a large variety of concerns for our clients: untangling an old code base, handling the work in-house teams don’t have time for, using our expertise to develop new tools that the company has less experience with.
Old or new, there is always this excitement of being able to bring a solution. Given our many years of experience, we have seen just about everything. It doesn’t mean the work is easy—it often requires hard effort both from us and the client—it just means that no matter what is thrown at us, there is this deep certitude that we can solve it and that’s an amazing feeling.
What makes you different from other consulting firms?
In our experience when clients need a consulting company, they either want devs who are going to deliver the company strategy, or they need people who can put together a solution that will address all their concerns.
Because we care, we excel at the second. We love to come in, listen to the client concerns and aims, and propose the best solution, taking into consideration all the parameters. We love to bring flexibility in our solutions, always keeping in mind that we are not here to stay. We are just a temporary booster for a long-term adventure.
We can achieve that because our teams are special. They share our values. They are dedicated, talented, and complementary. Working with them is like being part of an orchestra. Everyone is essential, everyone is part of something bigger than themselves, and seeing them work is simply magic.
In a way to go back to your previous question, we are bringing magic to the tech world.
What do you bring to your clients?
What we bring depends on what the client needs.
Rescuing Legacy Code
Sometimes it’s untangling a mess of legacy code, transforming an old system into something maintainable. After understanding the code, we design an appropriate architecture and gradually, layer-by-layer, transform the code to that architecture. Sometimes we finish that work. Other times we evolve the code to the point where the client is capable of taking over.
Network Provisioning Automation
Of course, we also build new tools. In one case, a transatlantic telecom client was struggling to manage the costs of network provisioning due to it being a manual process. Many large projects were stalled due to time spent managing day-to-day tasks. We built a system that automated the provisioning, including security, freeing their network engineers to work on the difficult problems that actually required human intervention.
Data Management
Data management is another key area. We have found that even the best software developers often do not understand how to design a database or structure large amounts of data to be useful to their company. This often leads to complex, slow code that tries to work around the limitations of their data. We get asked to sort this out. This is often a delicate process, requiring extensive testing as we slowly restructure the data and processes to deliver the quality the client requires.
Security
Security and reliability are uppermost in everyone’s mind today, but they’re often viewed in terms of cost instead of profit. As a result, they often get ignored until the company’s hand is forced.
For one of our largest clients, most of their internal employees had full access to everything on their system. In redesigning their access control they found it both fragile and difficult to implement on a multi-million line codebase. We were brought in and over the course of two years, we deleted large swaths of their codebase, replacing it with a single configuration file and a handful of supporting modules. The project was a great success and made it trivial to have fine-grained control over access, even down to individual components on a page.
A/B Testing
Today, much of the software world has agreed that testing their software’s behavior is important. But what about testing their customer’s behavior? Does your new sign-up form increase or decrease the number of sign-ups? Can you prove it? One of our customers could, but the A/B testing system they built was difficult to work with. Because they put all of the data into a single database table, the system required custom SQL be written for every A/B test. The SQL had to be run from the command line to produce reports.
We rebuilt their entire system with a properly designed database, along with beautiful front-end charts showing the performance of all tests for whatever confidence level desired, including the ability to set the minimum number of required visits per test. Creating a new test only took a few few clicks. Stopping and restarting tests, including adjusting the number of buckets was trivial. A/B testing is a fantastic tool for discovering if your changes have the impact you’re looking for. You can stop guessing and start using a data-driven approach.
What are you the most proud of?
The certitude that, as a team, we can address any problem that is given to us.
What have you learned during the past ten years?
There are three key lessons we have learned.
Trust our instincts
If something is not right for us, it’s likely not right for the client or our teams. We know when to say “no.”
Hiring is everything
It is not just about assessing technical abilities, but also evaluating communication skills, critical thinking capacity, and the candidate’s desire to contribute to something greater. At our company, we take immense pride in a job well done.
Never give up
Even in the face of adversity, we believe there is always an opportunity for something more significant, happier, and worth building, just around the corner.
With these insights, we are better equipped to steer our company towards sustained growth and success.
Why are you developing a game?
Because we needed to create something we believe in, that belongs to us, to our teams, something that lasts. We are immensely proud of our work on Tau Station .
As for lasting, it has 8 years of development, and we are only approaching the marketing phase.
It has been a labor of love, the sheer joy of using our experience to tell meaningful stories, and the real struggle to make it happen.
Creating something—giving life to something—is such a different adventure than consulting. It gives us perspective, understanding for our clients, as even in our code base, we sometimes see the pain of legacy code.
What would you like to say to your future clients?
Come and talk to us . No matter the problem, the need, we have the solution.


How can we support you and your business? No matter the situation, we can help.
We listen to your goals, and offer options to truly address your needs — not force them into predefined plans of attack. Whatever your vision, WARPAINT will wield our limitless palette of strategy, design, and technical skill to promote your business success. Every business is unique and everybody wears a different warpaint. Let's get creative and help you find yours.


Porto Sokhna Beach Resort
Porto Sokhna is a 4-star hotel offering spacious, self-catering and serviced accommodations, personalized service, and resort-style facilities in Ain Sokhna.
It is just steps away from beaches along the Red Sea. Apartments, up to a floor space of 500 m², are fully furnished and include private balconies, separate seating areas, LCD TVs, and luxury bathrooms.
Porto Sokhna Beach Resort, on-site restaurant offers a rich breakfast buffet and traditional regional meals are prepared for dinner. Free parking is offered to all guests.