With all the capabilities of neoan3, using the framework as a pure backend has been the most common use case. As production ready, testable development of APIs is possible within the same time as scaffolding and mocking would take, it is clear why this use-case is so popular. As all functional restrictions and assumptions have already been presented in API routing, we want to present some common examples here.
//... in api component "post", assuming the use of JwtWrapper provider as "auth"
// define update endpoint
function putPost($body)
{
// throw a 401 authenticated response when no valid authentication is present
// otherwise, assign the json web token content to $jwt
$jwt = $this->provider['auth']->restrict();
$model = $this->loadModel(PostModel::class);
// check if currently authenticated user is the owner of the post
if($model::get($body['id'])['user_id'] !== $jwt->getUserId()){
throw new RouteException('no permission to edit this entry', 401);
}
// all checks ok? Then update post
return $model::update($body);
}
//... in api component "post", assuming the use of JwtWrapper provider as "auth"
// define update endpoint
// throw a 401 authenticated response when no valid authentication is present
// otherwise, assign the json web token content to the frame's $auth
#[Authorization('restrict')]
// initialize model
#[InitModel(PostModel::class)]
function putPost($body)
{
// check if currently authenticated user is the owner of the post
if(PostModel::get($body['id'])['user_id'] !== $this->auth->getUserId()){
throw new RouteException('no permission to edit this entry', 401);
}
// all checks ok? Then update post
return PostModel::update($body);
}
function getPost($id = null, $search = [])
{
$model = $this->loadModel(PostModel::class);
// reacting to e.g. /api.v1/post/123ABC123ABC
if($id){
return $model::get($id);
}
// reacting to e.g. /api.v1/post?slug=my-post
return $model::find($search);
}
#[InitModel(PostModel::class)]
function getPost($id = null, $search = [])
{
// reacting to e.g. /api.v1/post/123ABC123ABC
if($id){
return PostModel::get($id);
}
// reacting to e.g. /api.v1/post?slug=my-post
return PostModel::find($search);
}


Jacuzzi spa and salon is a high-end zone , the very first in East India . From Jacuzzi bath tub spa to bridal makeup , the best solution in your town is JSS ( Jacuzzi Spa and Salon)
Be A High_Tech AND Happy FAMILY.


|
ProcessMemoryWrapper.Net
1.0.0
|
Implements performant Read- and WriteProcessMemory using InlineIL. More...
Static Public Member Functions | |
| static bool | CloseProcess (IntPtr handle) |
| Closes an open object handle. More... | |
| static IntPtr | OpenProcess (ProcessAccessFlags desiredAccess, int processId) |
| Opens an existing local process object. More... | |
| static bool | ReadProcessMemory (IntPtr handle, IntPtr baseAddress, IntPtr buffer, IntPtr size) |
| Reads data from an area of memory in a specified process. The entire area to be read must be accessible or the operation fails. More... | |
| static bool | ReadProcessMemory (IntPtr handle, IntPtr baseAddress, IntPtr buffer, IntPtr size, ref IntPtr numberOfBytesRead) |
| Reads data from an area of memory in a specified process. The entire area to be read must be accessible or the operation fails. More... | |
| static byte [] | ReadProcessMemory (IntPtr handle, IntPtr baseAddress, int size) |
| Reads data from an area of memory in a specified process. The entire area to be read must be accessible or the operation fails. More... | |
| static byte [] | ReadProcessMemory (IntPtr handle, IntPtr baseAddress, int size, ref IntPtr numberOfBytesRead) |
| Reads data from an area of memory in a specified process. The entire area to be read must be accessible or the operation fails. More... | |
| static T | ReadProcessMemory< T > (IntPtr handle, IntPtr baseAddress) |
| Reads data from an area of memory in a specified process. The entire area to be read must be accessible or the operation fails. More... | |
| static T | ReadProcessMemory< T > (IntPtr handle, IntPtr baseAddress, ref IntPtr numberOfBytesRead) |
| Reads data from an area of memory in a specified process. The entire area to be read must be accessible or the operation fails. More... | |
| static T [] | ReadProcessMemory< T > (IntPtr handle, IntPtr baseAddress, int size) |
| Reads data from an area of memory in a specified process. The entire area to be read must be accessible or the operation fails. More... | |
| static T [] | ReadProcessMemory< T > (IntPtr handle, IntPtr baseAddress, int size, ref IntPtr numberOfBytesRead) |
| Reads data from an area of memory in a specified process. The entire area to be read must be accessible or the operation fails. More... | |
| static bool | WriteProcessMemory (IntPtr handle, IntPtr baseAddress, IntPtr buffer, IntPtr size) |
| Writes data to an area of memory in a specified process. The entire area to be written to must be accessible or the operation fails. More... | |
| static bool | WriteProcessMemory (IntPtr handle, IntPtr baseAddress, IntPtr buffer, IntPtr size, ref IntPtr numberOfBytesWritten) |
| Writes data to an area of memory in a specified process. The entire area to be written to must be accessible or the operation fails. More... | |
| static bool | WriteProcessMemory (IntPtr handle, IntPtr baseAddress, byte[] buffer) |
| Writes data to an area of memory in a specified process. The entire area to be written to must be accessible or the operation fails. More... | |
| static bool | WriteProcessMemory (IntPtr handle, IntPtr baseAddress, byte[] buffer, ref IntPtr numberOfBytesWritten) |
| Writes data to an area of memory in a specified process. The entire area to be written to must be accessible or the operation fails. More... | |
| static bool | WriteProcessMemory< T > (IntPtr handle, IntPtr baseAddress, T buffer) |
| Writes data to an area of memory in a specified process. The entire area to be written to must be accessible or the operation fails. More... | |
| static bool | WriteProcessMemory< T > (IntPtr handle, IntPtr baseAddress, T buffer, ref IntPtr numberOfBytesWritten) |
| Writes data to an area of memory in a specified process. The entire area to be written to must be accessible or the operation fails. More... | |
| static bool | WriteProcessMemory< T > (IntPtr handle, IntPtr baseAddress, T[] buffer) |
| Writes data to an area of memory in a specified process. The entire area to be written to must be accessible or the operation fails. More... | |
| static bool | WriteProcessMemory< T > (IntPtr handle, IntPtr baseAddress, T[] buffer, ref IntPtr numberOfBytesWritten) |
| Writes data to an area of memory in a specified process. The entire area to be written to must be accessible or the operation fails. More... | |
Implements performant Read- and WriteProcessMemory using InlineIL.
|
static |
Closes an open object handle.
| handle | A valid handle to an open object. |
|
static |
Opens an existing local process object.
| desiredAccess | The access to the process object. This access right is checked against the security descriptor for the process. This parameter can be one or more of the process access rights. |
| processId | The identifier of the local process to be opened. |
|
static |
Reads data from an area of memory in a specified process. The entire area to be read must be accessible or the operation fails.
| handle | A handle to the process with memory that is being read. The handle must have PROCESS_VM_READ access to the process. |
| baseAddress | A pointer to the base address in the specified process from which to read. Before any data transfer occurs, the system verifies that all data in the base address and memory of the specified size is accessible for read access, and if it is not accessible the function fails. |
| buffer | A pointer to a buffer that receives the contents from the address space of the specified process. |
| size | The number of bytes to be read from the specified process. |
|
static |
Reads data from an area of memory in a specified process. The entire area to be read must be accessible or the operation fails.
| handle | A handle to the process with memory that is being read. The handle must have PROCESS_VM_READ access to the process. |
| baseAddress | A pointer to the base address in the specified process from which to read. Before any data transfer occurs, the system verifies that all data in the base address and memory of the specified size is accessible for read access, and if it is not accessible the function fails. |
| buffer | A pointer to a buffer that receives the contents from the address space of the specified process. |
| size | The number of bytes to be read from the specified process. |
| numberOfBytesRead | A IntPtr which receives the number of bytes read. |
|
static |
Reads data from an area of memory in a specified process. The entire area to be read must be accessible or the operation fails.
| handle | A handle to the process with memory that is being read. The handle must have PROCESS_VM_READ access to the process. |
| baseAddress | A pointer to the base address in the specified process from which to read. Before any data transfer occurs, the system verifies that all data in the base address and memory of the specified size is accessible for read access, and if it is not accessible the function fails. |
| size | The number of bytes to be read from the specified process. |
|
static |
Reads data from an area of memory in a specified process. The entire area to be read must be accessible or the operation fails.
| handle | A handle to the process with memory that is being read. The handle must have PROCESS_VM_READ access to the process. |
| baseAddress | A pointer to the base address in the specified process from which to read. Before any data transfer occurs, the system verifies that all data in the base address and memory of the specified size is accessible for read access, and if it is not accessible the function fails. |
| size | The number of bytes to be read from the specified process. |
| numberOfBytesRead | A IntPtr which receives the number of bytes read. |
|
static |
Reads data from an area of memory in a specified process. The entire area to be read must be accessible or the operation fails.
| T | The type of the data to return. |
| handle | A handle to the process with memory that is being read. The handle must have PROCESS_VM_READ access to the process. |
| baseAddress | A pointer to the base address in the specified process from which to read. Before any data transfer occurs, the system verifies that all data in the base address and memory of the specified size is accessible for read access, and if it is not accessible the function fails. |
|
static |
Reads data from an area of memory in a specified process. The entire area to be read must be accessible or the operation fails.
| T | The type of the data to return. |
| handle | A handle to the process with memory that is being read. The handle must have PROCESS_VM_READ access to the process. |
| baseAddress | A pointer to the base address in the specified process from which to read. Before any data transfer occurs, the system verifies that all data in the base address and memory of the specified size is accessible for read access, and if it is not accessible the function fails. |
| numberOfBytesRead | A IntPtr which receives the number of bytes read. |
|
static |
Reads data from an area of memory in a specified process. The entire area to be read must be accessible or the operation fails.
| T | The type of the data to return. |
| handle | A handle to the process with memory that is being read. The handle must have PROCESS_VM_READ access to the process. |
| baseAddress | A pointer to the base address in the specified process from which to read. Before any data transfer occurs, the system verifies that all data in the base address and memory of the specified size is accessible for read access, and if it is not accessible the function fails. |
| size | The number of bytes to be read from the specified process. |
|
static |
Reads data from an area of memory in a specified process. The entire area to be read must be accessible or the operation fails.
| T | The type of the data to return. |
| handle | A handle to the process with memory that is being read. The handle must have PROCESS_VM_READ access to the process. |
| baseAddress | A pointer to the base address in the specified process from which to read. Before any data transfer occurs, the system verifies that all data in the base address and memory of the specified size is accessible for read access, and if it is not accessible the function fails. |
| size | The number of bytes to be read from the specified process. |
| numberOfBytesRead | A IntPtr which receives the number of bytes read. |
|
static |
Writes data to an area of memory in a specified process. The entire area to be written to must be accessible or the operation fails.
| handle | A handle to the process memory to be modified. The handle must have PROCESS_VM_WRITE and PROCESS_VM_OPERATION access to the process. |
| baseAddress | A pointer to the base address in the specified process to which data is written. Before data transfer occurs, the system verifies that all data in the base address and memory of the specified size is accessible for write access, and if it is not accessible, the function fails. |
| buffer | A pointer to the buffer that contains data to be written in the address space of the specified process. |
| size | The number of bytes to be written to the specified process. |
|
static |
Writes data to an area of memory in a specified process. The entire area to be written to must be accessible or the operation fails.
| handle | A handle to the process memory to be modified. The handle must have PROCESS_VM_WRITE and PROCESS_VM_OPERATION access to the process. |
| baseAddress | A pointer to the base address in the specified process to which data is written. Before data transfer occurs, the system verifies that all data in the base address and memory of the specified size is accessible for write access, and if it is not accessible, the function fails. |
| buffer | A pointer to the buffer that contains data to be written in the address space of the specified process. |
| size | The number of bytes to be written to the specified process. |
| numberOfBytesWritten | A IntPtr receiving the number of bytes written to the specified process. |
|
static |
Writes data to an area of memory in a specified process. The entire area to be written to must be accessible or the operation fails.
| handle | A handle to the process memory to be modified. The handle must have PROCESS_VM_WRITE and PROCESS_VM_OPERATION access to the process. |
| baseAddress | A pointer to the base address in the specified process to which data is written. Before data transfer occurs, the system verifies that all data in the base address and memory of the specified size is accessible for write access, and if it is not accessible, the function fails. |
| buffer | A pointer to the buffer that contains data to be written in the address space of the specified process. |
|
static |
Writes data to an area of memory in a specified process. The entire area to be written to must be accessible or the operation fails.
| handle | A handle to the process memory to be modified. The handle must have PROCESS_VM_WRITE and PROCESS_VM_OPERATION access to the process. |
| baseAddress | A pointer to the base address in the specified process to which data is written. Before data transfer occurs, the system verifies that all data in the base address and memory of the specified size is accessible for write access, and if it is not accessible, the function fails. |
| buffer | A pointer to the buffer that contains data to be written in the address space of the specified process. |
| numberOfBytesWritten | A IntPtr receiving the number of bytes written to the specified process. |
|
static |
Writes data to an area of memory in a specified process. The entire area to be written to must be accessible or the operation fails.
| T | The type of the data to write. |
| handle | A handle to the process memory to be modified. The handle must have PROCESS_VM_WRITE and PROCESS_VM_OPERATION access to the process. |
| baseAddress | A pointer to the base address in the specified process to which data is written. Before data transfer occurs, the system verifies that all data in the base address and memory of the specified size is accessible for write access, and if it is not accessible, the function fails. |
| buffer | A pointer to the buffer that contains data to be written in the address space of the specified process. |
|
static |
Writes data to an area of memory in a specified process. The entire area to be written to must be accessible or the operation fails.
| T | The type of the data to write. |
| handle | A handle to the process memory to be modified. The handle must have PROCESS_VM_WRITE and PROCESS_VM_OPERATION access to the process. |
| baseAddress | A pointer to the base address in the specified process to which data is written. Before data transfer occurs, the system verifies that all data in the base address and memory of the specified size is accessible for write access, and if it is not accessible, the function fails. |
| buffer | A pointer to the buffer that contains data to be written in the address space of the specified process. |
| numberOfBytesWritten | A IntPtr receiving the number of bytes written to the specified process. |
|
static |
Writes data to an area of memory in a specified process. The entire area to be written to must be accessible or the operation fails.
| T | The type of the data to write. |
| handle | A handle to the process memory to be modified. The handle must have PROCESS_VM_WRITE and PROCESS_VM_OPERATION access to the process. |
| baseAddress | A pointer to the base address in the specified process to which data is written. Before data transfer occurs, the system verifies that all data in the base address and memory of the specified size is accessible for write access, and if it is not accessible, the function fails. |
| buffer | A pointer to the buffer that contains data to be written in the address space of the specified process. |
|
static |
Writes data to an area of memory in a specified process. The entire area to be written to must be accessible or the operation fails.
| T | The type of the data to write. |
| handle | A handle to the process memory to be modified. The handle must have PROCESS_VM_WRITE and PROCESS_VM_OPERATION access to the process. |
| baseAddress | A pointer to the base address in the specified process to which data is written. Before data transfer occurs, the system verifies that all data in the base address and memory of the specified size is accessible for write access, and if it is not accessible, the function fails. |
| buffer | A pointer to the buffer that contains data to be written in the address space of the specified process. |
| numberOfBytesWritten | A IntPtr receiving the number of bytes written to the specified process. |
| const ProcessAccessFlags ProcessMemoryWrapper.ProcessWrapper.ProcessAllocateAccess = ProcessAccessFlags.VirtualMemoryOperation |
Provides a constant for OpenProcess with memory operation access.
| const ProcessAccessFlags ProcessMemoryWrapper.ProcessWrapper.ProcessExecuteAccess = ProcessReadWriteAccess | ProcessInformationAccess | ProcessAccessFlags.CreateThread |
Provides a constant for OpenProcess with execute access.
| const ProcessAccessFlags ProcessMemoryWrapper.ProcessWrapper.ProcessInformationAccess = ProcessAccessFlags.QueryInformation | ProcessAccessFlags.QueryLimitedInformation |
Provides a constant for OpenProcess with information access.
| const ProcessAccessFlags ProcessMemoryWrapper.ProcessWrapper.ProcessReadAccess = ProcessAccessFlags.VirtualMemoryRead |
Provides a constant for OpenProcess with read access.
| const ProcessAccessFlags ProcessMemoryWrapper.ProcessWrapper.ProcessReadWriteAccess = ProcessReadAccess | ProcessWriteAccess |
Provides a constant for OpenProcess with read and write access.
| const ProcessAccessFlags ProcessMemoryWrapper.ProcessWrapper.ProcessWriteAccess = ProcessAccessFlags.VirtualMemoryOperation | ProcessAccessFlags.VirtualMemoryWrite |
Provides a constant for OpenProcess with write access.


