Windows Setup
Get Started ›Installing MXNet on Windows
The following describes how to install with pip for computers with CPUs, Intel CPUs, and NVIDIA GPUs. Further along in the document you can learn how to build MXNet from source on Windows, or how to install packages that support different language APIs to MXNet.
- Prerequisites
- Install MXNet with Python
- Build from Source
- Install MXNet with a Programming Language API
Prerequisites
Minimum System Requirements
- Windows 71, 10, Server 2012 R2, or Server 2016
- Visual Studio 2015 or 2017 (any type)
- Python 2.7 or 3.6
- pip
1. There are known issues with Windows 7. ↩
Recommended System Requirements
- Windows 10, Server 2012 R2, or Server 2016
- Visual Studio 2017 (any type)
- At least one NVIDIA CUDA-enabled GPU
- MKL-enabled CPU: Intel® Xeon® processor, Intel® Core™ processor family, Intel Atom® processor, or Intel® Xeon Phi™ processor
- Python 2.7 or 3.6
- pip
Install MXNet with Python
The easiest way to install MXNet on Windows is by using a Python pip package.
Note: Windows pip packages typically release a few days after a new version MXNet is released. Make sure you verify which version gets installed.
Install with CPUs
Install MXNet with CPU support with Python:
pip install mxnet
Now validate your MXNet installation with Python.
Install with Intel CPUs
MXNet has experimental support for Intel MKL and MKL-DNN. When using supported Intel hardware, inference and training can be vastly faster when using MXNet with MKL or MKL-DNN.
The following steps will setup MXNet with MKL. MKL-DNN can be enabled only when building from source. 1. Download and install Intel MKL (registration required). 1. Install MXNet with MKL support with Python:
pip install mxnet-mkl
Now validate your MXNet installation with Python.
Install with NVIDIA GPUs
When using supported NVIDIA GPU hardware, inference and training can be vastly faster with NVIDIA CUDA and cuDNN. You have two options for installing MXNet with CUDA support with a Python package. - Install with CUDA support - Install with CUDA and MKL support
Install with CUDA Support
The following steps will setup MXNet with CUDA. cuDNN can be enabled only when building from source. 1. Install Microsoft Visual Studio 2017 or Microsoft Visual Studio 2015. 1. Download and install NVIDIA CUDA. CUDA versions 9.2 or 9.0 are recommended. Some issues with CUDA 9.1 have been identified in the past. 1. Download and install NVIDIA_CUDA_DNN 1. Install MXNet with CUDA support with pip:
pip install mxnet-cu92
Once you have installed a version of MXNet, validate your MXNet installation with Python.
Install with CUDA and MKL Support
You can also use a combination of CPU/GPU enhancements provided by Intel and NVIDIA.
The following steps will setup MXNet with CUDA and MKL. 1. Install Microsoft Visual Studio 2017 or Microsoft Visual Studio 2015. 1. Download and install Intel MKL (registration required). 1. Download and install NVIDIA CUDA. 1. Download and install NVIDIA_CUDA_DNN 1. Install MXNet with MKL support with pip:
pip install mxnet-cu92mkl
Once you have installed a version of MXNet, validate your MXNet installation with Python.
Notes on the Python Packages
To get further enhancements for deep neural networks, you may want to enable MKL-DNN and/or cuDNN. Each of these require you to build from source and to enable the build flags for each.
Check the chart below for other options or refer to PyPI for other MXNet pip packages.
Build from Source
IMPORTANT: It is recommended that you review the build from source guide first. It describes many of the build options that come with MXNet in more detail. You may decide to install additional dependencies and modify your build flags after reviewing this material.
We provide two primary options to build and install MXNet yourself using Microsoft Visual Studio 2017 or Microsoft Visual Studio 2015.
NOTE: Visual Studio 2017's compiler is vc15
. This is not to be confused with Visual Studio 2015's compiler, vc14
.
You also have the option to install MXNet with MKL or MKL-DNN. In this case it is recommended that you refer to the MKLDNN_README.
Option 1: Build with Microsoft Visual Studio 2017 (VS2017)
To build and install MXNet yourself using VS2017, you need the following dependencies. You may try a newer version of a particular dependency, but please open a pull request or issue to update this guide if a newer version is validated.
- Install or update VS2017.
- If VS2017 is not already installed, download and install it. You can download and install the free community edition.
- When prompted about installing Git, go ahead and install it.
- If VS2017 is already installed you will want to update it. Proceed to the next step to modify your installation. You will be given the opportunity to update VS2017 as well
- Follow the instructions for opening the Visual Studio Installer to modify
Individual components
. - Once in the Visual Studio Installer application, update as needed, then look for and check
VC++ 2017 version 15.4 v14.11 toolset
, and clickModify
. - Change the version of the Visual studio 2017 to v14.11 using the following command (by default the VS2017 is installed in the following path):
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat" -vcvars_ver=14.11
- Download and install CMake if it is not already installed. CMake v3.12.2 has been tested with MXNet.
- Download and run the OpenCV package. There are more recent versions of OpenCV, so please create an issue/PR to update this info if you validate one of these later versions.
- This will unzip several files. You can place them in another directory if you wish. We will use
C:\utils
(mkdir C:\utils
) as our default path. - Set the environment variable
OpenCV_DIR
to point to the OpenCV build directory that you just unzipped. Startcmd
and typeset OpenCV_DIR=C:\utils\opencv\build
. - If you don’t have the Intel Math Kernel Library (MKL) installed, you can install it and follow the MKLDNN_README from here, or you can use OpenBLAS. These instructions will assume you're using OpenBLAS.
- Download the OpenBlas package. Later versions of OpenBLAS are available, but you would need to build from source. v0.2.19 is the most recent version that ships with binaries. Contributions of more recent binaries would be appreciated.
- Unzip the file, rename it to
OpenBLAS
and put it underC:\utils
. You can place the unzipped files and folders in another directory if you wish. - Set the environment variable
OpenBLAS_HOME
to point to the OpenBLAS directory that contains theinclude
andlib
directories and typeset OpenBLAS_HOME=C:\utils\OpenBLAS
on the command prompt(cmd
). - Download and install CUDA. If you already had CUDA, then installed VS2017, you should reinstall CUDA now so that you get the CUDA toolkit components for VS2017 integration. Note that the latest CUDA version supported by MXNet is 9.2. You might also want to find other CUDA verion on the Legacy Releases.
- Download and install cuDNN. To get access to the download link, register as an NVIDIA community user. Then follow the link to install the cuDNN and put those libraries into
C:\cuda
. - Download and install git if you haven't already.
After you have installed all of the required dependencies, build the MXNet source code:
- Start
cmd
in windows. - Download the MXNet source code from GitHub by using following command:
cd C:\ git clone https://github.com/apache/incubator-mxnet.git --recursive
- Verify that the
DCUDNN_INCLUDE
andDCUDNN_LIBRARY
environment variables are pointing to theinclude
folder andcudnn.lib
file of your CUDA installed location, andC:\incubator-mxnet
is the location of the source code you just cloned in the previous step. - Create a build dir using the following command and go to the directory, for example:
mkdir C:\incubator-mxnet\build cd C:\incubator-mxnet\build
- Compile the MXNet source code with
cmake
by using following command:cmake -G "Visual Studio 15 2017 Win64" -T cuda=9.2,host=x64 -DUSE_CUDA=1 -DUSE_CUDNN=1 -DUSE_NVRTC=1 -DUSE_OPENCV=1 -DUSE_OPENMP=1 -DUSE_BLAS=open -DUSE_LAPACK=1 -DUSE_DIST_KVSTORE=0 -DCUDA_ARCH_LIST=Common -DCUDA_TOOLSET=9.2 -DCUDNN_INCLUDE=C:\cuda\include -DCUDNN_LIBRARY=C:\cuda\lib\x64\cudnn.lib "C:\incubator-mxnet"
- Make sure you set the environment variables correctly (OpenBLAS_HOME, OpenCV_DIR) and change the version of the Visual studio 2017 to v14.11 before enter above command.
- After the CMake successfully completed, compile the MXNet source code by using following command:
msbuild mxnet.sln /p:Configuration=Release;Platform=x64 /maxcpucount
Option 2: Build with Visual Studio 2015
To build and install MXNet yourself using Microsoft Visual Studio 2015, you need the following dependencies. You may try a newer version of a particular dependency, but please open a pull request or issue to update this guide if a newer version is validated.
- If Microsoft Visual Studio 2015 is not already installed, download and install it. You can download and install the free community edition. At least Update 3 of Microsoft Visual Studio 2015 is required to build MXNet from source. Upgrade via it's
Tools -> Extensions and Updates... | Product Updates
menu. - Download and install CMake if it is not already installed.
- Download and install OpenCV.
- Unzip the OpenCV package.
- Set the environment variable
OpenCV_DIR
to point to theOpenCV build directory
(C:\opencv\build\x64\vc14
for example). Also, you need to add the OpenCV bin directory (C:\opencv\build\x64\vc14\bin
for example) to thePATH
variable. - If you don't have the Intel Math Kernel Library (MKL) installed, download and install OpenBlas.
- Set the environment variable
OpenBLAS_HOME
to point to theOpenBLAS
directory that contains theinclude
andlib
directories. Typically, you can find the directory inC:\Program files (x86)\OpenBLAS\
. - Download and install CUDA and cuDNN. To get access to the download link, register as an NVIDIA community user.
- Set the environment variable
CUDACXX
to point to theCUDA Compiler
(C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.1\bin\nvcc.exe
for example). - Set the environment variable
CUDNN_ROOT
to point to thecuDNN
directory that contains theinclude
,lib
andbin
directories (C:\Downloads\cudnn-9.1-windows7-x64-v7\cuda
for example).
After you have installed all of the required dependencies, build the MXNet source code:
- Download the MXNet source code from GitHub (make sure you also download third parties submodules e.g.
git clone --recurse-submodules
). - Use CMake to create a Visual Studio solution in
./build
. - In Visual Studio, open the solution file,
.sln
, and compile it. These commands produce a library calledmxnet.dll
in the./build/Release/
or./build/Debug
folder.
Next, we install graphviz
library that we use for visualizing network graphs you build on MXNet. We will also install Jupyter Notebook used for running MXNet tutorials and examples.
- Install graphviz
by downloading MSI installer from Graphviz Download Page.
Note Make sure to add graphviz executable path to PATH environment variable. Refer here for more details
- Install Jupyter
by installing Anaconda for Python 2.7
Note Do not install Anaconda for Python 3.5. MXNet has a few compatibility issues with Python 3.5.
We have installed MXNet core library. Next, we will install MXNet interface package for programming language of your choice: - Python - R - Julia - Scala is not yet available for Windows
Install the MXNet Package for Python
These steps are required after building from source. If you already installed MXNet by using pip, you do not need to do these steps to use MXNet with Python.
- Install
Python
using windows installer available here. - Install
Numpy
using windows installer available here. - Start
cmd
and create a folder namedcommon
(mkdir C:\common
) - Download the mingw64_dll.zip, unzip and copy three libraries (.dll files) that openblas.dll depends on to
C:\common
. - Copy the required .dll file to
C:\common
and make sure following libraries (.dll files) in the folder.libgcc_s_seh-1.dll (in mingw64_dll) libgfortran-3.dll (in mingw64_dll) libquadmath-0.dll (in mingw64_dll) libopenblas.dll (in OpenBlas folder you download) opencv_world341.dll (in OpenCV folder you download)
- Add
C:\common
to Environment Variables.- Type
control sysdm.cpl
oncmp
- Select the Advanced tab and click Environment Variables
- Double click the Path and click New
- Add
C:\common
and click OK
- Type
- Use setup.py to install the package.
bash # Assuming you are in root mxnet source code folder cd python python setup.py install
Done! We have installed MXNet with Python interface.
You can continue with using MXNet-Python, or if you want to try a different language API for MXNet, keep reading. Otherwise, jump ahead to next steps.
Install the MXNet Package for R
MXNet for R is available for both CPUs and GPUs.
Installing MXNet-R on a Computer with a CPU Processor
To install MXNet on a computer with a CPU processor, choose from two options:
- Use the prebuilt binary package
- Build the library from source code
Installing MXNet-R with the Prebuilt Binary Package(CPU)
For Windows users, MXNet provides prebuilt binary packages. You can install the package directly in the R console.
Note: packages for 3.6.x are not yet available. Install 3.5.x of R from CRAN.
For CPU-only package:
cran <- getOption("repos")
cran["dmlc"] <- "https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/R/CRAN/"
options(repos = cran)
install.packages("mxnet")
Building MXNet-R from Source Code(CPU)
- Clone the MXNet github repo.
sh git clone --recursive https://github.com/apache/incubator-mxnet
The--recursive
is to clone all the submodules used by MXNet. You will be editing the"/mxnet/R-package"
folder. - Download prebuilt GPU-enabled MXNet libraries for Windows from Windows release. You will need
mxnet_x64_vc14_cpu.7z
andprebuildbase_win10_x64_vc14.7z
where X stands for your CUDA toolkit version - Create a folder called
R-package/inst/libs/x64
. MXNet supports only 64-bit operating systems, so you need the x64 folder. - Copy the following shared libraries (.dll files) into the
R-package/inst/libs/x64
folder.libgcc_s_seh-1.dll libgfortran-3.dll libmxnet.dll libmxnet.lib libopenblas.dll libquadmath-0.dll mxnet.dll unzip.exe unzip32.dll vcomp140.dll wget.exe
These dlls can be found inprebuildbase_win10_x64_vc14/3rdparty
,mxnet_x64_vc14_cpu/build
,mxnet_x64_vc14_cpu/lib
. Copy the header files from
dmlc
,mxnet
,mxshadow
andnnvm
frommxnet_x64_vc14_cpu/include and mxnet_x64_vc14_cpu/nvnm/include
into./R-package/inst/include
. It should look like./R-package/inst └── include ├── dmlc ├── mxnet ├── mshadow └── nnvm
Make sure that R executable is added to your
PATH
in the environment variables. Running thewhere R
command at the command prompt should return the location.Also make sure that Rtools is installed and the executable is added to your
PATH
in the environment variables.Temporary patch - im2rec currently results in crashes during the build. Remove the im2rec.h and im2rec.cc files in R-package/src/ from cloned repository and comment out the two im2rec lines in R-package/src/mxnet.cc as shown below. ```
include "./kvstore.h"
include "./export.h"
//#include "./im2rec.h" ...... ...... DataIterCreateFunction::InitRcppModule(); KVStore::InitRcppModule(); Exporter::InitRcppModule(); //IM2REC::InitRcppModule(); } ```
Now open the Windows CMD with admin rights and change the directory to the
mxnet
folder(cloned repository). Then use the following commands to build R package:
echo import(Rcpp) > R-package\NAMESPACE
echo import(methods) >> R-package\NAMESPACE
Rscript -e "install.packages('devtools', repos = 'https://cloud.r-project.org')"
cd R-package
Rscript -e "library(devtools); library(methods); options(repos=c(CRAN='https://cloud.r-project.org')); install_deps(dependencies = TRUE)"
cd ..
R CMD INSTALL --no-multiarch R-package
Rscript -e "require(mxnet); mxnet:::mxnet.export('R-package')"
rm R-package/NAMESPACE
Rscript -e "require(devtools); install_version('roxygen2', version = '5.0.1', repos = 'https://cloud.r-project.org/', quiet = TRUE)"
Rscript -e "require(roxygen2); roxygen2::roxygenise('R-package')"
R CMD INSTALL --build --no-multiarch R-package
Installing MXNet-R on a Computer with a GPU Processor
To install MXNet on a computer with a GPU processor, choose from two options:
- Use the prebuilt binary package
- Build the library from source code
However, a few dependencies remain for both options. You will need the following: * Install Nvidia-drivers if not installed. Latest driver based on your system configuration is recommended.
Install Microsoft Visual Studio (VS2015 or VS2017 is required by CUDA)
Install NVidia CUDA Toolkit(cu92 is recommended though we support cu80, cu90, cu91 and cu92)
Download and install CuDNN (to provide a Deep Neural Network library). Latest version recommended.
Note: A pre-requisite to above softwares is Nvidia-drivers which we assume is installed.
Installing MXNet-R with the Prebuilt Binary Package(GPU)
For Windows users, MXNet provides prebuilt binary packages. You can install the package directly in the R console after you have the above software installed.
Note: packages for 3.6.x are not yet available. Install 3.5.x of R from CRAN.
For GPU package:
cran <- getOption("repos")
cran["dmlc"] <- "https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/R/CRAN/GPU/cu92"
options(repos = cran)
install.packages("mxnet")
Change cu92 to cu80, cu90 or cu91 based on your CUDA toolkit version. Currently, MXNet supports these versions of CUDA.
Building MXNet-R from Source Code(GPU)
After you have installed above software, continue with the following steps to build MXNet-R:
1. Clone the MXNet github repo.
sh
git clone --recursive https://github.com/apache/incubator-mxnet
The --recursive
is to clone all the submodules used by MXNet. You will be editing the "/mxnet/R-package"
folder.
2. Download prebuilt GPU-enabled MXNet libraries for Windows from https://github.com/yajiedesign/mxnet/releases. You will need mxnet_x64_vc14_gpu_cuX.7z
and prebuildbase_win10_x64_vc14.7z
where X stands for your CUDA toolkit version
3. Create a folder called R-package/inst/libs/x64
. MXNet supports only 64-bit operating systems, so you need the x64 folder.
4. Copy the following shared libraries (.dll files) into the R-package/inst/libs/x64
folder:
libgcc_s_seh-1.dll
libgfortran-3.dll
libmxnet.dll
libmxnet.lib
libopenblas.dll
libquadmath-0.dll
mxnet.dll
unzip.exe
unzip32.dll
vcomp140.dll
wget.exe
These dlls can be found in prebuildbase_win10_x64_vc14/3rdparty
, mxnet_x64_vc14_gpu_cuX/build
, mxnet_x64_vc14_gpu_cuX/lib
.
5. Copy the header files from dmlc
, mxnet
, mxshadow
and nnvm
from mxnet_x64_vc14_gpuX/include
and mxnet_x64_vc14_gpuX/nvnm/include
into ./R-package/inst/include
. It should look like:
./R-package/inst
└── include
├── dmlc
├── mxnet
├── mshadow
└── nnvm
6. Make sure that R executable is added to your PATH
in the environment variables. Running the where R
command at the command prompt should return the location.
7. Also make sure that Rtools is installed and the executable is added to your PATH
in the environment variables.
8. Temporary patch - im2rec currently results in crashes during the build. Remove the im2rec.h and im2rec.cc files in R-package/src/ from cloned repository and comment out the two im2rec lines in R-package/src/mxnet.cc as shown below.
```bash
include "./kvstore.h"
include "./export.h"
//#include "./im2rec.h"
......
......
DataIterCreateFunction::InitRcppModule();
KVStore::InitRcppModule();
Exporter::InitRcppModule();
//IM2REC::InitRcppModule();
}
``
9. Now open the Windows CMD with admin rights and change the directory to the
mxnet` folder(cloned repository). Then use the following commands
to build R package:
echo import(Rcpp) > R-package\NAMESPACE
echo import(methods) >> R-package\NAMESPACE
Rscript -e "install.packages('devtools', repos = 'https://cloud.r-project.org')"
cd R-package
Rscript -e "library(devtools); library(methods); options(repos=c(CRAN='https://cloud.r-project.org')); install_deps(dependencies = TRUE)"
cd ..
R CMD INSTALL --no-multiarch R-package
Rscript -e "require(mxnet); mxnet:::mxnet.export('R-package')"
rm R-package/NAMESPACE
Rscript -e "require(devtools); install_version('roxygen2', version = '5.0.1', repos = 'https://cloud.r-project.org/', quiet = TRUE)"
Rscript -e "require(roxygen2); roxygen2::roxygenise('R-package')"
R CMD INSTALL --build --no-multiarch R-package
Note: To maximize its portability, the MXNet library is built with the Rcpp end. Computers running Windows need MSVC (Microsoft Visual C++) to handle CUDA toolchain compatibilities.
Install the MXNet Package for Julia
The MXNet package for Julia is hosted in a separate repository, MXNet.jl, which is available on GitHub. To use Julia binding it with an existing libmxnet installation, set the MXNET_HOME
environment variable by running the following command:
export MXNET_HOME=/<path to>/libmxnet
The path to the existing libmxnet installation should be the root directory of libmxnet. In other words, you should be able to find the libmxnet.so
file at $MXNET_HOME/lib
. For example, if the root directory of libmxnet is ~
, you would run the following command:
export MXNET_HOME=/~/libmxnet
You might want to add this command to your ~/.bashrc
file. If you do, you can install the Julia package in the Julia console using the following command:
Pkg.add("MXNet")
For more details about installing and using MXNet with Julia, see the MXNet Julia documentation.
Installing the MXNet Package for Scala
MXNet-Scala is not yet available for Windows.