|
Intel HEXL
Intel Homomorphic Encryption Acceleration Library, accelerating the modular arithmetic operations used in homomorphic encryption.
|
Intel:registered: HEXL is an open-source library which provides efficient implementations of integer arithmetic on Galois fields. Such arithmetic is prevalent in cryptography, particularly in homomorphic encryption (HE) schemes. Intel HEXL targets integer arithmetic with word-sized primes, typically 40-60 bits. Intel HEXL provides an API for 64-bit unsigned integers and targets Intel CPUs.
Many cryptographic applications, particularly homomorphic encryption (HE), rely on integer polynomial arithmetic in a finite field. HE, which enables computation on encrypted data, typically uses polynomials with degree N
a power of two roughly in the range N=[2^{10}, 2^{17}]
. The coefficients of these polynomials are in a finite field with a word-sized primes, p
, up to p
~62 bits. More precisely, the polynomials live in the ring Z_p[X]/(X^N + 1)
. That is, when adding or multiplying two polynomials, each coefficient of the result is reduced by the prime modulus p
. When multiplying two polynomials, the resulting polynomials of degree 2N
is additionally reduced by taking the remainder when dividing by X^N+1
.
The primary bottleneck in many HE applications is polynomial-polynomial multiplication in Z_p[X]/(X^N + 1)
. For efficient implementation, Intel HEXL implements the negacyclic number-theoretic transform (NTT). To multiply two polynomials, p_1(x), p_2(x)
using the NTT, we perform the FwdNTT on the two input polynomials, then perform an element-wise modular multiplication, and perform the InvNTT on the result.
Intel HEXL implements the following functions:
For each function, the library implements one or several Intel(R) AVX-512 implementations, as well as a less performant, more readable native C++ implementation. Intel HEXL will automatically choose the best implementation for the given CPU Intel(R) AVX-512 feature set. In particular, when the modulus p
is less than 2^{50}
, the AVX512IFMA instruction set available on Intel IceLake server and IceLake client will provide a more efficient implementation.
For additional functionality, see the public headers, located in include/hexl
We have tested Intel HEXL on the following operating systems:
Intel HEXL requires the following dependencies:
| Dependency | Version |
|---|---|
| CMake | >= 3.5.1 |
| Compiler | gcc >= 7.0, clang++ >= 5.0, MSVC >= 2019 |
For best performance, we recommend using a processor with AVX512-IFMA52 support, and a recent compiler (gcc >= 8.0, clang++ >= 6.0). To determine if your process supports AVX512-IFMA52, simply look for HEXL_HAS_AVX512IFMA
during the configure step (see Compiling Intel HEXL).
In addition to the standard CMake build options, Intel HEXL supports several compile-time flags to configure the build. For convenience, they are listed below:
| CMake option | Values | |
|---|---|---|
| HEXL_BENCHMARK | ON / OFF (default ON) | Set to ON to enable benchmark suite via Google benchmark |
| HEXL_COVERAGE | ON / OFF (default OFF) | Set to ON to enable coverage report of unit-tests |
| HEXL_DEBUG | ON / OFF (default OFF) | Set to ON to enable debugging at large runtime penalty |
| HEXL_DOCS | ON / OFF (default OFF) | Set to ON to enable building of documentation |
| HEXL_ENABLE_ADDRESS_SANITIZER | ON / OFF (default OFF) | Set to ON to enable building with address sanitizer (ASan) |
| HEXL_ENABLE_THREAD_SANITIZER | ON / OFF (default OFF) | Set to ON to enable building with thread sanitizer (TSan) |
| HEXL_ENABLE_UB_SANITIZER | ON / OFF (default OFF) | Set to ON to enable building with undefined behavior sanitizer (UBSan) |
| HEXL_EXPORT | ON / OFF (default OFF) | Set to ON to enable export of Intel HEXL for use in 3rd-party project |
| HEXL_SHARED_LIB | ON / OFF (default OFF) | Set to ON to enable building shared library |
| HEXL_TESTING | ON / OFF (default ON) | Set to ON to enable building of unit-tests |
| HEXL_TREAT_WARNING_AS_ERROR | ON / OFF (default OFF) | Set to ON to treat all warnings as error |
The instructions to build Intel HEXL are common between Linux, MacOS, and Windows.
To compile Intel HEXL from source code, first clone the repository into your current directory. Then, to configure the build, call
adding the desired compile-time options with a -D
flag. For instance, to build Intel HEXL with debugging capabilities, call
Then, to build Intel HEXL, call
This will build the Intel HEXL library in the build/hexl/lib/
directory.
To install Intel HEXL to the installation directory, run
To use a non-standard installation directory, configure the build with
To run a set of unit tests via Googletest, configure and build Intel HEXL with -DHEXL_TESTING=ON
(see Compile-time options). Then, run
The unit-test executable itself is located at build/test/unit-test
To run a set of benchmarks via Google benchmark, configure and build Intel HEXL with -DHEXL_BENCHMARK=ON
(see Compile-time options). Then, run
The benchmark executable itself is located at build/benchmark/bench_hexl
The example
folder has an example of using Intel HEXL in a third-party project.
For optimal performance, Intel HEXL does not perform input validation. In many cases the time required for the validation would be longer than the execution of the function itself. To debug Intel HEXL, configure and build Intel HEXL with -DHEXL_DEBUG=ON
(see Compile-time options). This will generate a debug version of the library, e.g. libhexl_debug.a
, that can be used to debug the execution.
Note, enabling HEXL_DEBUG=ON
will result in a significant runtime overhead.
Intel HEXL is single-threaded and thread-safe.
See https://intel.github.io/hexl for Doxygen documentation.
Intel HEXL supports documentation via Doxygen and sphinx. To build documentation, first install doxygen
and graphviz
, e.g.
Then, configure Intel HEXL with -DHEXL_DOCS=ON
(see Compile-time options).
To build Doxygen documentation, after configuring Intel HEXL with -DHEXL_DOCS=ON
, run
To view the generated Doxygen documentation, open the generated build/docs/doxygen/html/index.html
file in a web browser.
To build the sphinx documentation, install sphinx
and required dependencies breathe, m2r2
, e.g.
Then, after configuring Intel HEXL with -DHEXL_DOCS=ON
, run
To view the generated Sphinx documentation, open the generated build/docs/sphinx/html/index.html
file in a web browser.
At this time, Intel HEXL does not accept external contributions. We encourage feedback and suggestions via issues.
For Intel developers, use pre-commit to validate the formatting of the code.
Before contributing, please run
and make sure pre-commit checks and all unit tests pass.
Public headers reside in the hexl/include
folder. Private headers, e.g. those containing Intel(R) AVX-512 code should not be put in this folder.
Find published paper at https://arxiv.org/abs/2103.16400.
To cite Intel HEXL, please use the following BibTeX entry.