jvdstel
2016-12-21 13:01
has joined #cic_directie
jvdstel
2016-12-21 13:01
@jvdstel set the channel purpose: Channel for CIC Benelux MT internal communication
jvdstel
2016-12-21 13:32
@jvdstel has left the channel
ry
2017-01-18 20:42
has joined #cic_directie
ry
2017-01-18 20:43
@ry archived the channel (w/ 1 member)


Password Generator
Password Length
Include Uppercase Letter
Include lowercase Letter
Include numbers
Include Symbols
Generate Password


public interface AccountStats extends CMCommon
| Modifier and Type | Interface and Description |
|---|---|
static class |
AccountStats.PrideStat
The recorded player and account statistics.
|
| Modifier and Type | Method and Description |
|---|---|
void |
bumpPrideStat(AccountStats.PrideStat stat,
int amt)
Add to one of the pride stats for this player or account
|
long |
getAccountExpiration()
If the ACCOUNT system is used, this returns the time, in milis since
1970, that this account will expire (meaning the player will no longer
be able to log in)
|
java.lang.String |
getEmail()
Returns the players email address, if available.
|
java.util.Set<java.lang.String> |
getFriends()
Returns a modifiable HashSet that contains the set of player
Names that constitutes this players friends.
|
java.util.Set<java.lang.String> |
getIgnored()
Returns a modifiable HashSet that contains the set of player
Names that constitutes this players ignored player list.
|
long |
getLastDateTime()
The time, in milis since 1970, that the player last logged off.
|
java.lang.String |
getLastIP()
The last IP address this player logged in from.
|
long |
getLastUpdated()
The time, in milis since 1970, that the player was last saved.
|
java.lang.String |
getNotes()
Returns the administrative notes entered about this player.
|
java.lang.String |
getPasswordStr()
Returns the players password, perhaps encoded, perhaps plain text.
|
int |
getPrideStat(TimeClock.TimePeriod period,
AccountStats.PrideStat stat)
Get one of the pride stats for this player or account
|
java.lang.String |
getXML()
Returns an XML representation of all the data in this object, for
persistant storage.
|
boolean |
matchesPassword(java.lang.String str)
Returns the players password, perhaps encoded, perhaps plain text.
|
void |
setAccountExpiration(long newVal)
If the ACCOUNT system is used, this sets the time, in milis since
1970, that this account will expire (meaning the player will no longer
be able to log in)
|
void |
setEmail(java.lang.String newAdd)
Sets the players email address, if available.
|
void |
setLastDateTime(long C)
Sets the time, in milis since 1970, that the player last logged off.
|
void |
setLastIP(java.lang.String ip)
Sets the last IP address this player logged in from.
|
void |
setLastUpdated(long time)
Sets the time, in milis since 1970, that the player was last saved.
|
void |
setNotes(java.lang.String newnotes)
Sets the administrative notes entered about this player.
|
void |
setPassword(java.lang.String newPassword)
Sets the players password.
|
void |
setXML(java.lang.String str)
Restores the data in this object from an XML document.
|
copyOf, ID, initializeClass, name, newInstance
java.lang.String getEmail()
setEmail(String)
void setEmail(java.lang.String newAdd)
newAdd
- the players email address, if available.getEmail()
long getLastDateTime()
setLastDateTime(long)
void setLastDateTime(long C)
C
- the time, in milis since 1970, that the player last logged off.getLastDateTime()
long getLastUpdated()
setLastUpdated(long)
void setLastUpdated(long time)
time
- the time, in milis since 1970, that the player was last saved.getLastUpdated()
java.lang.String getPasswordStr()
setPassword(String)
,
matchesPassword(String)
boolean matchesPassword(java.lang.String str)
setPassword(String)
,
getPasswordStr()
void setPassword(java.lang.String newPassword)
newPassword
- the players password.getPasswordStr()
,
matchesPassword(String)
java.lang.String getLastIP()
setLastIP(String)
void setLastIP(java.lang.String ip)
ip
- the last IP address this player logged in from.getLastIP()
long getAccountExpiration()
setAccountExpiration(long)
void setAccountExpiration(long newVal)
newVal
- the time, in milis, that this player expires.getAccountExpiration()
java.lang.String getNotes()
setNotes(String)
void setNotes(java.lang.String newnotes)
newnotes
- the administrative notes entered about this player.getNotes()
java.util.Set<java.lang.String> getFriends()
java.util.Set<java.lang.String> getIgnored()
void bumpPrideStat(AccountStats.PrideStat stat, int amt)
stat
- which pride stat to add toamt
- the amount to addAccountStats.PrideStat
int getPrideStat(TimeClock.TimePeriod period, AccountStats.PrideStat stat)
period
- the time period to get the number forstat
- which pride stat to getAccountStats.PrideStat
java.lang.String getXML()
setXML(String)