#! /usr/bin/env retro # RETRO Test File This is an example of the literate format RETRO uses, which lets us program in a literate style. ``` :test ; ``` That was a test block. It defines a test. ~~~ :word (note) #1 'mald_%n s:format s:put .1.0 drop ; :hm (idk) ~~~ That's the start of a word. These code fences can be placed anywhere. ~~~ &A $A `a \a |a @a !a ; ~~~ Running that gibberish code is not safe for your system, probably. You wouldn't wanna do it.


Hindsite FAQ
Does hindsite support themes?
Themes are baked in, every site template directory is a theme and the init command is the “theme” installer.
Why does the serve
command sometimes fail a live reload?
Some text editors create temporary and backup files when documents are saved and created, you need to exclude these files from document processing. Failure to do so can result in rebuild false positives and premature watcher reloads.
For example, the Vim editor creates tilda suffixed backup files and temporary
4913
files so you need to add
them to the exclude
configuration
parameter in the templates directory root configuration
file.
TOML example:
exclude = "*~|4913"
How can I add site search to my website?
An easy way to add a site search feature is to use a Google Custom Search Engine
(CSE). For example, the hindsite built-in blog
site
includes a Google CSE search page. To customize it for your website you need to:
- Create a Google Custom Search Engine (CSE) for your site.
- Paste your site's CSE code into the
search.md
content page.
Google CSE tips:
- You can choose which portions of your site you want to be included in search results.
- Use the Google Search Console to check search performance and coverage.
NOTE: Google can take many days to index new and updated Web pages and even then there's no guarantee that they will be indexed. See Get your website on Google.
How do I include Disqus comments in my website?
The recipe described below is taken from the hindsite built-in blog
site.
If you initialized your site with the built-in
blog
template then you already have the Disqus template and steps 3 and 4
below are redundant.
- If you don't already have one you need a Disqus account.
- Now log into to your Disqus account and register your site. Make a note of
your site's Disqus
shortname
, you need to include it along with some Disqus JavaScript code to your site's generated webpages. - Copy this
disqus
template definition to a site template file:{{define "disqus"}} {{/* If the user `shortname` variable is set and the document `id` is non-blank then Disqus comments are inserted. */}} {{if and .id .user.shortname}}

  Please enable JavaScript to view the comments powered by Disqus. {{end}} {{end}}
- Include the Disqus template in your web pages by adding this line to the end
of the HTML body in your document footer template:
{{template "disqus" .}}
- Add a
user
shortname
entry to the siteconfig
file and set it to your site's Disqusshortname
. TOML example:[user] shortname = "disqus-shortname-goes-here"
That's it, all published documents with a non-blank document
id
will now include Disqus comments.
- You can automatically assign document
id
s to all documents by setting theid
configuration parameter tourlpath
. To confine autoid
assignment to a specific folder put theid
parameter in that folder's configuration file. - To disable comments on specific pages explicitly set the document
id
front matter value to a blank string.
Should I enable document and static file text template expansion?
As a performance consideration you should only enable text template expansion if you need it. If performance is an issue, only enable it for those documents or directories that need it.
How can I customize .date
and .modtime
template variable formats?
Use the Go Format function. For example:
{{.modtime.Format "Monday, 02-Jan-06 15:04:05 MST"}}
NOTE: The .shortdate
, .mediumdate
and .longdate
document template
variables are simpler and preferable
to using .date
directly.
How do you configure source code highlighting?
By including highlight.js CSS and scripts. For example, take a look at the hindsite documentation templates.
- Include highlighter CSS in the HTML header.
- Include the highlighter scripts at the end of the HTML body. Languages which are not in the default library can be inluded separately.
- Include highlighter
initialization code
at the end of the HTML body:
hljs.configure({languages: []}); // Turn off automatic language detection. hljs.initHighlightingOnLoad();
- You may also need to tweak
.hljs
CSS class properties.
Now when you annotate Markdown fenced blocks with the language name the source will be highlighted, for example:
``` javascript
var myHeading = document.querySelector('h1');
myHeading.textContent = 'Hello world!';
```
Renders as:
var myHeading = document.querySelector('h1');
myHeading.textContent = 'Hello world!';
How can I partition documents into separate categories
Put them in separate indexes. Indexes are similar to Wordpress categories but they are folder based so you do not have to assign them explicitly.
I want a single page document index
Set the paginate
configuration
parameter to -1
and all indexed
documents will appear on the first page.
I want both paginated and single page document indexes
This technique creates a second nested index:
- Create a child index with the
paginate
configuration parameter set to-1
. For example:template/ posts/ docs.html # Paginated document index template. all/ docs.html # Non-paginated (single-page) document index template. config.toml # paginate = -1
- Create a corresponding content child directory and move the content documents into it:
content/ posts/ all/ # Move documents here from posts.
Each index has it's own page docs.html
template. This technique can be
extended to create multiple additional indexes over a the same indexed document
set.
Relative or root-relative intra-site links?
A relative link is a URL equivalent to a relative directory path e.g.
./images/beach.jpg
. A root-relative link is relative to the website root and
begins with a slash e.g. /images/beach.jpg
.
- Relative links are not affected by the
urlprefix
whereas root-relative links are. - Relative links are broken by changes to the content document location and the
permalink
configuration parameter, root-relative links are not.
The urlprefix
and permalink
parameters do not tend to change much so this
is probably just something to be aware of. Although you could enable document template
expansion and prefix root-relative URLs with {{.urlprefix}}
.
How fast is hindsite?
hindsite compares favorably with Hugo (which bills itself as “The world’s fastest framework for building websites”).
In informal measurements carried out on a site with 5000 Markdown posts (20MB
total) hindsite was four to five times faster than Hugo on full rebuilds. On
subsequent incremental rebuilds hindsite ranges from six times faster than Hugo
(if related indexes pages are rebuilt) to around ten times slower than Hugo (if
all index pages have to be rebuilt). The hugo
build command uses approximately
ten times more memory than the hindsite build
command; the hugo server
command consumed a whopping 11.2GB (around 180 times the hindsite serve
command).
IMPORTANT: This is not an “apples with apples” comparison, Hugo is more complex and has more features than hindsite. Differences between the respective themes is also a factor — the Hugo theme is heavier than the hindsite theme. As always, benchmarks are irrelevant if they do not address your specific use cases.
hindsite v1.0.0 (windows/amd64) running on Dell XPS27 PC under Windows 10.
- Execution times
hindsite build
command: 27.72s (full build, average of 5).hindsite serve
command: 29.64s (full rebuild, average of 5).hindsite serve
command: 4.91s (partial build, one document and entire index, average of 5).hindsite serve
command: 0.07s (partial build, one document and related index pages, average of 5).
- Memory consumption
hindsite build
command: 34MBhindsite serve
command: 62MB
Hugo v0.40.3 (windows/amd64) running on Dell XPS27 PC under Windows 10
Hugo setup as per the Hugo Quick Start instructions.
- Execution times
hugo
command: 162.92s (full build, average of 5).hugo server
command: 128.64s (initial full build).hugo server
command: 0.47s (partial rebuild).
- Memory consumption
hugo
command: 337MBhugo server
command: 11.2GB
NOTE: Exclude the site folders from Windows Defender anti-virus real-time protection (not doing this imposed a 4x performance decrease for both hindsite and Hugo).
The benchmarked hindsite and Hugo projects are available in the downloadable hindsite-benchmark.zip file (7.4MB):
├── hindsite
│ ├── build
│ ├── content
│ └── template
└── hugo
├── archetypes
├── content
├── data
├── layouts
├── public
├── static
└── themes
To compare performance run hindsite
and hugo
commands from their respective
site directories:
cd hindsite
hindsite build # Build.
hindsite serve # Build and serve.
cd hugo
hugo # Build.
hugo server # Build and serve.
Why did you create hindsite?
The short answer is programmer's hubris; the longer answer has it's genesis in Hugo's complexity.
Prior to writing hindsite I was using Hugo for blogging. Hugo is an outstanding program, it's chock full of features and has the flexibility needed to build complex static web sites. But features and flexibility come at the price of complexity and a steeper learning curve.
My frustration was not with hugo but with my brain's ability to retain hard won working knowledge of hugo across 6 months or more between casual use. The amount of time spent relearning (necessitated by my occasional reconfiguration and theme tweak) motivated me to write hindsite.
Hindsite was designed to be easy to learn and use, it was not designed to compete with hugo's massive feature set.
The casual use argument is the same reason my go-to drawing program is Microsoft Paint or KolorPaint and not Adobe Photoshop or The Gimp.


Intelligent Component Registry
File Upload
Upload File
File Folders
File Name
Last Modified
File Size
Description
File Download
File Visualization
Logs
Log


Match Play. Red trails 2-6 to 7 (Crawford). How should Red play 61?
pips Red=170 White=153
(CorrectAnswer= 0/0, ErrorScore= 0)
15/9, 6/5 looks logical with duplication of 3’s and this is the play made by one of the world’s top players.
However, at this score Red not fear the gammon and to win he needs to mobilise his rear checkers rather than play a 2-pt holding game. The best two plays are 23/16 and 23/22, 9/3 and there is no difference between them in the rollout. The key here is to apply the correct thinking to the match score and play accordingly.
However, at this score Red not fear the gammon and to win he needs to mobilise his rear checkers rather than play a 2-pt holding game. The best two plays are 23/16 and 23/22, 9/3 and there is no difference between them in the rollout. The key here is to apply the correct thinking to the match score and play accordingly.
1. Cubeful 2-ply 23/22 9/3 Eq.: -0.367 0.313 0.065 0.002 - 0.687 0.300 0.020 2. Cubeful 2-ply 23/16 Eq.: -0.372 (-0.005) 0.310 0.061 0.002 - 0.690 0.325 0.021 3. Cubeful 2-ply 23/22 15/9 Eq.: -0.379 (-0.012) 0.307 0.063 0.002 - 0.693 0.276 0.017 4. Cubeful 2-ply 9/2* Eq.: -0.406 (-0.039) 0.294 0.059 0.002 - 0.706 0.263 0.018 5. Cubeful 2-ply 9/3 6/5 Eq.: -0.413 (-0.046) 0.290 0.056 0.002 - 0.710 0.279 0.024