| 1 | package fr.sii.ogham.core.sender; | |
| 2 | ||
| 3 | import static fr.sii.ogham.core.util.LogUtils.summarize; | |
| 4 | ||
| 5 | import java.util.ArrayList; | |
| 6 | import java.util.Arrays; | |
| 7 | import java.util.List; | |
| 8 | ||
| 9 | import org.slf4j.Logger; | |
| 10 | import org.slf4j.LoggerFactory; | |
| 11 | ||
| 12 | import fr.sii.ogham.core.exception.MessageException; | |
| 13 | import fr.sii.ogham.core.exception.MessageNotSentException; | |
| 14 | import fr.sii.ogham.core.exception.MultipleCauseExceptionWrapper; | |
| 15 | import fr.sii.ogham.core.message.Message; | |
| 16 | ||
| 17 | /** | |
| 18 | * Decorator implementation that will try to send the message until one | |
| 19 | * decorated sender is able to send it. The aim is that if a sender fails to | |
| 20 | * send the message, then another will send it. It can ensure that message will | |
| 21 | * be sent at any costs. | |
| 22 | * | |
| 23 | * @author Aurélien Baudet | |
| 24 | * | |
| 25 | */ | |
| 26 | public class FallbackSender implements MessageSender { | |
| 27 | private static final Logger LOG = LoggerFactory.getLogger(FallbackSender.class); | |
| 28 | ||
| 29 | /** | |
| 30 | * The list of senders to try one by one until one succeeds | |
| 31 | */ | |
| 32 | private List<MessageSender> senders; | |
| 33 | ||
| 34 | /** | |
| 35 | * Initialize either none, one or several senders to try one by one until | |
| 36 | * one succeeds. | |
| 37 | * | |
| 38 | * @param senders | |
| 39 | * the senders to register | |
| 40 | */ | |
| 41 | public FallbackSender(MessageSender... senders) { | |
| 42 | this(Arrays.asList(senders)); | |
| 43 | } | |
| 44 | ||
| 45 | /** | |
| 46 | * Initialize with the provided list of senders to try one by one until one | |
| 47 | * succeeds. | |
| 48 | * | |
| 49 | * @param senders | |
| 50 | * the senders to register | |
| 51 | */ | |
| 52 | public FallbackSender(List<MessageSender> senders) { | |
| 53 | super(); | |
| 54 | this.senders = senders; | |
| 55 | } | |
| 56 | ||
| 57 | @Override | |
| 58 | @SuppressWarnings("squid:S2221") | |
| 59 | public void send(Message message) throws MessageException { | |
| 60 | List<Exception> causes = new ArrayList<>(); | |
| 61 | for (MessageSender sender : senders) { | |
| 62 | try { | |
| 63 | LOG.debug("Try to send message {} using sender {}", summarize(message), sender); | |
| 64 |
2
1. send : removed call to fr/sii/ogham/core/sender/MessageSender::send → NO_COVERAGE 2. send : removed call to fr/sii/ogham/core/sender/MessageSender::send → KILLED |
sender.send(message); |
| 65 | LOG.debug("Message {} sent using sender {}", summarize(message), sender); | |
| 66 | return; | |
| 67 | } catch (Exception e) { | |
| 68 | LOG.debug("Message {} couldn't be sent using sender {}. Cause: {}", summarize(message), sender, e.getMessage()); | |
| 69 | LOG.trace("", e); | |
| 70 | causes.add(e); | |
| 71 | } | |
| 72 | } | |
| 73 | throw new MessageNotSentException("No sender could handle the message", message, new MultipleCauseExceptionWrapper(causes)); | |
| 74 | } | |
| 75 | ||
| 76 | /** | |
| 77 | * Register a new sender to try. The sender is added at the end. It will be | |
| 78 | * used only after all previously registered senders have failed. | |
| 79 | * | |
| 80 | * @param sender | |
| 81 | * the sender to register | |
| 82 | */ | |
| 83 | public void addSender(MessageSender sender) { | |
| 84 | senders.add(sender); | |
| 85 | } | |
| 86 | } | |
Mutations | ||
| 64 |
1.1 2.2 |


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/Simple.20question.20about.20online.20tutorial.20example.html ---
The following from the online Lean tutorial (Lean 2) doesn't work as is in Lean 3. I figured out that I needed to change underscores in the tutorial into inaccessibles in the mutual theorem. Fine. But I still don't see how to prove not_odd_zero
.
mutual inductive even, odd with even : ℕ → Prop | even_zero : even 0 | even_succ : ∀ n, odd n → even (n + 1) with odd : ℕ → Prop | odd_succ : ∀ n, even n → odd (n + 1) open even odd theorem not_odd_zero : ¬ (odd 0). mutual theorem even_of_odd_succ, odd_of_even_succ with even_of_odd_succ : ∀ n, odd (n + 1) → even n | .(n) (odd_succ n h) := h with odd_of_even_succ : ∀ n, even (n + 1) → odd n | .(n) (even_succ n h) := h
that works for me in 3.4.1
There is also no need for the mutual theorem, since the proof is non-recursive. This works too:
theorem even_of_odd_succ : ∀ n, odd (n + 1) → even n | .(n) (odd_succ n h) := h theorem odd_of_even_succ : ∀ n, even (n + 1) → odd n | .(n) (even_succ n h) := h
I know it doesn't need to be mutual. This is lifted as is (except the change to inaccessibles) from the tutorial. My vscode is using 3.2.x; Emacs is using 3.4.x. I'll fix that. Thanks.
{% endraw %}Last updated: Apr 24 2020 at 19:02 UTC


A graphic designer uses a computer to create a 3D or 2D design for videogames, of buildings, or of machines. They work either by themselves or in teams.


United Solutions blog, The Core, is visit- ed by credit union professionals. Written by subject matter experts, blog posts focus on the credit union industry and the technology revolving around it.
Read Here#AdultAmmyStrong was founded in September 2015 by Sarah Mahoney. The #AdultAmmyStrong blog focuses on adult equestrians. Written by Ambassadors of #AdultAmmyStrong, our goal is to connect the adult riding community.
Read HereHello and welcome to my website!
I am Elizabeth Noelk. I have always had a passion for the arts. I graduated from Florida State University in 2015 with a Studio Arts Degree. During my time at Florida State University, I was actively involved in the Florida State Equestrian Team. I pursued photography and learning as much as I could about the Adobe Suit products. Now, two years later, I am involved in all marketing aspect of United Solutions Company. From campaign develop- ment and content creation to press releases and implementation, I follow projects from start to nish. My portfolio will re ect the experience I have gained through working for United Solutions Company.
Please stay and look around for a while.