| | |
- __builtin__.object
-
- BasePlatform
class BasePlatform(__builtin__.object) |
| |
An abstract class for creating platforms.
BasePlatform is what all platforms are created from. Platforms are expected
to override the methods of BasePlatform to provide different kinds of
peripheral devices like GPIO pins, PWM pins, and communication busses. |
| |
Methods defined here:
- get_digital_input(self, pin)
- get_digital_output(self, pin)
- get_hardware_spi_bus(self, port, device)
- get_i2c_bus(self)
- get_pwm_output(self, pin)
- get_software_spi_bus(self, sclk_pin, mosi_pin, miso_pin, ss_pin)
Data descriptors defined here:
- __dict__
- dictionary for instance variables (if defined)
- __weakref__
- list of weak references to the object (if defined)
Data and other attributes defined here:
- __abstractmethods__ = frozenset(['get_digital_input', 'get_digital_output', 'get_hardware_spi_bus', 'get_i2c_bus', 'get_pwm_output', 'get_software_spi_bus'])
- __metaclass__ = <class 'abc.ABCMeta'>
- Metaclass for defining Abstract Base Classes (ABCs).
Use this metaclass to create an ABC. An ABC can be subclassed
directly, and then acts as a mix-in class. You can also register
unrelated concrete classes (even built-in classes) and unrelated
ABCs as 'virtual subclasses' -- these and their descendants will
be considered subclasses of the registering ABC by the built-in
issubclass() function, but the registering ABC won't show up in
their MRO (Method Resolution Order) nor will method
implementations defined by the registering ABC be callable (not
even via super()).
| |


*** User 2017-04-20 14:12:10.684 ***
14:12:10.684 [info] Disabling blocking sync...
*** User 2017-04-20 14:12:10.687 ***
14:12:10.687 [info] Configured peer_service_manager partisan_default_peer_service_manager on node 'node-1@antoine-PC'
*** User 2017-04-20 14:12:12.019 ***
14:12:12.019 [info] Enabling membership...
*** User 2017-04-20 14:12:12.020 ***
14:12:12.020 [info] Disabling blocking sync...
*** User 2017-04-20 14:12:12.023 ***
14:12:12.023 [info] Configured peer_service_manager partisan_default_peer_service_manager on node 'node-2@antoine-PC'
*** User 2017-04-20 14:12:13.359 ***
14:12:13.358 [info] Enabling membership...
*** User 2017-04-20 14:12:13.360 ***
14:12:13.359 [info] Disabling blocking sync...
*** User 2017-04-20 14:12:13.363 ***
14:12:13.363 [info] Configured peer_service_manager partisan_default_peer_service_manager on node 'node-3@antoine-PC'
*** User 2017-04-20 14:12:13.527 ***
Joining node: 'node-3@antoine-PC' to 'runner@antoine-PC' at port 39111
*** User 2017-04-20 14:12:13.528 ***
Joining issued: 'node-3@antoine-PC' to 'runner@antoine-PC' at port 39111
*** User 2017-04-20 14:12:13.528 ***
Joining node: 'node-2@antoine-PC' to 'runner@antoine-PC' at port 53285
*** User 2017-04-20 14:12:13.528 ***
Joining issued: 'node-2@antoine-PC' to 'runner@antoine-PC' at port 53285
*** User 2017-04-20 14:12:13.528 ***
Joining node: 'node-1@antoine-PC' to 'runner@antoine-PC' at port 50172
*** User 2017-04-20 14:12:13.528 ***
Joining issued: 'node-1@antoine-PC' to 'runner@antoine-PC' at port 50172
*** User 2017-04-20 14:12:13.589 ***
Waiting for join to complete with manager: partisan_default_peer_service_manager
*** User 2017-04-20 14:12:13.590 ***
Finished.
*** CT 2017-04-20 14:12:13.590 *** COVER INFO
Adding nodes to cover test: ['runner@antoine-PC']
*** CT 2017-04-20 14:12:13.596 *** COVER INFO
Successfully added nodes to cover test: []
*** User 2017-04-20 14:12:13.596 ***
Case finished: uncontracted_latency_test
*** User 2017-04-20 14:12:20.626 ***
14:12:20.626 [info] Application lasp exited with reason: stopped
*** User 2017-04-20 14:12:20.628 ***
14:12:20.627 [info] Application partisan exited with reason: stopped
=== Ended at 2017-04-20 14:12:20
=== successfully completed test case
=== Returned value: ok
Test run history
| Top level test index


{% extends 'base.html' %} {% load i18n %} {% block title %}{% trans "Sign out" %}{% endblock %} {% block content %}
Sign out
Are you sure?
Why we are asking? It's a security measure {% comment %} We'll also confirm guest users want to log out e.g. "You are currently a guest user with no password or password recovery email address. If you logout you will not be able to log back in and recover any of your work. To save your work please sign up."" {% endcomment %}


Lagrange is a minimalist Jekyll. It is intended to have a clean, content focused interface for blog writing.


Did you hear about the big release? No, not that one. Shoes 4.0.0.pre4 is out! `gem install shoes --pre` to try it out. @shoooesrb on! 👠👟👞🚀
5/15/2015, 9:22:29 PM
Favs: 0
Retweets: 0
link--- layout: tweet ---
Did you hear about the big release? No, not that one. Shoes 4.0.0.pre4 is out! `gem install shoes --pre` to try it out. @shoooesrb on! 👠👟👞🚀
5/15/2015, 9:22:29 PM
Favs: 0
Retweets: 0
link


Mooney J et al. Primary care prescribing and deprivation in England 2019. June 2020 Please see source text for direct links to figures and R code. Project GitHub page


The grid contains 24 robots represented by arrows.
Each robot is controlled by a program. The robots are all controlled by the same program.
Execute the instructions of the robots, and make robot 1 crash into robot 2.
Execute the instructions of the robots to get to a situation where all the robots are stuck before reaching the green cells.
To do this, click on the gray buttons in the order of your choice.


Newcomb Programming Languages
Newcomb’s Problem is a very divisive thought experiment in decision theory. The tl;dr version is:
A supreme intelligence Omega comes down from the sky, and offers you two boxes, labeled A and B. In box A, Omega has placed $1000.
Omega makes a prediction about whether you will open only one box, or both boxes. If Omega predicts that you will open both boxes, then box B is empty. If Omega predicts that you will open only one box, then Omega places $1000000 in box B.
In over a million trials, Omega has never incorrectly predicted someone’s decision. (Supreme intelligence is supreme!)
Omega places both boxes before you, and flies away to torment some other decision theorist.
Do you open both boxes, or just box B?
Well, you figure, Omega is gone now, its prediction already in the past. At this point, if I open both boxes, then I’ll get either $1000 or $1001000. If I open only box B, then I’ll get either $0 or $1000000. Regardless of Omega’s prediction, I’m always better off opening both boxes.
So you open box B, and find it empty.
You lament that Omega seemingly rewards “improper” decision theorists, and treat yourself to $1000 worth of whatever. Since you’re a dedicated rationalist, you probably make a bunch of sound investments with it and end up doing ok anyway.
Good for you.
Another approach is to commit to opening only box B, and stick to that commitment. Decision theory be damned, I want a million bucks. Before doing anything else, you set box A on fire, just to be sure. You open box B, and get a million dollars.
What use is a decision theory if it doesn’t optimize outcomes? That’s not to say that it’s worthless to study the science of priors and statistics and possible outcomes. Certainly, in most situations, we are not dealing with supreme intelligences handing out money capriciously. But in the real world, there are occasionally situations where the ends matter more than being theoretically correct.
On the other hand, perhaps a purity of theoretical correctness is an important part of one’s self-image. Maybe it imparts emotional satisfaction that a million dollars just can’t buy.
It’s perfectly fine to be a two-boxer. In a way, I respect it, like a monk or an artist. There’s a beauty in that purity.
But still.  I can be a monk later.
Most programming languages are to some extent art projects. There’s a lot of subjectivity to them. They exist to seek a beautiful ideal.
Most programming languages are also to some extent practical. You can do real stuff with them. They exist to make stuff.
The difference is, when tradeoffs must be made between “beautiful ideal” and “make stuff”, what wins?
If our ideal is in fact beautiful, and if we are skilled in our pursuit of it, then one might expect that these trade-offs will be infrequent. The most beautiful programming language is the one that is the most pragmatic.
But like boxes of money, programming languages do not exist in a vacuum. We have imperfect vision, and may find ourselves heading down a blind alley to explore what we hope will be beautiful. In the making of things, we may find that it was a mistake, and that the only way out is to choose to either make the language more beautiful (and lose pragmatic value for its current users) or preserve pragmatic value (and give up on some potential beauty).
Both choices are fraught with hazard. The first can alienate the community. The second can lead to a mongrel language with warts and bad parts.
Making software is the purpose of a programming language. That is the winning condition. Valuing something other than that seems to me akin to opening both boxes, because decision theory said so.
In box A, Omega has placed beauty. In box B, Omega has placed pragmatism and community, but only if Omega predicts that you will only choose box B. Omega has never been wrong.
Make your choice.
Except, in this version, you can open B, and get pragmatism and community. But once opened, if you choose A, then the community will eventually be lost.
I can see the value in a beautiful thing. But for myself, willy-nilly, I like useful software and happy communities more than programming languages for their own sake.
This is why I love JavaScript so much.  We’d rather lack a feature than add something that’ll break anything. We drag the albatross of ancient websites along with us, and while this is often a curse, it is also a sort of blessing.
JavaScript is a one-boxer language.


Your browser does not support the HTML5 canvas element.
Use arrows keys (left, right, up, down) to move the light


Kevin Boyle
<EMAIL_ADDRESS>I'm a dev based in Austin Texas with a background in illustration and audio.
- Audio/Visual Projects
- Gonner | Music production
- Urtica | Music production
- Hellblazer | Sound design & score
- Transgressive Podcast | Production & score


the and plasma convalescent with for patients after al. {background was that virus treatment The margin {border-style viral px;} #ffffff;} Ebola clinical from Day â€‰days have influenza severe respiratory study therapy SARS â€‰mL COVIDâ€� Convalescent been group can studies who Med;:â€�. antibodies are blood care infection mortality not rate symptom symptoms were Infect acute before had load onset px; received significant {font-family Dis;:â€�. IgG Journal There antibody associated font-size other plasma. showed specific syndrome when ChiCTR, Health Lancet Medicine benefit case coronavirus disease double; effective has hyperimmune infection. more serum than transfusion use used > (HN) Chongqing Clinical IgM International Table border-color border-width different fever first levels lower patients. prospective reported research solid; there {font-style {font-weight â€¦ (%) .). CI, CONVALESCENT COVIDâ€�. Child Development Key Laboratory Med Medical More PLASMA Spanish Treatment Unknown World bold compared confirmed could courier; dose during early efficacy eight em; epidemics exposure flu health improved improvement including infected infusion lethal may most needed onset. potential previous pt;} reduced reduction report should shows significantly standard such time titer two whole within â€‰hours â€�â€‰mL


liegroups.torch¶
The PyTorch implementation uses torch.Tensor as the backend linear algebra library, which allows the user to on the GPU or CPU and integrate with other aspects of PyTorch.
This version provides sensible options for batching the transformations themselves, as well as anything they might operate on, and is generally agnostic to the specific Tensor type (e.g., given a torch.cuda.FloatTensor as input, the output will also be a torch.cuda.FloatTensor).
-
class
liegroups.torch.
SO2
(mat)¶ See
liegroups.SO2
-
cpu
()¶ Return a copy with the underlying tensor on the CPU.
-
cuda
(**kwargs)¶ Return a copy with the underlying tensor on the GPU.
-
from_numpy
(other, pin_memory=False)¶ Create a torch-based copy of a numpy-based rotation.
-
is_cuda
()¶ Returns true if the underlying tensor is a CUDA tensor
-
is_pinned
()¶ Returns true if the underlying tensor resides in pinned memory
-
pin_memory
()¶ Return a copy with the underlying tensor in pinned (page-locked) memory. Makes host-to-GPU copies faster.
See: http://pytorch.org/docs/master/notes/cuda.html?highlight=pinned
-
-
class
liegroups.torch.
SE2
(rot, trans)¶ See
liegroups.SE2
-
cpu
()¶ Return a copy with the underlying tensors on the CPU.
-
cuda
(**kwargs)¶ Return a copy with the underlying tensors on the GPU.
-
from_numpy
(other, pin_memory=False)¶ Create a torch-based copy of a numpy-based transformation.
-
is_cuda
()¶ Returns true if the underlying tensors are CUDA tensors
-
is_pinned
()¶ Returns true if the underlying tensors reside in pinned memory
-
pin_memory
()¶ Return a copy with the underlying tensor in pinned (page-locked) memory. Makes host-to-GPU copies faster.
See: http://pytorch.org/docs/master/notes/cuda.html?highlight=pinned
-
-
class
liegroups.torch.
SO3
(mat)¶ See
liegroups.SO3
-
cpu
()¶ Return a copy with the underlying tensor on the CPU.
-
cuda
(**kwargs)¶ Return a copy with the underlying tensor on the GPU.
-
from_numpy
(other, pin_memory=False)¶ Create a torch-based copy of a numpy-based rotation.
-
is_cuda
()¶ Returns true if the underlying tensor is a CUDA tensor
-
is_pinned
()¶ Returns true if the underlying tensor resides in pinned memory
-
pin_memory
()¶ Return a copy with the underlying tensor in pinned (page-locked) memory. Makes host-to-GPU copies faster.
See: http://pytorch.org/docs/master/notes/cuda.html?highlight=pinned
-
-
class
liegroups.torch.
SE3
(rot, trans)¶ See
liegroups.SE3
-
cpu
()¶ Return a copy with the underlying tensors on the CPU.
-
cuda
(**kwargs)¶ Return a copy with the underlying tensors on the GPU.
-
from_numpy
(other, pin_memory=False)¶ Create a torch-based copy of a numpy-based transformation.
-
is_cuda
()¶ Returns true if the underlying tensors are CUDA tensors
-
is_pinned
()¶ Returns true if the underlying tensors reside in pinned memory
-
pin_memory
()¶ Return a copy with the underlying tensor in pinned (page-locked) memory. Makes host-to-GPU copies faster.
See: http://pytorch.org/docs/master/notes/cuda.html?highlight=pinned
-


{% extends "layout.html" %} {% block page_title %} You've removed 1 document {% endblock %} {% block content %} {% include "includes/idams-account-header.html" %} You’ve removed 4 documents The documents you’ve removed are: 10056867_10041_201819.pdf 10006473_10041_201819.pdf 10006943_10041_201819.pdf 10006622_10041_201819.pdf What happens next You can review your other documents Finish {% endblock %}
The documents you’ve removed are:
You can review your other documents


Simple Paging Grid - Basic Example
Below is a very simple example of a paging grid. View the source to see how it works.


Remove Member From Groups
×
{{listNames}} lists.
{{fullName}}
{{uid}}
N/A
{{uhUuid}}
Are you sure you want to remove
{{member}}
from the {{listNames}} lists?


| Name | Category | Preferred Date | Hourly Fee | Description | |
|---|---|---|---|---|---|
| There are no jobs in the DB. Add a new job below. | |||||
| {{i+1}}. | {{job.name}} | {{job.category}} | {{job.preferred_date}} | {{job.hourly_fee}} | {{job.description}} |
| Total: {{ jobs.length }} |
| Name | Category | Preferred Date | Hourly Fee | Description | Rating to Employee | Rating from Employee | ||
|---|---|---|---|---|---|---|---|---|
| There are no jobs in the DB. Add a new job below. | ||||||||
| {{i+1}}. | {{job.name}} | {{job.category}} | {{job.preferred_date}} | {{job.hourly_fee}} | {{job.description}} | |||
| Total: {{ jobsHired.length }} |


When connecting a plan file to the Habitat Build Service, you can optionally export the result of your package build jobs (.hart file) to a Docker container and publish it to your registry account(s).


For a multisite replication project, computes metrics and confidence intervals representing: (1) the probability that the original study would observe an estimated effect size as extreme or more extreme than it actually did, if in fact the original study is statistically consistent with the replications; (2) the probability of a true effect of scientifically meaningful size in the same direction as the estimate the original study; and (3) the probability of a true effect of meaningful size in the direction opposite the original study's estimate. Additionally computes older metrics used in replication projects (namely expected agreement in "statistical significance" between an original study and replication studies as well as prediction intervals for the replication estimates). See Mathur and VanderWeele (2017; <https://osf.io/apnjk/>) for details.
| Version: | 1.0.1 |
| Imports: | metafor, stats |
| Published: | 2017-10-09 |
| Author: | Maya B. Mathur, Tyler J. VanderWeele |
| Maintainer: | Maya B. Mathur <mmathur at stanford.edu> |
| License: | GPL-2 |
| NeedsCompilation: | no |
| CRAN checks: | Replicate results |
| Reference manual: | Replicate.pdf |
| Package source: | Replicate_1.0.1.tar.gz |
| Windows binaries: | r-devel: Replicate_1.0.1.zip, r-release: Replicate_1.0.1.zip, r-oldrel: Replicate_1.0.1.zip |
| OS X binaries: | r-release: Replicate_1.0.1.tgz, r-oldrel: Replicate_1.0.1.tgz |
| Old sources: | Replicate archive |
Please use the canonical form https://CRAN.R-project.org/package=Replicate to link to this page.


Technology
- Websites and applications, such as HTML, ARIA, and Javascript
- Native apps and applications, such as iOS, Android, MacOS, Windows, and Linux
- Documents, such as HTML, PDF, and word processing (for example, Word)
Summary
- Ready access to inputs that require completion helps users focus on the task at hand.
- Required inputs that are clearly identified help users avoid submitting incomplete data.
- Inputs that are programmatically defined as required can be conveyed by assistive technology.
How it solves user need
- People need to know which inputs they are required to fill in to successfully complete their task.
- People need to be able to readily distinguish between required and optional inputs to better focus their attention and efforts.
- People who use assistive technology need required inputs that are programmatically defined so they can use their technology to identify and complete them.


Question
If you have a 2 GB file with one string per line, which sorting algorithm would you use to sort the file and why?
Solution
External Sorting and N-way merge.
- Divide the file into K chunks, where X * K = 2 GB Bring each chunk into memory and sort the lines as usual using any O(n log n) algorithm Save the lines back to the file
- Now bring the next chunk into memory and sort
- Once we’re done, merge them one by one
Details
Wiki example of sorting 900 megabytes of data using only 100 megabytes of RAM:
- Read 100 MB of the data in main memory and sort by some conventional method, like quicksort.
- Write the sorted data to disk.
- Repeat steps 1 and 2 until all of the data is in sorted 100 MB chunks (there are 900MB / 100MB = 9 chunks), which now need to be merged into one single output file.
- Read the first 10 MB (= 100MB / (9 chunks + 1)) of each sorted chunk into input buffers in main memory and allocate the remaining 10 MB for an output buffer. (In practice, it might provide better performance to make the output buffer larger and the input buffers slightly smaller.)
- Perform a 9-way merge and store the result in the output buffer. Whenever the output buffer fills, write it to the final sorted file and empty it. Whenever any of the 9 input buffers empties, fill it with the next 10 MB of its associated 100 MB sorted chunk until no more data from the chunk is available. This is the key step that makes external merge sort work externally – because the merge algorithm only makes one pass sequentially through each of the chunks, each chunk does not have to be loaded completely; rather, sequential parts of the chunk can be loaded as needed.
Similar Question
[Google] Sort a million 32 bit integers using only 2MB of RAM.
1 million integers = 4MB which is > 2MB RAM.
Solution: external sort - divide and conquer
- read half the list into 2MB ram and sort using quicksort (quicksort uses logn space - however 0.5m integers is less than 2MB (2000kb v 2048kb) so this should be okay).
- write sorted data to disk
- repeat for next chunk
- merging results: we need an output buffer. lets say this is 1MB. then we read 512KB from each of your chunks into input buffers. we then perform a 2-way merge of the data. when an input buffer becomes empty we can pull in the remainder of the chunk.
- when the output buffer is full we write this to disk.
- when the process completes we are left with 2x 1MB files sorted in the correct order.


Jai's toy shop
LEGO-Technic-Monster
Scotland Yard
Doll set
Gogo's crazy bones
A story wrriten by Jai


| << Dësc | Table of Contents | Flët >> |
Düde Resource
A düde resource can be thought of as a container for ships that share certain characteristics. Any shïp of a given düde class will have that dude class's AI type and governmental affiliation, and will yield the same types of booty when boarded. In a düde resource, up to 16 different shïp classes can be pointed to, with a probability set for each shïp class. The result of all this is that, in other parts of Nova's data file, you can point to a düde class and know that Nova will create a shïp of the proper AI type and governmental alignment, and will pick the new ship's type based on the probabilities you set in the düde resource. The düde resource's fields are:
AIType Which type of AI to use for ships of this düde class (see below). If you set this to 0, each shïp will use its own inherent AI type. Gövt The ID number of the düde class's government, or -1 for independent. Booty Flags that define what you'll get when you board a shïp of this düde class. (see below) InfoTypes What kind of info to display when hailed
0x1000 - Good prices
0x2000 - Disaster info
0x4xxx - Specific advice (the lower 12 bits of this value are added to 7500 to get the ID of the STR# resource from which to get the quote)
0x8000 - Generic gövt hail messagesFlags 0x0001 - Carries food when plundered
0x0002 - Carries industrial goods
0x0004 - Carries medical supplies
0x0008 - Carries luxury goods
0x0010 - Carries metal
0x0020 - Carries equipment
0x0040 - Carries money (amount depends on the ship's purchase price)
0x0100 - Ships of this düde type can't be hit by the player and their shots can't hit the player (useful for things like AuxShip mission escorts, etc.)ShipType (x16) These fields contain the ID numbers of up to 16 different shïp classes. Set to 0 or -1 if unused. Probability (x16) These fields set the probability that a shïp of this dude class will be of a certain shïp type The four different AI types are:
1 - Wimpy Trader Visits planets and runs away when attacked 2 - Brave Trader Visits planets and fights back when attacked, but runs away when his attacker is out of range 3 - Warship Seeks out and attacks his enemies, or jumps out if there aren't any. 4 - Interceptor Seeks out his enemies, or parks in orbit around a planet if he can't find any. Buzzes incoming ships to scan them for illegal cargo. Also acts as "piracy police" by attacking any shïp that fires on or attempts to board another, non-enemy shïp while the interceptor is watching. You can set different combinations of booty to be had from ships of a certain düde class by ORing different bits into the dude's Booty field. If a düde class has a booty flag of 0x0000, then you can't get anything from the shïp, and you're told that you were "repelled while attempting to board" it. The different booty flags are documented above
Unlike previous versions of the EV engine, Nova can handle düde resources that are not completely filled - so, while the düde resource can handle references to as many as 16 different shïp types, not all fields have to be used. If you do this, remember to set the corresponding ShipType fields to 0 or -1 to indicate that they're unused.
| << Dësc | Table of Contents | Flët >> |
(©) 2000-2002 by Matt Burch and Ambrosia Software, Inc.


Contget1653.github.io
Lucent Technologies Definity Handbuch.
Lucent Technologies Definity Handbuch and Fujitsu LIFEBOOK A556 Handbücher.


If you love Telegram but don't want to leave Discord then you'll be pleased to find we've built a bridge in this channel.  Dude these bots nowadays
GatewayBOT06-Oct-18 02:45 AM
[telegram] <polycryptoblog> Dickpics + blockchain = next big ICO
[telegram] <Sergio> How can I set a pin or a password into my imported Seed in agama?
[telegram] <PTYX11> You should be able to creatwe a wallet using the backup function. When you are asked for the seed it will ask it you want to encrypt it and name it.
[telegram] <Sergio> I already did but when I restart agama It doesnt ask me for the pin/pasword (re @PTYX11: You should be able to creatwe a wallet using the backup function. When you are asked for the seed it will ask it you want to encrypt it and name it.)
Desktop App for SuperNET DAPPs. Contribute to KomodoPlatform/Agama development by creating an account on GitHub.
[telegram] <Hermes08> If you are asking to encrypt the wallet.dat file that's something different
GatewayBOT06-Oct-18 05:09 AM
[telegram] <Sergio> Latest versión with pirate (re @PTYX11: Which version of Agama?)
[telegram] <Sergio> I want yo set the pin, for example if Simeone takes my computer It Will be available to send funds cos my wallet is not protected
GatewayBOT06-Oct-18 05:22 AM
[telegram] <Hermes08>
[telegram] <Hermes08> You mean by using native in this case? If you are using lite mode you can put a pin confirmation each time you send a transaction , in the settings tab. >appconfig option
GatewayBOT06-Oct-18 05:36 AM
[telegram] <LittleBit4492>
GatewayBOT06-Oct-18 07:12 AM
[telegram] <Acura360> Conversion Rate is 1KMD = 4 PIRATE.
GatewayBOT06-Oct-18 07:25 AM
[telegram] <Cryptocries> Somehow this growth is so fast.
GatewayBOT06-Oct-18 08:52 AM
[telegram] <LittleBit4492> Hi, anyone want to meet? I am a young girl looking for a partner for sex or correspondence. See my profile
For now @PirateChain is traded only OTC in Komodo Discord but a CEX running on TOR is planned (unfortunately atomic swaps with z-addresses are still between theory and experiment, it will take a long time to support Pirate in BarterDEX) https://t.co/mM7febBvMv
[telegram] <Sergio> Yes, native (re @Hermes08: You mean by using native in this case? If you are using lite mode you can put a pin confirmation each time you send a transaction , in the settings tab. >appconfig option)
PIRATE is an unpaved blockchain in the ecosystem of the Komodo Platform
GatewayBOT06-Oct-18 12:07 PM
[telegram] <Stuart> When I activate pirate in agama it keeps saying loading data please wait how long should this process take because it seems stuck ?
GatewayBOT06-Oct-18 12:16 PM
[telegram] <Acura360> Depends on PC Specs - For me it takes 3-5min - You can try to restart agama or deactive maybe security programs in the Background (re @Stuart: When I activate pirate in agama it keeps saying loading data please wait how long should this process take because it seems stuck ?)
GatewayBOT06-Oct-18 12:32 PM
[telegram] <DiamondGem11818>
GatewayBOT06-Oct-18 02:57 PM
[telegram] <Cryptocries> Hey admin. I have a question. What's the difference between running komodo in native and lite mode?
How much we know about the projects which we invest upon. What is our point of information and how much is it accurate. What other like…
[telegram] <Acura360> Native = you must download the blockchain
Lite = You must not download the whole blockchain (re @Cryptocries: Hey admin. I have a question. What's the difference between running komodo in native and lite mode?)
[telegram] <akashshunya13> Build Komodo Community At Pivot
GatewayBOT06-Oct-18 03:10 PM
[telegram] <Regnar> Native also allows you to do Z transactions and jumblr. (re @Cryptocries: Hey admin. I have a question. What's the difference between running komodo in native and lite mode?)
GatewayBOT06-Oct-18 03:21 PM
[telegram] <Cryptocries> z transaction ? (re @Regnar: Native also allows you to do Z transactions and jumblr.)
[telegram] <Cryptocries> Same as pirate ? Can't be tracked? (re @Regnar: Native also allows you to do Z transactions and jumblr.)
[telegram] <Cryptocries> Oh I see. How long does it take to download the whole blockchain ? (re @Acura360: Native = you must download the blockchain
Lite = You must not download the whole blockchain )
[telegram] <Cryptocries> Hey admin. I know typing is fatigue. If you have any link that explains this, you can send me and you can take a break (re @Regnar: Native also allows you to do Z transactions and jumblr.)
[telegram] <Regnar> T transactions are normal transactions that appear on blockchain. You can see the wallets they were sent from and to, the amount sent etc. They are just like regular KMD or BTC transactions and addresses. Z transactions use zk-SNARKS, a form of zero knowledge proofs, to hide all the information in a transaction and address. No idea who sent what amount to what address, and you cant see the balances of z addresses either (re @Cryptocries: z transaction ?)
[telegram] <Regnar> So z are private
[telegram] <Cryptocries> Oh I see. So it sounds similar to pirate isn't it. (re @Regnar: T transactions are normal transactions that appear on blockchain. You can see the wallets they were sent from and to, the amount sent etc. They are just like regular KMD or BTC transactions and addresses. Z transactions use zk-SNARKS, a form of zero knowledge proofs, to hide all the information in a transaction and address. No idea who sent what amount to what address, and you cant see the balances of z addresses either)
[telegram] <Cryptocries> Yeah. No way to track
[telegram] <Regnar> Yes. Pirate ONLY has Z (re @Cryptocries: Oh I see. So it sounds similar to pirate isn't it.)
[telegram] <Cryptocries> Oh I see. Thanks for the perfect explanation
[telegram] <Regnar> (re @Cryptocries: Oh I see. Thanks for the perfect explanation)
PIRATE is an unpaved blockchain in the ecosystem of the Komodo Platform
[telegram] <William9182> Selling up to 300 ARRR @ 0.25 KMD each.
GatewayBOT06-Oct-18 10:52 PM
[telegram] <golovka4lena> Where can i sell pirate?
[telegram] <William9182> Otc only (re @golovka4lena: Where can i sell pirate?)
[telegram] <William9182> Discord has an otc channel for selling pirate
GatewayBOT07-Oct-18 12:52 AM
[telegram] <njappboy> Can someone from the Agama team give me a hand. When I first used Agama I provided my wallet seed and Agama generate 95 KMD public addresses. How do generate more addresses from the same seed but past the 95 address range? I'm trying to solve an issue where Agama has sent a my UTXO from an interest claim to an address that Agama does not hold the public/private key pair for. I'm not sure how Agama generated the public key or why it used it.
GatewayBOT07-Oct-18 01:36 AM
[telegram] <Hermes08> Did you tried doing.a rescan of your wallet? This could help you find the address that holds your keys and funds...If you can send us a ticket at<EMAIL_ADDRESS>with more information , OS version and Agama wallet version.
Desktop App for SuperNET DAPPs. Contribute to KomodoPlatform/Agama development by creating an account on GitHub.
[telegram] <wuyawei> Hello (re @Hermes08: Did you tried doing.a rescan of your wallet? This could help you find the address that holds your keys and funds...If you can send us a ticket at<EMAIL_ADDRESS>with more information , OS version and Agama wallet version.)
GatewayBOT07-Oct-18 01:48 AM
[telegram] <Hermes08> Hi
GatewayBOT07-Oct-18 02:02 AM
[telegram] <njappboy> I will try that Hermes.. settings 'wallet.dat keys' lookup doesn't find the key
[telegram] <njappboy> but listaddressgroupings address groups shows 3 groups. I only remember having 1 group. It shows that original group twice, in the first and third position and then a recent address in a single group by itself. It would seem this address group with the single address has the interest balance which was sent after installing 0.2.42c a few days ago.
[telegram] <njappboy> I
[telegram] <njappboy> When I perform a 'importaddress <address here>' on the address which I cannot retrieve the key for I am told "The wallet already contains the private key for this address or script" (re @Hermes08: Here is the latest release for Agama https://github.com/KomodoPlatform/Agama/releases)
[telegram] <njappboy> but "wallet.dat keys" search doesn't find it.
[telegram] <Hermes08> have you used dumpprivkey "yourpublicaddress" in the cli ?
[telegram] <Hermes08> Please send us the ticket and we will review it from there properly...here is not so good as an email.
[telegram] <njappboy> Son of a $#$%. I had not tried again since restarting Agama. It had failed to produce the key. This time it produced a private key. Hopefully it is the correct key. Agama not syncing currently. Is there a cli command to test the private key locally to sign a valid message
[telegram] <Hermes08> Use validateaddress "your addresshere" it should state true if it's inside your wallet.dat
[telegram] <Hermes08> other way of finding out is to login with that private key into the lite version of the wallet the same way as you do with your seed ..you should be able to enter it
GatewayBOT07-Oct-18 02:42 AM
[telegram] <njappboy> Thank you. I was able to validateaddress. Agama still not sync'ing properly.
[telegram] <njappboy> Thank you. I was able to validateaddress. Agama still not sync'ing properly.
[telegram] <ashik00782> This is nice Airdrop.I must be join.Think about it hurry.
GatewayBOT07-Oct-18 08:44 AM
[telegram] <EgorMV> What airdrop? (re @ashik00782: This is nice Airdrop.I must be join.Think about it hurry.)
[telegram] <wuyawei> Hello, I am the head of the Commerce Department of Hong Kong FUBT exchange. Do you have plans to launch other exchanges for your project recently? (re @Hermes08: Hi)
[telegram] <wuyawei> If there is, we can talk about on-line exchange cooperation
GatewayBOT07-Oct-18 08:59 AM
[telegram] <nabilthasin> This is a great project with good team, wishing you guys success
[telegram] <Earl> Want to make big gains on altcoins?
Join the #1 Telegram signals group.
Our last signal hit 420%!
Next signal coming shortly!
JOIN HERE
[telegram] <Ben> Want to make big gains on altcoins?
Join the #1 Telegram signals group.
Our last signal hit 420%!
Next signal coming shortly!
JOIN HERE
jl777 explains his long term view of dPoW in this conversation: meatspoon: Do I remember correctly that dPoW costs 300 KMD per year for any blockchain that wants to use that notarization? jl777: On…
Welcome back to another installment in our NEM Series! Today we chat with Founder of Chainzilla, Charles Gonzales! Enjoy! Use our code, 'THECRYPTOCLASS', to ...
GatewayBOT07-Oct-18 02:25 PM
[telegram] <krisninakos> komodopoulos community i have one connection already downloaded 2%
GatewayBOT07-Oct-18 02:34 PM
[telegram] <Danish> Hi
[telegram] <Danish> :)
GatewayBOT07-Oct-18 03:29 PM
[telegram] <Posésie> The market has been coming down for months?
For everyone except for Lion Signal members
Every week 5 Signal on Binance and cryptopia
Move up a gear, profit every week, +130%, +240%, +101%
Do not miss a second
Joins us —> Link telegram
GatewayBOT07-Oct-18 03:44 PM
[telegram] <krisninakos> hello someone from the team here?
GatewayBOT07-Oct-18 03:53 PM
[telegram] <PTYX11> I'm not from the team but maybe I can help? What's the question (re @krisninakos: hello someone from the team here?)
[telegram] <krisninakos> ptyx i am trying to download the


Annotation、Enum和Generics都是在Java 5的时候引入的。
在下面的代码中，SuppressWarnings
就是Annotation的示例：
@SuppressWarnings("Duplicates") public class HelloWorld { }
Annotations are a special kind of metadata which could be associated with different elements and constructs of the Java language.笔记：从本质上来说，Annotation代表了一种特殊的metadata。 Interestingly, annotations have contributed a lot into the elimination of boilerplate XML descriptors used in Java ecosystem mostly everywhere.笔记：Annotation取代了XML的作用。 They introduced the new, type-safe and robust way of configuration and customization techniques.笔记：Annotation，相比于XML，它的特点就是type-safe和robust。 笔记：这段内容的重点是，Annotation是一种特殊的metadata，它与不同elements and constructs（instance variables, constructors, methods, classes, etc.）联系在一起。
用一个形象的说法来讲，如果将当前JavaFile想象成一个“卡通人物”，那么Annotation则可以理解成“手提包”。 没有“手提包”的时候，“卡通人物”本身就是一个独立的人物形象；有“手提包”的时候，“卡通人物”可以在“手提包”里多带一些个人物品，例如：手机、镜子、眼镜等。 到于“手提包”的摆放位置，可以放在肩膀上，可以提在手上，可以挂在胳膊上。 同样的，对于没有Annotation的类来说，它本身就是一个独立的类文件；对于有Annotation的类来说，Annotation帮当前类承载一些额外的信息，这些额外的信息可以出现在不同的位置。 笔记：这里是用一种形象的角度来说，Annotation是一个容器，它里面存储的是metadata。
为了清晰的理解Annotation，我觉得，应该从四个层面来看待它：
Let us take a look at the simplest annotation declaration possible:
public @interface MyTag { }
The @interface
keyword introduces new annotation type.
That is why annotations could be treated as specialized interfaces.
Java includes some important meta-annotations directly within the language specification:
@Target
: Describes the targets to which an annotation can be applied.
@Retention
: Describes how long the annotation should be retained by the compiler.
@Inherited
: Denotes that an annotation should be inherited by a subtype if applied to a supertype.
@Deprecated
: Denotes that an annotation (or any other type) should no longer be used.
@Repeatable
: Denotes that an annotation can be applied multiple times in the same context; i.e. a class can have the same annotation applied to it two or more times.
Each annotation has the very important characteristic called retention policy which is an enumeration (of type RetentionPolicy
) with the set of policies on how to retain annotations. It could be set to one of the following values.
| Policy | Description |
|---|---|
CLASS |
Annotations are to be recorded in the class file by the compiler but need not be retained by the VM at run time. |
RUNTIME |
Annotations are to be recorded in the class file by the compiler and retained by the VM at run time, so they may be read reflectively. |
SOURCE |
Annotations are to be discarded by the compiler. |
Retention policy has a crucial effect on when the annotation will be available for processing. The retention policy could be set using @Retention
annotation. For example:
import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @Retention(RetentionPolicy.RUNTIME) public @interface MyTag { }
Setting annotation retention policy to RUNTIME
will guarantee its presence in the compilation process and in the running application.
Another characteristic which each annotation must have is the element types it could be applied to.
Similarly to the retention policy, it is defined as enumeration (ElementType
) with the set of possible element types.
| Element Type | Description |
|---|---|
ANNOTATION_TYPE |
Annotation type declaration |
CONSTRUCTOR |
Constructor declaration |
FIELD |
Field declaration (includes enum constants) |
LOCAL_VARIABLE |
Local variable declaration |
METHOD |
Method declaration |
PACKAGE |
Package declaration |
PARAMETER |
Parameter declaration |
TYPE |
Class, interface (including annotation type), or enum declaration |
TYPE_PARAMETER |
Type parameter declaration |
TYPE_USE |
Use of a type |
In contrast to the retention policy, an annotation may declare multiple element types it can be associated with, using the @Target
annotation. For example:
import java.lang.annotation.ElementType; import java.lang.annotation.Target; @Target({ElementType.FIELD, ElementType.METHOD}) public @interface MyTag { }
Mostly all annotations you are going to create should have both retention policy and element types specified in order to be useful.
According to the source code, none of them has a default value, which means you must provide it, whenever you use the annotation. The meaning of the missing annotation is defined in the javadoc:
Target
meta-annotation is not present on an annotation type declaration, the declared type may be used on any program element.
笔记：从严格的意义上来讲，这里的说法不完全对，但这种说法能够简化认知难度。完整的内容应参考java.lang.annotation.Target的Javadoc文档。
Retention
annotation is present on an annotation type declaration, the retention policy defaults to RetentionPolicy.CLASS
.
Annotations may declare the attributes with or without default values, for example:
public @interface MyTag { String name(); int age() default 10; }
If an annotation declares an attribute without a default value, it should be provided in all places the annotation is being applied. For example:
@MyTag(name="Tom") public class HelloWorld { }
By convention, if the annotation has an attribute with the name value
and it is the only one which is required to be specified, the name of the attribute could be omitted, for example:
public @interface MyTag { String value(); int age() default 10; }
@MyTag("Tom") public class HelloWorld { }
There are a couple of limitations which in certain use cases make working with annotations not very convenient. 笔记：这里讲Annotation的局限性。
new
operator.
笔记：第二个局限，不能创建实例。
String
or Class<?>
types and arrays of those.
笔记：第三个局限，支持的属性类型有限。
No methods or constructors are allowed to be declared in the annotations.
笔记：不能声明方法和构造器。
Annotations are the syntactic sugar used to associate the metadata with different elements of Java language.
However, annotations by themselves do not have any direct effect on the element they are annotating.
Depending on the annotations and the way they are defined,
they may be used by Java compiler (the great example of that is the @Override
annotation), by annotation processors
and by the code at runtime using reflection and other introspection techniques.
The Java compiler supports a special kind of plugins called annotation processors (using the -processor
command line argument) which could process the annotations during the compilation phase.
Annotation processors can analyze the annotations usage (perform static code analysis), create additional Java source files or resources (which in turn could be compiled and processed) or mutate the annotated code.
The retention policy plays a key role by instructing the compiler which annotations should be available for processing by annotation processors.
Annotation processors are widely used, however to write one it requires some knowledge of how Java compiler works and the compilation process itself.
Annotations can also be processed at runtime via Java Reflection.


jsvpx Benchmarks and Tests
Test Parameters
Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terr.
Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip
Frames in Sequence
0
4% From last Week
Avg. Sequence Time
0
34% Percent Change
Avg Frame Time
2,500
34% From last Week
Avg Inter Frame Time
4,567
12% From last Week
Avg Intra Frame Time
2,315
34% From last Week
Total Iterations
7,325
34% From last Week
Total Inter Frames
0
4% From last Week
Total Intra Frames
0
Time in ms
Loop Filter Frames
2,500
34% From last Week
Avg Inter Frame Time
4,567
12% From last Week
Avg Intra Frame Time
2,315
34% From last Week
Total Iterations
7,325
34% From last Week


Isotope Mass Abundance Spin Mag Moment
75As 74.921594 100% 3/2 +1.43947
As I Ground State 1s22s22p63s23p63d104s24p3 4S°3/2 Ionization energy 78950 cm-1 (9.7886 eV) Ref. BJ71 As II Ground State 1s22s22p63s23p63d104s24p2 3P0 Ionization energy 149932 cm-1 (18.5892 eV) Ref. LA71


Guided Links
This page contains a few links used during the Plugfest's DATASIM section. These resources are included in the before-you-go materials, so using this page is entirely optional.
Profile URL
Profiles determine the kinds of statements that will be generated by DATASIM.
Personae URL
Personae determine the people (actors) of those statements.
Alignments URL
Alignments determine what activities the simulated actors will perform.
Parameters URL
Parameters configure additional information for the simulation, like start and end times.


{% include head.html %}
{{ page.title }}
webONES Blog at https://webones.github.io
View On GitHub
{% include navbar.html %}
{{ content }}
{% include footer.html %}


Text to encrypt:
Encrypted, base64-encoded value:
Client-side public key (can only encrypt, not decrypt):


Executor
Undocumented
-
Undocumented
-
Undocumented
-
Undocumented
-
Undocumented
-
Undocumented
-
Undocumented
-
Undocumented
-
Undocumented
-
Undocumented
-
Undocumented
-
Undocumented
-
Undocumented
-
Undocumented
-
Undocumented
-
Undocumented
-
Undocumented
-
Undocumented
-
Undocumented
-
Undocumented
-
Undocumented
-
Undocumented
-
Undocumented
-
Undocumented
-
Undocumented
-
Undocumented
-
Undocumented
-
Undocumented
-
Undocumented
-
Undocumented
-
Undocumented
-
Undocumented
-
Undocumented
-
Undocumented
-
Undocumented
-
So this will try and find the if the current code is running inside of an executor block. It uses a Thread dictionary to maintain the current running Executor. Will never return .Immediate, instead it will return the actual running Executor if known
Declaration
Swift
public static func getCurrentExecutor() -> Executor?
-
Undocumented
-
Will compare to Executors. warning: .Custom Executors can’t be compared and will always return ‘false’ when compared.
Declaration
Swift
public func isEqualTo(e:Executor) -> Bool
-
Undocumented


MSc by Research, 10-month extended research placement analysing Mitochondrial Protein Import in C. elegans with Professor Ian Collinson
BSc, 8-week laboratory placement studying Photosynthetic protein assmebly in R. spheoroides with Dr Mike Jones
Volunteering
The Loop
This role involves Cataloging controlled drug samples using the analytical techniques: infrared spectroscopy, chemical reagent testing, extraction and UV spectroscopy. The sample results are then forwarded to harm reduction team.The Loop
We The Curious
I demonstrate in A-level biology laboratory workshops, assist students with laboratory techniques as well as explaining the theoretical concepts behind the gene-technology based practicals.We The Curious


Zappy
Speed
1
10
50
100
150
200
500
Team
Players
Score
No team registered
Selected player
ID
#
Team
#
Level
#
#
Items
Amount
No player selected
Selected Case
Position X
#
Position Y
#
#
Items
Amount
No case selected


module Git.Types.GitTypes
( Name (..),
Author (..),
NameLog,
NameAuthDateStr,
NameAuthDay,
)
where
import qualified Data.Text as T
import qualified Data.Time.Calendar as C
newtype Name = Name T.Text deriving (Name -> Name -> Bool
(Name -> Name -> Bool) -> (Name -> Name -> Bool) -> Eq Name
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Name -> Name -> Bool
$c/= :: Name -> Name -> Bool
== :: Name -> Name -> Bool
$c== :: Name -> Name -> Bool
Eq, Eq Name
Eq Name =>
(Name -> Name -> Ordering)
-> (Name -> Name -> Bool)
-> (Name -> Name -> Bool)
-> (Name -> Name -> Bool)
-> (Name -> Name -> Bool)
-> (Name -> Name -> Name)
-> (Name -> Name -> Name)
-> Ord Name
Name -> Name -> Bool
Name -> Name -> Ordering
Name -> Name -> Name
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: Name -> Name -> Name
$cmin :: Name -> Name -> Name
max :: Name -> Name -> Name
$cmax :: Name -> Name -> Name
>= :: Name -> Name -> Bool
$c>= :: Name -> Name -> Bool
> :: Name -> Name -> Bool
$c> :: Name -> Name -> Bool
<= :: Name -> Name -> Bool
$c<= :: Name -> Name -> Bool
< :: Name -> Name -> Bool
$c< :: Name -> Name -> Bool
compare :: Name -> Name -> Ordering
$ccompare :: Name -> Name -> Ordering
$cp1Ord :: Eq Name
Ord, Int -> Name -> ShowS
[Name] -> ShowS
Name -> String
(Int -> Name -> ShowS)
-> (Name -> String) -> ([Name] -> ShowS) -> Show Name
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Name] -> ShowS
$cshowList :: [Name] -> ShowS
show :: Name -> String
$cshow :: Name -> String
showsPrec :: Int -> Name -> ShowS
$cshowsPrec :: Int -> Name -> ShowS
Show)
newtype Author = Author T.Text deriving (Author -> Author -> Bool
(Author -> Author -> Bool)
-> (Author -> Author -> Bool) -> Eq Author
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Author -> Author -> Bool
$c/= :: Author -> Author -> Bool
== :: Author -> Author -> Bool
$c== :: Author -> Author -> Bool
Eq, Eq Author
Eq Author =>
(Author -> Author -> Ordering)
-> (Author -> Author -> Bool)
-> (Author -> Author -> Bool)
-> (Author -> Author -> Bool)
-> (Author -> Author -> Bool)
-> (Author -> Author -> Author)
-> (Author -> Author -> Author)
-> Ord Author
Author -> Author -> Bool
Author -> Author -> Ordering
Author -> Author -> Author
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: Author -> Author -> Author
$cmin :: Author -> Author -> Author
max :: Author -> Author -> Author
$cmax :: Author -> Author -> Author
>= :: Author -> Author -> Bool
$c>= :: Author -> Author -> Bool
> :: Author -> Author -> Bool
$c> :: Author -> Author -> Bool
<= :: Author -> Author -> Bool
$c<= :: Author -> Author -> Bool
< :: Author -> Author -> Bool
$c< :: Author -> Author -> Bool
compare :: Author -> Author -> Ordering
$ccompare :: Author -> Author -> Ordering
$cp1Ord :: Eq Author
Ord, Int -> Author -> ShowS
[Author] -> ShowS
Author -> String
(Int -> Author -> ShowS)
-> (Author -> String) -> ([Author] -> ShowS) -> Show Author
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Author] -> ShowS
$cshowList :: [Author] -> ShowS
show :: Author -> String
$cshow :: Author -> String
showsPrec :: Int -> Author -> ShowS
$cshowsPrec :: Int -> Author -> ShowS
Show)
type NameLog = (Name, T.Text)
type NameAuthDateStr = (Name, Author, T.Text)
type NameAuthDay = (Name, Author, C.Day)


Learn how to EASILY create fancy looking title with only CSS
Style 1: Line text
The first style we would create is an outlined text, with a 3d text shape behind it. In order to create an “outline” for text, we would need to use the CSS property: -webkit-text-stroke-width
and -webkit-text-stroke-color
. These two property allow us to create an outline and give it the desired color.
For the 3d text shape, we could use multiple layer of text-shadow
property. Since text-shadow can be stacked, in this example, we could add many layers of pink shadow, where each layer offsetting the previous one for 1px in x and y direction. Giving the whole text-shadow a “3D” shape.
Let jump into the code.
HTML (as promise, one div):
SCSS:
I create some global variable to store the color and the size, $extra-large is 110px. For the color, check my codepen
This is a fairly easy style, we don’t even need to use a before or after pseudo-element. This is a good place to start as it teaches us two very important property in styling text, text-stroke-width
and text-shadow
. Say you want a more “3d-looking” text, you could easily add more layer of shadow to it, like so:
Applying 20px of box shadow
Style 2: Neon text
The next style we will create is neon. The text mimic a neon sign by creating lighting effect, also using a more “written” font style.
The first thing to do is to pick a suitable font for the neon text. I picked “Pacifico” (free font on google font) as it has a nice rounded border, and continuous stroke style. Pretty much like the sign made from a neon tube.
I believe you have guessed, we would apply -webkit-text-stroke-width
and -webkit-text-stroke-color
again as our base for the “neon”, text-shadow
would be used again for the “glowing” light around the neon. If you look carefully, there are one more set of “outlined-text”, in black color behind the neon. That is the drop shadow of the neon-tube. And we would use a :after pseudo-element to create it.
HTML:
SCSS:
one thing annoying is we need to set content of the pseudo-element manually. I tried to use
content: inherit
but it seems only possible when you set the content in your parent. As I want the HTML to have the text (for demo purpose), it is not really helpful for me.
I am not doing animation this time, but if you want, you could probably do some cool trick like turning the light on and off, changing it color gradiently and so on.
Style 3: Stripe text
This style has a lot of thing in common with the first style. Firstly, it also has a white border. And secondly, it has a 3d shaped text shadow. We already know how to use -webkit-text-stroke-width
,-webkit-text-stroke-color
andtext-shadow
to create such pattern. One thing different is the colorful stripe pattern of the text.
There are no “linear-gradient” available for text (as of June 2020, let me know if it is a thing now!), so we would need a workaround. Instead of making the text itself having color, we will first create a background, and then use the background-clip: text
property. This property will “clip” the div by the shape of your text, with a combination of making your text-color transparent, you will end up with text colored with whatever background you are using.
Same thing could be apply to image background, so you could basically give your text whatever texture
We would also use another font family to complement the overall style. The one I picked is “Catamaran” (also free on google font).
HTML:
SCSS:
You may notice I put the background and
background-clip: text
in the :after element, instead of the parent. The reason for that is “background-clip” clip EVERYTHING inside the element, include :before and :after element. So applying it there would cause the 3d shadow being clipped as well. In fact, the HTML don’t need to have the text at all. I am just adding it there for better sizing (as both after and before element are absolute positioned to parent) and demo purpose.
Style 4: Cut text
In all of the style, this one is actually my favourite. It is very different from the other style and our old friend -webkit-text-stroke-width
,-webkit-text-stroke-color
andtext-shadow
won’t be helping us this time (sorry about that).
In this style, we have a “cut” in the text, making the upper part of text sliding down in the cut angle. The whole design is also very clean and sharp.
The concept for creating this style is very simply, we make two pseudo element (before and after), and give them two clip-path
, where the two clip path together form a complete rectangle:
And then we just add a little bit offset for the upper part element to the right and downward, making the text slide down in the “cut” direction.
HTML:
SCSS:
For the same reason mentioned in last style, we cannot clip path on the parent directly. and you may also notice in the clip-path, I used 110% instead of 100%. The reason being that the text getting clipped at the very end due to using “italic” style. it is solved by changing the clip border from 100% to a higher number.
Style 5: Cyber text
Despite the fancy name, this style is the easiest. We will be using :before and :after pseudo-element, and transparent text-color overlaying on top of each other to create this “funky” effect. The text look kind of blur but actually it is completely straight if you look closely, it is the mixture of the color and minor offset giving it such behavior.
HTML:
SCSS:
The SCSS function rgba() allow us to quickly get a less opaque version of your base color, and make experimenting of different color combination easy. (There are also darken()/lighten()/adjust-hue() and soooo much more)
Style 6: Wood-text
This one is basically the same as the “stripe-text” style, as we are again using background-clip: text
property. As mentioned, with background-clip property you could easily create any pattern and texture of text, given that you have a background image.
One little twist of this style is the inner “shadow” of the text. It is in fact created with an after element with (again) -webkit-text-stroke-width
,-webkit-text-stroke-color
property.
HTML:
SCSS:
Looking back to it now, this one is my least favourite one. Mainly due to the background image I picked doesn’t really resemble wood. (in fact the highlight and shading of it make it looks more like metallic) For this type of text style, background image is the soul of it, and could ruin it pretty easily. Don’t make the same mistake I did and take your time to pick the perfect picture.
Style 7: Comic-text
This comic looking style text resemble old fashion comic text. Everything is heavily outlined, and the stroke are overly decorated. To start with, we will first need a font for this style. I picked “Molle”, again (guess you figure out the pattern by now) a free google font.
For the style itself, we will use our old friend -webkit-text-stroke-width
,-webkit-text-stroke-color
property (welcome back!).We would use all of our available HTML element for the style, the parent div, before, and after pseudo element.
HTML:
SCSS:
I am limiting myself to do it in one div only, but you can definitely adding more layer if you want to, just stack the element on top of eachother
Style 8: horizontal-cut-text
This style also has the word cut in it, but we won’t actually cut it. Instead, we will use a background gradient and background-clip: text
property again. We will stack two background, one with color at the top 50%, transparent at the bottom 50%, and another background a white and transparent stripe.
On top of the text, we would also add a text-shadow, to give more shape to it. Using a shadow on top of the text with dark background, resulting it having a fake “highlight”, which is the original color of the text.
HTML:
SCSS:
Again, another one without any after and before element. In case you don’t know already, you can stack background color as much as you want to. Using background property alone could already give us a lot of stunning pattern. If you are interested and want to learn more, you can check out this CSS3 Pattern Gallery: https://leaverou.github.io/css3patterns/
Style 9: Double-border-text
The final style, you guessed it, is a combination of -webkit-text-stroke-width
and pseudo-element. This is basically the same as the comic style, just with a different font, more consistent and aligned text and color theme.
Since it is very similar, I will jump into the code right now.
HTML:
SCSS:
One side note regarding
text-stroke-width
, it seems all powerful but has it own limitation. If the font you are using don’t have a beautiful and continuous stroke, your will get a “broken” stroke from the property. Also, be aware that if you set the stroke width too high, there may be unexpected “edge” from the stroke of the text, like below:
the edge is coming from the middle stroke of the “E”


| MaxMembers | StickySession | DisableFailover | Timeout | FailoverAttempts | Method | Path | Active |
|---|---|---|---|---|---|---|---|
| 8 [6 Used] | JSESSIONID | jsessionid | On | 0 | 5 | byrequests | / | Yes |
| Worker URL | Route | RouteRedir | Factor | Set | Status | Elected | Busy | Load | To | From |
|---|---|---|---|---|---|---|---|---|---|---|
| https://somehost0057:9101/hct | SOMEHOST-HEALTH-CHECK-4.0-somehost0057-1 | 1 | 0 | Init Ok | 0 | 0 | 0 | 0 | 0 | |
| https://somehost0057:9111/hct | SOMEHOST-HEALTH-CHECK-4.0-somehost0057-2 | 1 | 0 | Init Ok | 0 | 0 | 0 | 0 | 0 | |
| https://somehost0057:9121/hct | SOMEHOST-HEALTH-CHECK-4.0-somehost0057-3 | 1 | 0 | Init Ok | 0 | 0 | 0 | 0 | 0 | |
| https://somehost0058:9101/hct | SOMEHOST-HEALTH-CHECK-4.0-somehost0058-1 | 1 | 0 | Init Ok | 0 | 0 | 0 | 0 | 0 | |
| https://somehost0058:9111/hct | SOMEHOST-HEALTH-CHECK-4.0-somehost0058-2 | 1 | 0 | Init Ok | 0 | 0 | 0 | 0 | 0 | |
| https://somehost0058:9121/hct | SOMEHOST-HEALTH-CHECK-4.0-somehost0058-3 | 1 | 0 | Init Ok | 0 | 0 | 0 | 0 | 0 |
| MaxMembers | StickySession | DisableFailover | Timeout | FailoverAttempts | Method | Path | Active |
|---|---|---|---|---|---|---|---|
| 0 [-2 Used] | JSESSIONID | jsessionid | On | 0 | 5 | byrequests | / | Yes |
| Worker URL | Route | RouteRedir | Factor | Set | Status | Elected | Busy | Load | To | From |
|---|


Thorium in the form of metal is successfully used in metallurgy (doping of magnesium, etc.), giving the alloy higher performance characteristics