Hello players!
tx8.travian.com will start on Wednesday 19th of December 2012 as T4 Server with 8x speed.
The preregistration will be open on Monday the 17th of December 2012.
TRAVIAN is one of the most popular browser games in the world. As a player in TRAVIAN, you will build your own empire, recruit a mighty army, and fight with your allies for game world hegemony.
Construct and expand the buildings in your village. Buildings improve your overall infrastructure, increase your resource production and allow you to research, train and upgrade your troops.
View and interact with your surroundings. You can make new friends or new enemies, make use of the nearby oases and observe as your empire grows and becomes stronger.
Receive detailed reports about your adventures, trades and battles. Don't forget to check the brand new reports about the happenings taking place in your surroundings.
Exchange information and conduct diplomacy with other players. Always remember that communication is the key to winning new friends and solving old conflicts.


1
Read: In the name of thy Lord Who createth,
3
Read: And thy Lord is the Most Bounteous,
5
Teacheth man that which he knew not.
6
Nay, but verily man is rebellious
7
That he thinketh himself independent!
8
Lo! unto thy Lord is the return.
9
Hast thou seen him who dissuadeth
11
Hast thou seen if he relieth on the guidance (of Allah)
13
Hast thou seen if he denieth (Allah's guidance) and is froward ?
14
Is he then unaware that Allah seeth ?
15
Nay, but if he cease not We will seize him by the forelock -
16
The lying, sinful forelock -
17
Then let him call upon his henchmen!
18
We will call the guards of hell.
19
Nay, Obey not thou him. But prostrate thyself, and draw near (unto Allah).


23 January 2004
The Ministry of Public Health in Thailand has today informed WHO of two cases of H5N1 avian influenza in humans. Both cases, which are in children, are laboratory confirmed.
A WHO influenza reference centre in Thailand has been involved in the testing.
The first case is a 7-year-old boy from Suphanburi province who developed fever and cough on 3 January, and progressed to acute respiratory distress syndrome on 13 January. Test results received today have detected the H5N1 avian influenza virus strain in specimens taken from this patient.
The second case is a 6-year-old boy from Kanchanaburi province. He developed fever on 6 January, followed a week later by severe pneumonia with acute respiratory distress syndrome. Test results, made available to the Ministry of Public Health this morning, have detected the H5N1 avian influenza virus strain in specimens taken from this patient.
Both patients are alive.
WHO has also received official information that a 49-year-old man in Nakornsawan province, hospitalized with severe pneumonia, has been treated with antibiotics. His condition is now improving, suggesting that his illness has a bacterial, and not a viral cause.
WHO will be collaborating closely with health authorities in Thailand in responding to this situation.


FullwaveQC Documentation¶
-
class
fullwaveqc.tools.
Model
(filepath, name=None)¶ Class to store properties of SEG-Y 2D model files. Should be called only by the fullwaveqc.tools.load function.
-
class
fullwaveqc.tools.
SegyData
(filepath, name=None)¶ Class to store properties of SEG-Y data files. Should be called only by the fullwaveqc.tools.load function.
-
fullwaveqc.tools.
ampnorm
(Obs, Pred, ref_trace=0, verbose=1)¶ Normalises the amplitude of a predicted dataset with an observed dataset by matching the values of their maximum amplitudes of a reference trace.
- Parameters
Obs (fullwaveqc.tools.SegyData) – Object outputted from fullwaveqc.tools.load function for the observed data
Pred (fullwaveqc.tools.SegyData) – object outputted from fullwaveqc.tools.load function for the predicted data. Requires same number of samples, sampling interval, shots and receiver positions as Obs
ref_trace (int, optional) – Trace number to normalise each shot. For streamer data, this value should be 0 in order to normalise the shot to the first arrival of the first trace. Default 0
verbose (bool, optional) – Set to true to verbose the steps of this function. Default 1
- Returns
PredNorm – Object outputted from fullwaveqc.tools.load function with the normalise predicted data
- Return type
-
fullwaveqc.tools.
bandpass
(trace, flow, fhigh, forder, dt)¶ Band passes a trace using a Butter filter.
- Parameters
trace (numpy.array) – 1D array containing the signal in time domain
flow (float) – Low frquency to band pass (Hz)
fhigh (float) – High frquency to band pass (Hz)
forder (float) – Order of band pass filter, determines the steepnes of the transition band
dt (float) – Time sampling of the signal
- Returns
filtered – 1D array of same size as trace, with the filtered signal
- Return type
numpy.array
-
fullwaveqc.tools.
ddwi
(MonObs, BaseObs, BasePred, normalise=True, name=None, mon_filepath=None, save=False, save_path='./', verbose=1)¶ Creates the monitor dataset used as the observed dataset for the Double Difference Waveform Inversion. The DDWI monitor dataset is given by: u_mon = d_mon - d_base + u_base Where d_mon and d_base are the observed monitor and baseline datasets, respectively, and u_base is the dataset from a predicted baseline inversion model. Note: If data delay has been applied to BaseObs and MonObs, the resulting ddwi dataset will already have the data delay applied.
- Parameters
MonObs (fullwaveqc.tools.SegyData) – Object outputted from fullwaveqc.tools.load function for the true monitor data
BaseObs (fullwaveqc.tools.SegyData) – Object outputted from fullwaveqc.tools.load function for the true baseline data. Requires same number of samples, sampling interval, shots and receiver position as MonObs
BasePred (fullwaveqc.tools.SegyData) – Object outputted from fullwaveqc.tools.load function for the predicted baseline data. Requires same number of samples, sampling interval, shots and receiver position as MonObs
normalise (bool, optional) – If true will normalise the amplitude of the predicted baseline dataset to match the first trace of the observed dataset. Does so shot by shot. Default True
name (str, optional) – Name to give the DDWI dataset, if None will give the name “DDWI-DATASET”. Default None
mon_filepath (str, optional) – Path to the observed monitor dataset. Must end in .sgy. Required if save option is set to True. Default None.
save (bool, optional) – Set to true if the DDWI dataset is to be saved in .sgy format. Default False
save_path (str, optional) – Path to folder where DDWI must be saved. Default “./”
verbose (bool, optional) – Set to true in order to verbose the steps of this function. Default 1
- Returns
MonDiff – Object outputted from fullwaveqc.tools.load function with the DDWI monitor data
- Return type
Notes
mon_filepath must be given if save is set to True. Saving occurs by copying and modifying the monitor SEG-Y headers and traces.
-
fullwaveqc.tools.
load
(filepath, model, name=None, scale=1, verbose=1)¶ Loads a SEG-Y file into a SegyData or Model class, used for the other functionalities of the fullwaveqc package. Accepts 2D segy files and of the same sampling interval for all shots and segy model files with square cells. It is HIGHLY recommended that the attributes of this function are checked manually after loading, as different SEG-Y header formats are likely to be loaded incorrectly. This function is adapted to the SEGY header format of the outputs of Fullwave3D.
- Parameters
filepath (str) – Path to segy file. Must end in .sgy
model (bool) – Set true to load a Model and false to load a SegyData object
name (str, optional) – Name to give the data/model object. If None is given, name is inferred from .sgy file. Default is None
scale (int, optional) – Value to multiply the data content of the files. Default 1
verbose (bool, optional) – Set to true in order to verbose the steps of this loading function. Default True
- Returns
segy or model
- Return type
fullwaveqc.tools.SegyData or fullwaveqc.tools.Model, depending on parameter model given
-
fullwaveqc.tools.
rm_empty_traces
(filename, scale=1, verbose=1)¶ Removes all-zero traces of a SEG-Y file and saves the copy of the clean file in the same directory
- Parameters
filename (str) – Path to SEG-Y file, must end in .sgy
scale (int, optional) – Value to multiply the data content of the files. Default 1
verbose (bool, optional) – Set to true in order to verbose the steps of this loading function. Default True
- Returns
- Return type
None
-
fullwaveqc.tools.
set_verbose
(verbose)¶ Function to set the verbose print level :param verbose: Verbose level, set to true to display verbose :type verbose: bool
- Returns
verbose_print(message) – Function to display verbose message in console
- Return type
lamda function
-
fullwaveqc.tools.
smooth_model
(Model, strength=[1, 1], w=[None, None, None, None], slowness=True, name=None, save=False, save_path='./', verbose=1)¶ Smoothes a model using scipy’s gaussian filter in “reflect” mode.
- Parameters
Model (fullwaveqc.tools.Model) – Object outputted from fullwaveqc.tools.load function for a model. Must have a valid filepath attribute.
strength (list[floats], optional) – [horizontal_smoothing_factor, vertical_smoothing_factor]. Default [1,1]
w (list[ints], optional) – Windowing of the smoothing. Smoothing will be applied to the internal window created by the rectangle determined by [cells_from_top, cells_from bottom, cells_from_left, cells_from_right]. If None is given, then either the be ginning or end will of the model will be used. Default [None, None, None, None]
slowness (bool, optional) – If True will smooth the slowness instead of velocities. Slowness defined as the reciprocal value of velocity and is commonly preferred in smoothing. Default True
name (str, optional) – name of the new smoothed model. If None it will be inferred from Model. Default None
save (bool, optional) – Set to true in order to save the model in .sgy format. Requires that Model has a valid filepath attribute. Default False
save_path (str, optional) – Path to save the .sgy smoothed model. Default “./”
verbose (bool, optional) –
- Returns
SmoothModel – Object as outputted from fullwaveqc.tools.load function containing the smoothed model
- Return type
-
fullwaveqc.geom.
boundarycalc
(d, dx, fmin, vmax)¶ Calculates the number of absorbing boundaries and number of cells from the source recommended for a Fullwave run without reflections and interferences. Number of absorbing boundaries computed as to guarantee it covers two of the largest wavelengths. Distance from source computed to guarantee one Fresnel zone between the source and the first receiver. The total number of padding cells above the source should therefore be nabsorb + ndist.
- Parameters
d (float) – distance between source and first receiver in units of distance (meters)
dx (float) – size of model cell in units of distance (meters)
fmin (float) – minimum frequency present in the wavelet (Hz)
vmax (float) – maximum P-wave velocity expected from the models (m/s)
- Returns
nabsorb (int) – number of absorbing boundary cells recommended for the specific problem
ndist (int) – number of padded cells from the source to the start of the absorbing boundaries
-
fullwaveqc.geom.
surveygeom
(rcvgeopath, srcgeopath, src_list=[], plot=False, verbose=0)¶ Retrieves and plots the in-line positions of the survey array as understood from SegyPrep.
- Parameters
rcvgeopath (str) – path to file <PROJECT_NAME>-Receivers.geo generated by SegyPrep
srcgeopath (str) – path to file <PROJECT_NAME>-Sources.geo generated by SegyPrep
src_list (list, optional) – list of source/shot numbers to retrieve and plot. Empty list returns all positions. Default: []
plot (bool, optional) – If true will plot the shots and receivers of src_list. Default:False
verbose (bool, optional) – If true will print to console the steps of this function. Default: False
- Returns
src_ret (list) – list of all in-line positions from the sources in src_list
rcv_ret (list) –
- list of numpy.arrays, for each source in src_list, with its array of in-line
receiver positions
-
fullwaveqc.visual.
amplitude
(SegyData, shot=1, cap=0.0, levels=50, vmin=None, vmax=None, cmap=<matplotlib.colors.LinearSegmentedColormap object>, xstart=0, xend=None, wstart=0, wend=None, save=False, save_path='./')¶ Plots the amplitude map of a SegyData object in timesamples (dt units) vs receiver index. Uses properties of matplotlib.contourf.
- Parameters
SegyData (fullwaveqc.tools.SegyData) – object outputted from fullwaveqc.tools.load function for the segy data
shot (int, optional) – shot number to visualise. Count starts from 1. Default 1
cap (float, optional) – absolute value of amplitudes to cap, shown as 0. See matplotlib.pyplot.contourf parameters. Default 0
levels (int, optional) – amount of levels in the contour plot. See matplotlib.pyplot.contourf parameters. Default 50
vmin (float, optional) – min val of color plot scale. See matplotlib.pyplot.contourf parameters. Default None.
vmax (float, optional) – max val of color plot scale. See matplotlib.pyplot.contourf parameters. Default None.
cmap (matplotlib.pyplot.cm) – colormap. Default plt.cm.seismic
xstart (int, optional) – first receiver index to plot. Default 0.
xend (int, optional) – last receiver index to plot. Default None
wstart (int, optional) – first timesample in time units to plot. Default 0
wend (int, optional) – last timesample in time units to plot. Default None
save (bool, optional) – set to true in order to save the plot in png 300dpi. Default False
save_path (str, optional) – path to save the plot. Default “./”
- Returns
- Return type
None
-
fullwaveqc.visual.
animateinv
(it_max, path, project_name, vmin=None, vmax=None, cmap=<matplotlib.colors.LinearSegmentedColormap object>, save=False, save_path='./', verbose=0)¶ Animates the evolution of an inversion progression outputted by Fullwave3D. Files searched for must be named: <project_name>-CPxxxxx-Vp.sgy and be all located in the same path folder.
- Parameters
it_max (int) – max amount of iterations to be animated
path (str) – path to folder where .sgy model files are located
project_name (str) – name of the project – must match exactly
vmin (float, optional) – min val of color plot scale. See matplotlib.pyplot.contourf parameters. Default None.
vmax (float, optional) – max val of color plot scale. See matplotlib.pyplot.contourf parameters. Default None.
cmap (matplotlib.pyplot.cm) – colormap. Default plt.cm.jet
save (bool, optional) – set to true in order to save the animation. Default False
save_path (str, optional) – path to save the plot. Default “./”
verbose (bool, optional) – If set to True will verbose the main steps of the function calculation. Default True.
- Returns
- Return type
None
-
fullwaveqc.visual.
interamp
(SegyData1, SegyData2, shot=1, shot2=None, n_blocks=2, cap=0.0, levels=50, vmin=None, vmax=None, cmap=<matplotlib.colors.LinearSegmentedColormap object>, wstart=0, wend=None, xstart=0, xend=None, save=False, save_path='./')¶ Plots the interleaving amplitude map of a SegyData1 and SegyData2 objects in timesamples vs receiver index. Uses properties of matplotlib.contourf.
- Parameters
SegyData1 (fullwaveqc.tools.SegyData) – object outputted from fullwaveqc.tools.load function for the segy data
SegyData2 (fullwaveqc.tools.SegyData) – object outputted from fullwaveqc.tools.load function for the segy data Requires same number of samples, sampling interval, shots and receiver positions as SegyData1
shot (int, optional) – shot number to visualise SegyData1. Count starts from 1. Default 1
shot2 (int, optional) – shot number to visualise SegyData2. Count starts from 1. If None, will . be read the same as ‘shot’. Default None
n_blocks (int, optional) – Number of total blocks in the interleaving space
levels (int, optional) – amount of levels in the contour plot. See matplotlib.pyplot.contourf parameters. Default 50
cap (float, optional) – absolute value of amplitudes to cap, shown as 0. Default 0.
vmin (float, optional) – min val of color plot scale. See matplotlib.pyplot.contourf parameters. Default None.
vmax (float, optional) – max val of color plot scale. See matplotlib.pyplot.contourf parameters. Default None.
cmap (matplotlib.pyplot.cm) – colormap. Default plt.cm.seismic
xstart (int, optional) – first receiver index to plot. Default 0.
xend (int, optional) – last receiver index to plot. Default None
wstart (int, optional) – first timesample in time units to plot. Default 0
wend (int, optional) – last timesample in time units to plot. Default None
save (bool, optional) – set to true in order to save the plot in png 300dpi. Default False
save_path (str, optional) – path to save the plot. Default “./”
- Returns
- Return type
None
-
fullwaveqc.visual.
interwiggle
(SegyData1, SegyData2, shot=1, shot2=None, overlay=0, scale=5, skip_trace=20, skip_time=0, delay_samples=0, wstart=0, wend=None, xstart=0, xend=None, label1='SegyData1', label2='SegyData2', save=False, save_path='./')¶ Plots the interleaving wiggle trace map of a SegyData1 and SegyData2 objects in timesamples vs receiver index.
- Parameters
SegyData1 (fullwaveqc.tools.SegyData) – object outputted from fullwaveqc.tools.load function for the segy data
SegyData2 (fullwaveqc.tools.SegyData) – object outputted from fullwaveqc.tools.load function for the segy data Requires same number of samples, sampling interval, shots and receiver positions as SegyData1
shot (int, optional) – shot number to visualise SegyData1. Count starts from 1. Default 1
shot2 (int, optional) – shot number to visualise SegyData2. Count starts from 1. If None, will be read the same as ‘shot’. Default None
overlay (int, optional) – If +ve, traces will be overlaid in different colours instead of being displayed side by side. Overlay=1 overlays with all filled colors, overlay=2 overlays with SegyData2 as filled colors and SegyData1 as conotur. Default 0
scale (float, optional) – value to scale the amplitude of the wiggles for visualisation only. Default 1
skip_trace (int, optional) – Number of traces to skip. Default 20.
skip_time (int, optional) – Number of time samples to skip. Default 0
delay_samples (int, optional) – number of time samples to delay the signal. Will pad the signal with 0s at the beginning of each trace. Default 0.
xstart (int, optional) – first receiver index to plot. Default 0.
xend (int, optional) – last receiver index to plot. Default None
wstart (int, optional) – first timesample in time units to plot. Default 0
wend (int, optional) – last timesample in time units to plot. Default None
label1 (str, optional) – Label for SegyData1. Default SegyData1
label2 (str, optional) – Label for SegyData2. Default SegyData2
save (bool, optional) – set to true in order to save the plot in png 300dpi. Default False
save_path (str, optional) – path to save the plot. Default “./”
- Returns
- Return type
None
-
fullwaveqc.visual.
vpmodel
(Model, cap=0.0, levels=200, vmin=None, vmax=None, cmap=<matplotlib.colors.LinearSegmentedColormap object>, units='m/s', save=False, save_path='./')¶ Plots the P-velocity amplitude map of a Model object in depth and lateral offset. Uses properties of matplotlib.contourf.
- Parameters
Model (fullwavqc.tools.Model) – object outputted from fullwaveqc.tools.load function for a model
levels (int, optional) – amount of levels in the contour plot. See matplotlib.pyplot.contourf parameters. Default 200
cap (float, optional) – absolute value of amplitudes to cap, shown as 0. Default 0.
vmin (float, optional) – min val of color plot scale. See matplotlib.pyplot.contourf parameters. Default None.
vmax (float, optional) – max val of color plot scale. See matplotlib.pyplot.contourf parameters. Default None.
cmap (matplotlib.pyplot.cm) – colormap. Default plt.cm.jet
units (str, optional) – units of amplitudes to show in colorbar. Default m/s
save (bool, optional) – set to true in order to save the plot in png 300dpi. Default False
save_path (str, optional) – path to save the plot. Default “./”
- Returns
- Return type
None
-
fullwaveqc.visual.
vpwell
(Model, pos_x, TrueModel=None, plot=True)¶ Retrieves the Vp well profile from a Model at specified locations
- Parameters
Model (fullwaveqc.SegyData.Model) – object outputted from fullwaveqc.tools.load function for a model
pos_x (list(ints)) – lateral distances to which retrieve the well data
TrueModel (fullwaveqc.SegyData.Model, optional) – object outputted from fullwaveqc.tools.load function for the true model. Default None
plot (bool, optional) – Plots the profiles when set to true.
- Returns
wells (list[numpy.array]) – Well values with depth
true_wells (list[numpy.array]) – Only if TrueModel is given. True well values with depth
rmses (list[numpy.array]) – Only if TrueModel is given. RMS errors between true well and predicted well values.
-
fullwaveqc.visual.
wiggle
(SegyData, shot=1, scale=5, skip_trace=20, skip_time=0, wstart=0.0, wend=None, xstart=0, xend=None, delay_samples=0, save=False, save_path='./')¶ Plots the wiggle trace map of a SegyData object in timesamples vs receiver index.
- Parameters
SegyData (fullwaveqc.tools.SegyData) – object outputted from fullwaveqc.tools.load function for the segy data
shot (int, optional) – shot number to visualise SegyData1. Count starts from 1. Default 1
scale (float, optional) – value to scale the amplitude of the wiggles for visualisation only. Default 1
skip_trace (int, optional) – Number of traces to skip. Default 20.
skip_time (int, optional) – Number of time samples to skip. Default 0
xstart (int, optional) – first receiver index to plot. Default 0.
xend (int, optional) – last receiver index to plot. Default None
wstart (int, optional) – first timesample in time units to plot. Default 0
wend (int, optional) – last timesample in time units to plot. Default None
delay_samples (int, optional) – number of time samples to delay the signal. Will pad the signal with 0s at the beginning of each trace. Default 0.
save (bool, optional) – set to true in order to save the plot in png 300dpi. Default False
save_path (str, optional) – path to save the plot. Default “./”
- Returns
- Return type
None
-
fullwaveqc.siganalysis.
closest2pow
(n)¶ Finds the first integer greater or equal to n that is a power of 2
- Parameters
n (float) – any positive number
- Returns
n2pow – the first integer greater or equal to n that is an exact power of two
- Return type
int
- Raises
ValueError if n is less or equal to zero –
-
fullwaveqc.siganalysis.
dataspec
(SegyData, ms=True, shot=1, fmax=None, fft_smooth=3, plot=False)¶ Returns and plots the frequency spectrum of a single shot of a dataset. Does so by stacking the frequencies of each individual trace.
- Parameters
SegyData (fullwaveqc.tools.SegyData) – object outputted from fullwaveqc.tools.load function containing the dataset
ms (bool, optional) – Set to true if sampling rate in Wavelet object is in miliseconds, otherwise assumed in seconds. Default: True
shot (int, optional) – Shot number to compute the frequency spectrum. Default 1
fmax (float, optional) – Value of the highest frequency expected in the signal. Default: None
plot (bool, optional) – Will plot the wavelet in time and wave frequencies if set to True. Default: False
fft_smooth (int, optional) – Parameter used to multiply the number of samples inputted into the Fast Fourier Transform. Increase this factor for a smoother plot. The final number of sample points will be the nearest power of two of fft_smooth multiplied by the original number of time samples in the signal. Higher value increases computational time. Default: 3
- Returns
xf (numpy.array) – 1D array containing the frequencies
yf (numpy.array) – 1D array containing the power of the frequencies in dB
phase (numpy.array) – 1D array containing the unwrapped phases at each frequency
-
fullwaveqc.siganalysis.
gausswindow
(samples, wstart, wend, dt)¶ Create a gaussian function to window a signal. Standard deviation of the gaussian function is equivalent to one quarter the window width
- Parameters
samples (int) – Total of points in the function
wstart (int) – Start time of the window (ms)
wend (int) – End time of the window (ms)
dt (float) – Time sampling of the signal(ms)
- Returns
w – 1D array of a gaussian window of size (samples, 1)
- Return type
numpy.array
-
fullwaveqc.siganalysis.
phasediff
(PredData, ObsData, f=1, wstart=200, wend=1000, nr_min=0, nr_max=None, ns_min=0, ns_max=None, ms=True, fft_smooth=3, unwrap=True, plot=False, verbose=1)¶ Computes and plots the phase difference between an observed and predicted dataset, at a single specified frequency, for all receivers and shots. Will present undesired unwrapping effects in the presence of noise or low-amplitude signal. Calculates phase_observed - phase_predicted.
- Parameters
PredData (fullwaveqc.tools.SegyData) – object outputted from fullwaveqc.tools.load function
ObsData (fullwaveqc.tools.SegyData) – object outputted from fullwaveqc.tools.load function. Should have the same time sampling as PredData
f (float, optional) – Frequency in Hz at which the phase difference should be calculated. Default: 1
wstart (int, optional) – Time sample to which start the window for the phase difference computation. Default: 200
wend (int, optional) – Time sample to which end the window for the phase difference computation.If negative will take the entire shot window. Default: 1000
nr_min (int, optional) – Minimum receiver index to which calculate the phase difference. Default 0.
nr_max (int, optional) –
- Maximum receiver index to which calculate the phase difference. If None is given, then number of receivers
is inferred from the datasets. Default None.
ns_min (int, optional) – Minimum source/shot index to which calculate the phase difference. Default: 0
ns_max (int, optional) – Maximum source/shot index to which calculate the phase difference. If None is given then number of sources is inferred from the datasets. Default: None
ms (bool, optional) – Set to true if sampling rate in Wavelet object is in miliseconds, otherwise assumed in seconds. Default: True
fft_smooth (int, optional) – Parameter used to multiply the number of samples inputted into the Fast Fourier Transform. Increase this factor for a smoother plot. The final number of sample points will be the nearest power of two of fft_smooth multiplied by the original number of time samples in the signal. Higher value increases computational time. Default: 3
unwrap (bool, optional) – If set to true will perform phase unwrapping in the receiver domain. For a detailed discussion of how these might affect the phase difference results, refer to the project report in the Github repository. Default True
plot (bool, optional) – Will plot the phase difference if set to True. Default: False
verbose (bool, optional) – If set to True will verbose the main steps of the function calculation. Default True.
- Returns
phase_pred (numpy.array) – 2D array of size (ns_max, nr_max) with the unwrapped phases of the predicted dataset at the specified frequency
phase_obs (numpy.array) – 2D array of size (ns_max, nr_max) with the unwrapped phases of the observed dataset at the specified frequency
phase_diff (numpy.array) – phase_diff 2D array of size (ns_max-ns_min, nr_max-nrmin) with the unwrapped phase differences between the observed and predicted datasets at the specified frequency
-
fullwaveqc.siganalysis.
wavespec
(Wavelet, ms=True, fmax=None, plot=False, fft_smooth=3)¶ Returns and plots the frequency spectrum of a source wavelet.
- Parameters
Wavelet (fullwaveqc.tools.SegyData) – object outputted from fullwaveqc.tools.load function with the wavelet data
ms (bool, optional) – Set to true if sampling rate in Wavelet object is in miliseconds, otherwise assumed in seconds. Default: True
fmax (float, optional) – Value of the highest frequency expected in the signal. Default: None
plot (bool, optional) – Will plot the wavelet in time and wave frequencies if set to True. Default: False
fft_smooth (int, optional) – Parameter used to multiply the number of samples inputted into the Fast Fourier Transform. Increase this factor for a smoother plot. The final number of sample points will be the nearest power of two of fft_smooth multiplied by the original number of time samples in the signal. Higher value increases computational time. Default: 3
- Returns
xf (numpy.array) – 1D array containing the frequencies
yf (numpy.array) – 1D array containing the power of the frequencies in dB
phase (numpy.array) – 1D array containing the unwrapped phases at each frequency
-
fullwaveqc.siganalysis.
xcorr
(PredData, ObsData, wstart=0, wend=-1, nr_min=0, nr_max=None, ns_min=0, ns_max=None, ms=True, plot=False, verbose=1)¶ Computes and plots the cross-correlation between an observed and predicted dataset using numpy.correlate. Traces are normalised to unit length for comparison
- Parameters
PredData (fullwaveqc.tools.SegyData) – object outputted from fullwaveqc.tools.load function
ObsData (fullwaveqc.tools.SegyData) – object outputted from fullwaveqc.tools.load function
wstart (int, optional) – Time sample to which start the window for the phase difference computation. Default: 0
wend (int, optional) – Time sample to which end the window for the phase difference computation.If negative will use the entire shot window. Default -1.
nr_min (int, optional) – Minimum receiver index to which calculate the phase difference. Default 0.
nr_max (int, optional) –
- Maximum receiver index to which calculate the phase difference. If None is given, then number of receivers
is inferred from the datasets. Default None.
ns_min (int, optional) – Minimum source/shot index to which calculate the phase difference. Default: 0
ns_max (int, optional) – Maximum source/shot index to which calculate the phase difference. If None is given then number of sources is inferred from the datasets. Default: None
ms (bool, optional) – Set to true if sampling rate in Wavelet object is in miliseconds, otherwise assumed in seconds. Default: True
plot (bool, optional) – Will plot the phase difference if set to True. Default: False
verbose (bool, optional) – If set to True will verbose the main steps of the function calculation. Default True.
- Returns
xcorr_arr – 2D array of size (ns_max, nr_max) with the normalised cross correlation values
- Return type
numpy.array
-
fullwaveqc.inversion.
functional
(filepath, name=None, plot=False)¶ Retrieves and plots the global functional value of an inversion run with Fullwave3D as recorded in the job log file
- Parameters
filepath (str) – path to <PROJECT_NAME>_job,log file
name (str) – name of the project. If not given, will be inferred from filename. Default: None
plot (bool) – if true will produce a plot of the functional values vs iterations. Default: False
- Returns
iter_all (numpy.array) – array of iteration numbers of the run of size (number_of_iterations, 1)
func (numpy.array) – array of functional of size (number_of_iterations, 1)
-
fullwaveqc.inversion.
steplen
(filepath, name=None, plot=False)¶ Retrieves and plots the global functional value of an inversion run with Fullwave3D as recorded in the job log file
- Parameters
filepath (str) – path to <PROJECT_NAME>_job,log file
name (str) – name of the project. If not given, will be inferred from filename. Default: None
plot (bool) – if true will produce a plot of the step length values vs iterations. And highlight in red all negative step length values. Default: False
- Returns
iter_all (numpy.array) – array of iteration numbers of the run of size (number_of_iterations, 1)
func (numpy.array) – array of step length values of size (number_of_iterations, 1)


I'm A Celebrity's Adele Roberts accuses Roman Kemp of 'prejudice' in heated row
The first argument of this year's I'm A Celebrity kicks off in dramatic style when Adele Roberts bickers with Roman Kemp over a very serious topic - Jane McDonald
by Irishmirror.ieAdele Roberts and Roman Kemp were embroiled in the first heated row of this year's I'm A Celebrity.
The first argument of the series kick off in dramatic style when Adele started bickering with Roman over a very serious topic.
Brexit ? The upcoming election? Who will win the Premier League? No...they actually got into a vicious row over JANE MCDONALD.
An initial squabble over the cruise ship queen turned very sour when furious Adele accuses Roman of "prejudice" when he offended Jane.
Stunned Roman immediately apologised, but the tension remained as the pair get into a confrontation over a photo of the former Loose Women star.
The clash started when Roman admitted he was puzzled why Adele chose a picture of Jane McDonald as her luxury item.
When asked if she knows any of her songs, Adele said: “I know her off Loose Women, I don’t know her actual songs but I know her from the cruising show when she does covers.”
Giggling Roman caused offence when he claimed: "No one knows what she does."
Kate insisted Jane was a "legend", but confused Roman replied: "She’s a legend is she? Name a song?"
The Good Morning Britain presenter failed to name a song and Myles and Roman continued to laugh.
This angered Adele, who explained: "She’ll cruise around the world, for example she’d go to Iceland and then sing a Bjork or would go to the USA and sing Proud Mary."
When Roman repeated that it was "random", Adele asked: "Why though? I don’t understand."
"But if I had brought in a picture of Ru-Paul would you have the same reaction?"
Roman continued to claim it was "random", before being accused of "prejudice" by the former Big Brother contestant.
She strongly insisted: "That’s prejudice, I’m allowed to like what I want."
Realising he had upset Adele, Martin Kemp's apologetic son said: "I wasn’t saying that at all, I’m sorry, I didn’t mean to."
But the bickering did not stop there as Roman claimed he found the situation "funny".
Adele sarcastically asked: "I’m not allowed to like what I want?"
The DJ got Kate's backing and Roman apologised once again for winding Adele up.
She said: "It’s fine, you are just going on about it so much…"
With the tense atmosphere unsettling the rest of the campmates - the pair agreed to put their differences aside and hugged.
Kate awkwardly joked: "It’s just fun around camp."
Is this the start of a major rivalry in camp?
* I'm A Celebrity...Get Me Out Of Here! airs on ITV at 9pm


Before Change
self.generator = generator
if size is not None and (type(size) is not int or size < 1):
raise ValueError("The total size of the dataset must be an integer greater than zero.")
self.size = size
if type(batch_size) is not int or batch_size < 1:
raise ValueError("The batch size must be an integer greater than zero.")
self.batch_size = batch_size
def get_batch(self):
Provide the next batch for training in the form of a tuple `(x, y)`. The generator should loop over the data
After Change
:param batch_size: Size of the minibatches.
:type batch_size: `int`
super(KerasDataGenerator, self).__init__(size=size, batch_size=batch_size)
self.generator = generator
def get_batch(self):


yab − yet another benchmarker
yab [<service> <method> <body>] [OPTIONS]
yab is a benchmarking tool for TChannel and HTTP applications. It’s primarily intended for Thrift applications but supports other encodings like JSON and binary (raw). It can be used in a curl-like fashion when benchmarking features are disabled.
yab includes a full man page (man yab), which is also available online: http://yarpc.github.io/yab/man.html
Default options can be specified in a ~/.config/yab/defaults.ini file (or ~/Library/Preferences/yab/defaults.ini on Mac) with contents similar to this:
[request]
timeout = 2s
[transport]
peer-list = "/path/to/peer/list.json"
[benchmark]
warmup = 10
Application Options
|
−v |
Enable more detailed logging. Repeats increase the verbosity, ie. -vvv |
−−version
Displays the application version
Request
Options
Configures the request data and the encoding.
To make Thrift requests, specify a Thrift file and pass the Thrift service and procedure to the method argument (-m or --method) as Service::Method.
$ yab -p localhost:9787 kv -t kv.thrift -m KeyValue::Count -r ’{}’
You can also use positional arguments to specify the method and body:
$ yab -p localhost:9787 -t kv.thrift kv KeyValue::Count ’{}’
The TChannel health endpoint can be hit without specifying a Thrift file by passing --health.
Thrift requests can be specified as JSON or YAML. For example, for a method defined as:
void addUser(1: string name, 2: i32 age)
You can pass the request as JSON: {"name": "Prashant", age: 100} or as YAML:
name: Prashant
age: 100
The request body can be specified on the command line using -r or --request:
$ yab -p
localhost:9787 -t kv.thrift kv \
KeyValue::Get -r ’{"key":
"hello"}’
Or it can be loaded from a file using -f or --file:
$ yab -p localhost:9787 -t kv.thrift kv KeyValue::Get --file req.yaml
To make a proto requrest, specify a compiled FileDescriptorSet and pass the fully qualified service an method name as procedure.
$ yab -p
localhost:5435 --file-descriptor-set-bin proto.bin \
service package.Service/Method -r ’{"key":
"value"}’
A FileDescriptorSet can be generated using the --descriptor_set_out= flag in protoc.
Request options can also be specified in a YAML file, e.g., get.yab:
service: kv
peer: localhost:9787
method: KeyValue::get
thrift: kv.thrift
request:
key: hello
The above YAML file represents the same request as the command above, and can be run using yab -y get.yab.
You can make the request by directly executing the file (./get.yab) if you add a shebang and mark the file as executable:
#!/usr/bin/env yab
service: kv
peer: localhost:9787
method: KeyValue::get
thrift: kv.thrift
request:
key: hello
YAML templates can use arguments using ${ARGNAME:default_value} in the body, which can be specified on the command line using -A. If an argument is not specified on the command line, then the default value is used. For example, we can update the YAML template to take an argument for the key:
#!/usr/bin/env yab
service: kv
peer: localhost:9787
method: KeyValue::get
thrift: kv.thrift
request:
key: ${key:hello}
If no key is specified on the command line, the default value of "hello" is used as the key. However we can specify the key on the command line:
$ ./get.yab -A key:world
A YAML template may have multiple keys and multiple keys can be specified on the command line:
$ ./set.yab -A key:hello -A value:world
Binary data can be specified in one of many ways:
|
• |
As a string or an array of bytes: "data" or [100, 97, 116, 97] |
||
|
• |
As base64: {"base64": "ZGF0YQ=="} |
||
|
• |
Loaded from a file: {"file": "data.bin"} |
Examples:
$ yab -p
localhost:9787 -t kv.thrift kv -m KeyValue::Set \
-r ’{"key": "hello",
"value": [100, 97, 116, 97]}’
$ yab -p
localhost:9787 -t kv.thrift kv KeyValue::Set \
-r ’{"key": "hello",
"value": {"file":
"data.bin"}}’
−e, −−encoding
The encoding of the data, options are: Thrift, proto, JSON, raw. Defaults to Thrift if the method contains ’::’ or a Thrift file is specified. Defaults to proto if the method contains ’/’ or a proto filedescriptorset is specified
−t, −−thrift
Path of the .thrift file
−F, −−file-descriptor-set-bin
A binary file containing a compiled protobuf FileDescriptorSet.
−−procedure
The full method name to invoke (Thrift: Svc::Method, Proto: package.Service/Method).
−m, −−method
Alias for procedure
−r, −−request
The request body, in JSON or YAML format
−f, −−file
Path of a file containing the request body in JSON or YAML
−H, −−header
Individual application header as a key:value pair per flag
−−headers
The headers in JSON or YAML format
−−headers-file
Path of a file containing the headers in JSON or YAML
−B, −−baggage
Individual context baggage header as a key:value pair per flag
−−health
Hit the health endpoint, Meta::health
−−timeout
The timeout for each request. E.g., 100ms, 0.5s, 1s. If no unit is specified, milliseconds are assumed.
−y, −−yaml-template
Send a tchannel request specified by a YAML template
−A, −−arg
A list of key-value template arguments, specified as -A foo:bar -A user:me
−−disable-thrift-envelope
Disables Thrift envelopes (disabled by default for TChannel and gRPC)
−−multiplexed-thrift
Enables the Thrift TMultiplexedProtocol used by services that host multiple Thrift services on a single endpoint.
Transport
Options
Configures the network transport used to make requests.
yab can target both TChannel and HTTP endpoints. To specify a TChannel endpoint, specify the peer’s host and port:
$ yab -p localhost:9787 [options]
or
$ yab -p tchannel://localhost:9787 [options]
For HTTP endpoints, specify the URL as the peer,
$ yab -p http://localhost:8080/thrift [options]
The Thrift-encoded body will be POSTed to the specified URL.
Multiple peers can be specified using a peer list using -P or --peer-list. When making a single request, a single peer from this list is selected randomly. When benchmarking, connections will be established in a round-robin fashion, starting with a random peer.
$ yab --peer-list hosts.json [options]
−s, −−service
The TChannel/Hyperbahn service name
−p, −−peer
The host:port of the service to call
−P, −−peer-list
Path or URL of a JSON, YAML, or flat file containing a list of host:ports. -P? for supported protocols.
−−caller
Caller will override the default caller name (which is yab-$USER).
|
−−rk |
The routing key overrides the service name traffic group for proxies. |
||
|
−−rd |
The routing delegate overrides the routing key traffic group for proxies. |
||
|
−−sk |
The shard key is a transport header that clues where to send a request within a clustered traffic group. |
−−jaeger
Use the Jaeger tracing client to send Uber style traces and baggage headers
−T, −−topt
Transport options for TChannel, protocol headers for HTTP
−−http-method
The HTTP method to use
Benchmark
Options
Configures benchmarking, which is disabled by default.
By default, yab will only make a single request. To enable benchmarking, specify the maximum duration for the benchmark by passing -d or --max-duration.
yab will make requests until either the maximum requests (-n or --max-requests) or the maximum duration is reached.
You can control the rate at which yab makes requests using the --rps flag.
An example benchmark command might be:
$ yab -p localhost:9787 moe --health -n 100000 -d 10s --rps 1000
This would make requests at 1000 RPS until either the maximum number of requests (100,000) or the maximum duration (10 seconds) is reached.
By default, yab
will create multiple connections (defaulting to the number
of CPUs on the machine), but will only have one concurrent
call per connection. The number of connections and
concurrent calls per connection can be controlled using
--connections and --concurrency.
−n, −−max-requests <default:
"0">
The maximum number of requests to make. 0 implies no limit.
−d, −−max-duration <default: "0s">
The maximum amount of time to run the benchmark for. 0 implies no duration limit.
|
−−cpus |
The number of OS threads |
−−connections
The number of TCP connections to use
−−warmup <default: "10">
The number of requests to make to warmup each connection
−−concurrency <default: "1">
The number of concurrent calls per connection
−−rps <default: "0">
Limit on the number of requests per second. The default (0) is no limit.
−−statsd
Optional host:port of a StatsD server to report metrics
−−per-peer-stats
Whether to emit stats by peer rather than aggregated
Help Options
−h, −−help
Show this help message


Please create an account in order to access site's data. If you alreay have an account, you can login here.


Sample comes with a Perl Module with the signature logic and a Perl script that uses the module to perform a simple ItemLookup operation.
To get started with the sample, follow these steps:
Ensure the pre-requisite Perl Modules are installed and usable
Log in to the AWS portal at http://aws.amazon.com/ and copy your AWS Access Key ID and your AWS Secret Key.
You can find them under the Your Account -> Access Identifiers menu after you log in.
Extract the amazon-product-advt-api-sample-perl-query.zip file into a working directory.
Open the SignedRequestSample.pl file in an editor and change the myAWSId and myAWSSecret values
to match the ones you obtained from AWS.


Emulator for Testing SMS Interface
Please ensure that readsms.cf and ccsmsgate.cgi is set up correctly for the interface that you are testing Cardboardfish, Aql or Gammu
Message
INCOMING use for Cardboardfish
Sender Mobile Number (in format:<PHONE_NUMBER>77)
Id
Status
Look at debugging log file


{% load templatetag_handlebars %} {% tplhandlebars saved_query_not_found %}
The dataset you are requesting cannot be loaded. It may have been deleted by the owner or you no longer have access to view it.


{% extends "templates/web.html" %} {% block title %}Membership Details{% endblock %} {% block page_content %}
You must first sign up and login to become a member
You have never been a member of EPAAS Foundation. Click on the button below to start a new membership
{% elif dataent.utils.getdate(last_membership.to_date) < dataent.utils.getdate(dataent.utils.nowdate()) %}Your Membership has expired, Click the button below to start a new membership
{% elif dataent.utils.getdate(dataent.utils.add_days(last_membership.to_date, -30)) < dataent.utils.getdate(dataent.utils.nowdate())%}Your Membership is due to expire soon. Click on the button below to renew
{% else %}Welcome back {{ last_membership.membership_type }} Member!
Your membership is due to expire on {{ dataent.format_date(last_membership.to_date) }}.
{% endif %}
{% if last_membership %}
| Membership Number | Membership Type | From | To | Amount |
|---|---|---|---|---|
| {{ membership.name }} | {{ membership.membership_type }} | {{ dataent.format_date(membership.from_date) }} | {{ dataent.format_date(membership.to_date) }} | {{ dataent.utils.fmt_money(membership.amount,currency=dataent.db.get_value("Currency",membership.currency,"symbol")) }} |


When Calls the Heart - Behind the Scenes - Hallmark / Super Channel
When Calls The Heart
Distributor: Hallmark Channel / Super Channel
Cast: Erin Krakow, Daniel Lissing, Lori Loughlin, Chelah Horsdal
Executive Producers: Michael Landon Jr., Brian Bird
Author: Janette Oke
Behind the Scenes Video edited by Rick Rose


This page represents an entry point for a web-based interface to our sample employee directory management application. In a real situation the application would do its own access control and provide viewing and potentially data manipulation opportunities for the user. It may be useful for the OneBox provider to pass contextual information such as the user's query and the user's identity information to the application (e.g. through the URL's querystring).


First I'll start with a small bit of background. I have been going through some really tough times in my life due to relationship problems, causing me to drink alcohol excessively more often than I know is good for me. So in order to try to gain some new perspective and heal myself from my depression and addictive tendencies I decided to try Ayahuasca for the first time. I also was eager to compliment it with the San Pedro because I've read many reports that it can have a good synergistic effect with the DMT and Harmaline. I have only experimented with the San Pedro once before and it brought on immense feelings of euphoria which I thought should go well with the intensity of the Ayahuasca brew.
I set about brewing the materials around 3pm, I did the basic lemon and water extraction for all the plant material. I brewed the Cactus for about an hour, the Mimosa for 45 minutes, and the rue for 5 minutes. All were then let to cool in the fridge and then filtered through a tea strainer and then through a cotton pillowcase.
The experience begins at 6pm when I took my first drink of the Rue Tea. I decided to take a hot shower to relax my muscles and calm myself before the storm. The rue started to kick in almost immediately I felt that rising sensation associated with coming up on plant medicine. I got out of the shower, sat in front of my computer to set up some good music for the night and then drank another small cup of the rue and then half of my cactus brew as well.
After that I started to feel more rising energy and a strong feeling of spaciness and I was staring at my curtains a lot, trying to see if there were any distortions in my sight. None yet, I knew the cactus would take about 2 hours to fully kick in so I sat and enjoyed the music while sitting in a meditative position in my chair. After about an hour or so I was beginning to feel the cactus coming on lightly and I got up and began to dance a little. I then decided I might as well down the rest of my cactus because I knew it was a smaller dose and I wanted to try to take it as far as I could go.
I really wanted to have a life-changing and perspective-renewing experience. Not much changed between hour 1 and hour 2, then right at about the 2 hour mark I was laying on the floor and the visuals started coming on, ever so lightly at first. I decided now was the time to drop my Ayahuasca. I took a bit more of the Rue and then drank about an ounce or so of the Mimosa brew. It was so bitter and disgusting tasting, but I got it down and managed to hold it down for about 10 minutes before I went to the bathroom to purge. I purged and felt this force of healing wash over me, I knew my body needed to expel this brew for now and that the spasms of my body and the gasping in my breath were all doing me a service in renewing the energy within me. I felt cleansed. I got up washed my face and then all at once the whole world was becoming distorted and yet crystal clear and beautiful.
Everything started shifting and I felt a huge sense of profundity hit me and it wouldn't let go. I started to cry and cry in huge waves where I would sob and let out all my breath and hold it that way for as long as I could. I was being healed, the medicine was working. I knew I needed to cry so hard to cleanse my mind and body of my recent depression and confusion. This was all about the 2.5 hour mark.
 While I was dancing I realized that there is so much to everything we do as humans, everything happens for a reason, everything has beauty in it, even the sadness and the pain. All while I was dancing I also felt as if this was just another wave I was riding...'before I was crying, now I am dancing, who knows what is next'.
I started to see that the true moments that matter in our lives are the spaces between everything. The one millisecond that it takes to change the position of your finger or hand in the air while dancing. Everything slowed down and I felt awash in a watery ocean of color, light, sound, and motion as I danced with fluidity that I am not as able to do sober. I was really feeling in the moment.
After dancing for what was probably ten minutes (though it felt more like an hour), I decided I wanted to play my drumset. This was at around 8:50...I remember because I was also having a slight questioning if the neighbors would be okay with that at this hour, after a little deliberation and reality checking I said to myself 'It's saturday night before 10, it's fine'. My internal dialogue was increasing with frightening speed at this point and I needed an outlet. So I sat down to play the drums as I've never played them before. At first it was quite awkward because my motor skills were starting to waver, but after a moment I got into the groove and could feel the beat better than ever before. I played for about 10 minutes or so and then decided to drink some more of the ayahuasca. I poured a much smaller amount this time so as to try to keep it down and intensify the experience that much more. I got it down and kept it down this time.
This was when I started to feel like I was moving out of my body. I was dwelling a lot on my recent breakup with my girlfriend and was feeling the need for some company so I went downstairs and scooped up our housecat Melvin (who is a girl) and took her upstairs into my room to hang out. I could clearly see in her that she was in a dreamy dopey state due to being scooped from sleepy darkness into my tripped out, music inundated world. It took her a few moments to adjust and cuddle up and I felt immense love at that point for this little creature.
I started to think about how the Egyptians used to worship cats as divine creatures. All the sense of profundity I was feeling in everything went to the cat at this time. I began to speak to her and tell her she was amazing and beautiful and sexy. She was a little goddess creature sitting in my lap providing me with love and comfort. I told her I loved her and that we were in this together. I felt I was speaking to all females, all beauty, all over the universe and that this cat was just a representation of that feminine grace and warmth.
After sitting with the cat for a little while I decided it would be nice to lie down and snuggle with her so I got my bed all comfy and invited her to come lay beside me and get cozy. I closed my eyes and went deeply into my mind at this point. I began to think of numbers and how they are all connected, and the same with space, and time, and it all was becoming one. I was really feeling the ayahuasca and cacti meet in this beautiful and comforting feeling in my mind. It was overwhelming as well as calming and serene. I began to hear and at the same time chant the message 'everything is okay, everything is okay' Repeating this mantra very slowly brought me into a place of pure ecstasy.  I was lost in the music and in God now. This was around 3.5 hour mark.
I felt awash with love and renewal and healing waves. I began to see circles in the music and thought of how the entire universe is made of circles and spheres and how the circle is the most basic construct of the universe. Our lives go in circles or waves, around and around and up and down. Curves and waves and circles became me.  I went back to numbers and time and realized everything that is happening has happened and will happen forever. All time is one point that is inside of a circle wrapping around into itself. I then looked at my drumset, my favorite instrument, basically all circles. the rims, the cylindrical shapes of the drums being just circles over circles. The cymbals...all circles. Beats that are made repeat back around just like a circle. I then started to feel that I had died and I was enlightened. Which I was, I was lost in time, lost in space, no ego, I was full of light.
The visions needless to say were amazing the whole time and full of that profound feeling, but aside from the visions which were so fast and shifting I could barely hold on...was the FEELING. I felt like I was one with God. Full on spiritual enlightenment. This lasted as waves of orgasmic pleasure spread all over my body and I reveled in it. This went on for what seemed like forever, accordingly.
After a while I got up out of my bed and came back to 'normal' reality. I reflected on my experience in the bed and knew that I had received all of the positive and healing messages I was meant to receive from the ayahuasca spirit. I put on some Metal and started to dance again for a while until finally I felt the need for some human company. I ventured out and up to my roommates loft to hang out. They knew I had taken those substances and asked how I was and also made comments about how it was weird to be doing those things when no one else was (none of them do anything other than drink alcohol or smoke pot occasionally).
I told them it was medicine and I felt I needed to do it. I said they didn't offend me with their comment or anything and tried to say that I had just experienced everything I could experience so whatever they said was okay with me. We settled in and watched Close Encounters of the Third Kind. An appropriate feature for the end of my night. This was at the 5 hour mark or so. I began to come down and was getting chilly so I went down to my room to grab a blanket, smoked another couple of tokes on my pipe and went back up to watch the movie.
That was basically the end of the night. The movie was quite entertaining but after seeing God an hour and a half before that I felt I was just trying to settle down and feel comfortable for this coming down portion of the trip. After the movie I went to bed and had restless sleep but slept better than I have been sleeping for the past 2 weeks. ( That was another reason I wanted to take this medicine was to clear my mind and thus heal my recent lack of sleep). This was all last night and today I am feeling a huge sense of hope and renewal, as if I died, went to heaven, and was reborn all in a few hours. I can say with utmost certainty that it was the single most profound and beautiful experience I have ever had. Wow!
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Module expand_hosts
source code
This module is for enhancing ansible's inventory parsing capability
such that it can deal with hostnames specified using a simple pattern in
the form of [beg:end], example: [1:5], [a:c], [D:G]. If beg is not
specified, it defaults to 0.
If beg is given and is left-zero-padded, e.g. '001', it is taken as a
formatting hint when the range is expanded. e.g. [001:010] is to be
expanded into 001, 002 ...009, 010.
Note that when beg is specified with left zero padding, then the
length of end must be the same as that of beg, else an exception is
raised.
|
|
detect_range(line=None)
A helper function that checks a given host line to see if it contains
a range pattern described in the docstring above. |
source code
|
|
|
|
expand_hostname_range(line=None)
A helper function that expands a given line that contains a pattern
specified in top docstring, and returns a list that consists of the
expanded version. |
source code
|
|
|
|
__package__ = None
hash(x)
|
Imports:
__metaclass__,
string,
errors
|
A helper function that checks a given host line to see if it contains
a range pattern described in the docstring above.
Returnes True if the given line contains a pattern, else False.
|
|
A helper function that expands a given line that contains a pattern
specified in top docstring, and returns a list that consists of the
expanded version.
The '[' and ']' characters are used to maintain the pseudo-code
appearance. They are replaced in this function with '|' to ease string
splitting.
References:
http://ansible.github.com/patterns.html#hosts-and-groups
|


Teretana Pobednik
Yoga is an ancient discipline which is being developed for millenia. It is a relaxing type of training which will improve your flexibility i and eliminate your stress. The very goal of Yoga is to have you leave the gym with a smile on your face, after you reach the ubity of body, heart and mind. This training consists of stretching and relaxation, and doing multiple postures as well.
Yoga is a training suitable for everybody.


Lorem Ipsum is simply dummy typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.
Lorem Ipsum is simply dummy typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.
Vivamus metus turpis, bubenfum vitea euimod
Vivamus metus turpis, bubenfum vitea euimod