The New Relic Ruby agent monitors your applications to help you identify and solve performance issues. You can also extend the agent’s performance monitoring to collect and analyze business data to help you improve the customer experience and make data-driven business decisions.
The New Relic Ruby Agent is dual-purposed as a either a Gem or a Rails plugin, hosted on github.
An up-to-date list of Ruby versions and frameworks for the latest agent can be found on our docs site.
You can also monitor non-web applications. Refer to the “Other Environments” section below.
For using with Bundler, add the Ruby Agent to your project’s Gemfile.
and run bundle install
to activate the new gem.
If you are not using Bundler, install the gem with:
and then require the New Relic Ruby agent in your Ruby start-up sequence:
Assuming you have installed the agent per above, you may also need to tell the Ruby agent to start for some frameworks and non-framework environments. To do so, add the following to your Ruby start-up sequence start the agent:
For complete documentation on installing the New Relic Ruby agent, see the following links:
The Ruby Agent supports recording deployments in New Relic via a command line tool or Capistrano recipes. For more information on these features see our deployment documentation for more information.
Should you need assistance with New Relic products, you are in good hands with several support diagnostic tools and support channels.
This troubleshooting framework steps you through common troubleshooting questions.
New Relic offers NRDiag, a client-side diagnostic utility that automatically detects common problems with New Relic agents. If NRDiag detects a problem, it suggests troubleshooting steps. NRDiag can also automatically attach troubleshooting data to a New Relic Support ticket.
If the issue has been confirmed as a bug or is a Feature request, please file a Github issue.
Support Channels
At New Relic we take your privacy and the security of your information seriously, and are committed to protecting your information. We must emphasize the importance of not sharing personal data in public forums, and ask all users to scrub logs and diagnostic information for sensitive information, whether personal, proprietary, or otherwise.
We define “Personal Data” as any information relating to an identified or identifiable individual, including, for example, your name, phone number, post code or zip code, Device ID, IP address and email address.
Please review New Relic’s General Data Privacy Notice for more information.
See our roadmap, to learn more about our product vision, understand our plans, and provide us valuable feedback.
We encourage contributions to improve the New Relic Ruby agent! Keep in mind when you submit your pull request, you’ll need to sign the CLA via the click-through using CLA-Assistant. You only have to sign the CLA one time per project. If you have any questions, or to execute our corporate CLA, required if your contribution is on behalf of a company, please drop us an email at<EMAIL_ADDRESS>A note about vulnerabilities
As noted in our security policy, New Relic is committed to the privacy and security of our customers and their data. We believe that providing coordinated disclosure by security researchers and engaging with the security community are important means to achieve our security goals.
If you believe you have found a security vulnerability in this project or any of New Relic’s products or websites, we welcome and greatly appreciate you reporting it to New Relic through HackerOne.
If you would like to contribute to this project, please review these guidelines.
To all contributors, we thank you! Without your contribution, this project would not be what it is today. We also host a community project page dedicated to the New Relic Ruby agent.
The New Relic Ruby agent is licensed under the Apache 2.0 License. The New Relic Ruby agent also uses source code from third-party libraries. Full details on which libraries are used and the terms under which they are licensed can be found in the THIRD_PARTY_NOTICES.md.
Thank you, and may your application scale to infinity plus one.
Lew Cirne, Founder and CEO
New Relic, Inc.


Enter your name: Enter your age :
Select your gender: Female Male
I don't want to tell you my age.
Your selections will appear here:
You Make Us Do Better!
Submit
Limit to 500 characters


OpenGridMap.org - Server Error 500
Oops, looks like something went wrong
We are working on the problem. Please try again later!


3.2.4. Request Unit Test (RESTful Web Service)¶
<IP_ADDRESS>. Summary¶
Request Unit Test (REST) uses the built-in server for testing in the same way as Request Unit Test (web application) . Only RESTful web services runtime platform requires more modules than the other platforms, so the modules listed in Module List need to be added to the dependencies.
<IP_ADDRESS>.1. Overall picture¶
<IP_ADDRESS>.2. Main Classes, resources¶
| Name | Role | Creation unit |
|---|---|---|
| Test class | Implement the test logic. | Create one per class (Action) to be tested. |
| Test data (Excel file) | Describe test data such as preparation data, expected results, HTTP parameters, etc. to be stored in a table. | Create one per test class |
| Class to be tested (Action) | Class to be tested (includes each class that implements business logic after Action) | Create one class per subfunction |
| DbAccessTestSupport | Provides the necessary functions for testing using the database, such as preparation data input. | - |
| HttpServer | Built-in server. Operates as a servlet container having the function to output HTTP response to a file. | - |
| RestTestSupport | Provides various asserts that are required for starting the built-in server and for the request unit test. | - |
<IP_ADDRESS>.3. Module list¶
<!-- Testing Framework Mainframe -->
<dependency>
<groupId>com.nablarch.framework</groupId>
<artifactId>nablarch-testing-rest</artifactId>
<scope>test</scope>
</dependency>
<!-- Default settings used by the testing framework -->
<dependency>
<groupId>com.nablarch.configuration</groupId>
<artifactId>nablarch-testing-default-configuration</artifactId>
<scope>test</scope>
</dependency>
<!-- Implementation of an built-in server used by the testing framework -->
<dependency>
<groupId>com.nablarch.framework</groupId>
<artifactId>nablarch-testing-jetty6</artifactId>
<scope>test</scope>
</dependency>
Important
nablarch-testing-rest
depends on nablarch-testing
(Testing framework) .
Adding the above module to the dependencies allows you to use Testing framework‘s API as well.
Tip
If you are using Java11 replace the built-in server as described in Change of Jetty module used in automatic test (only for web projects or RESTful web service projects) .
<IP_ADDRESS>.4. Configuration¶
If you created a blank project from an archetype, the testing framework has been configured in src/test/resources/unit-test.xml
.
Load the following configuration file provided by default to add the configuration of the testing framework for RESTful web service.
<import file="nablarch/test/rest-request-test.xml"/>
See Various configuration values for request unit test settings.
Tip
The above is already configured if you create a blank project for RESTful web service from the Nablarch5u18 and later archetypes. For web and batch projects, the above must be added.
<IP_ADDRESS>. Structure¶
<IP_ADDRESS>.1. SimpleRestTestSupport¶
Superclass prepared for the request unit test. Provides methods for the request unit test.
If you don’t need database related features, use this class instead of RestTestSupport
as described below.
It has the same features as RestTestSupport below for Pre-preparation assistance features, Execution, and Results Check.
Tip
In case of using RestTestSupport, you need to prepare a dbInfo
or testDataParser
component.
If you do not need a database dependency, you can use SimpleRestTestSupport
to simplify component definition.
<IP_ADDRESS>.2. RestTestSupport¶
Superclass prepared for the request unit test. It provides methods for request unit testing.
It inherits from SimpleRestTestSupport
and has database related features.
<IP_ADDRESS>.4. Pre-preparation assistance features¶
Sending a request to the built-in server requires an instance of HttpRequest
.
RestTestSupport
class provides five methods to make it easy to create a RestMockHttpRequest
object that extends HttpRequest
for request unit testing.
RestMockHttpRequest get(String uri)
RestMockHttpRequest post(String uri)
RestMockHttpRequest put(String uri)
RestMockHttpRequest patch(String uri)
RestMockHttpRequest delete(String uri)
In the argument, the following values are passed on.
- Request URI for testing
These methods create a RestMockHttpRequest
instance based on the received request URI and return it with the HTTP method set according to the method name. If you want to set data other than the URI, such as request parameters, set the data for the instance obtained by this method call.
If you want to create an object of RestMockHttpRequest
using an HTTP method other than the above, use the following method.
RestMockHttpRequest newRequest(String httpMethod, String uri)
Pass the HTTP method in the first argument and the request URI for testing in the second argument.
Tip
RestMockHttpRequest
is implemented to override a method and return an instance of itself to allow you to set parameters and more in a fluent interface.
See Javadoc for more information on the available methods.
An example of building a request
RestMockHttpRequest request = post("/projects")
.setHeader("Authorization","Bearer token")
.setCookie(cookie);
<IP_ADDRESS>.5. Execution¶
By calling the following method in RestTestSupport
, the built-in server will be started and the request will be sent.
HttpResponse sendRequest(HttpRequest request)
<IP_ADDRESS>.6. Result validation¶
<IP_ADDRESS>.6.1. Status code¶
validate that the response HTTP status code is as expected by calling the following method in RestTestSupport
.
void assertStatusCode(String message, HttpResponse.Status expected, HttpResponse response);
In the argument, the following values are passed on.
- Assert failure message
- Expected Status (Enum of
HttpResponse.Status
) HttpResponse
instance returned from the built-in server
Assert failureif the response status code does not match the expected status code.
<IP_ADDRESS>.6.2. Response body¶
The framework does not provide a mechanism for response body validation. Use libraries such as JSONAssert(external site), json-path-assert(external site), or XMLUnit(external site) according to the requirements of each project.
Tip
If you have created a RESTful web service blank project, the above JSONAssert (external site), json-path-assert(external site) and XMLUnit(external site) are listed in pom.xml. Delete or replace libraries as necessary.
Supplementary features of response body validation
In some case of validating a response body, you may want to prepare the expected body as a JSON or XML file.
To assist testing when an external library accepts only a String
as an expectation value argument, such as JSONAssert,
RestTestSupport
has a method to read the file and convert it to a String
.
String readTextResource(String fileName)
This method reads a file from a resource in a directory with the same name as the test class with the file name specified in the argument,
and converts it to a String
as follows.
| File type | Directory | File name |
|---|---|---|
| Test Class Source File | <PROJECT_ROOT>/test/java/com/example/ | SampleTest.java |
| Response body’s expected value file | <PROJECT_ROOT>/test/resources/com/example/SampleTest | response.json(specified in the argument fileName) |
<IP_ADDRESS>. Various configuration values¶
For preference-dependent configuration values, you can change them in the component configuration file.The configurable items are listed below.
<IP_ADDRESS>.1. Component configuration file list of configuration items¶
| items | Description | Default value |
|---|---|---|
| webBaseDir | root directory of your web application[1] | src/main/webapp |
| webFrontControllerKey | Web front controller repository keys[2] | webFrontController |
| [1] | If there is a common web module in the project, specify a comma-separated directory for this property. If more than one module is specified, the resources are loaded in order from the head. Examples are shown below. <component name="restTestConfiguration" class="nablarch.test.core.http.RestTestConfiguration">
<property name="webBaseDir" value="/path/to/web-a/,/path/to/web-common"/>
In this case, the resources are searched for web-a, then web-common, in that order. |
| [2] | May want to register a web front controller as a component with a name other than the default “webFrontController”, such as when the web application runtime platform and the web service runtime platform are executed in a single war. In such cases, Can control the handlers executed by the built-in server by configuring this property with the repository key of the web front controller used by the web service. Examples are shown below. A component definition in which the web front controller ( <!-- Handler queue configuration -->
<component name="webFrontController" class="nablarch.fw.web.servlet.WebFrontController">
<property name="handlerQueue">
<list>
<component class="nablarch.fw.web.handler.HttpCharacterEncodingHandler"/>
<component class="nablarch.fw.handler.GlobalErrorHandler"/>
<component class="nablarch.common.handler.threadcontext.ThreadContextClearHandler"/>
<component class="nablarch.fw.web.handler.HttpResponseHandler"/>
.
.
.
(Omitted)
</list>
</property>
</component>
<component name="jaxrsController" class="nablarch.fw.web.servlet.WebFrontController">
<property name="handlerQueue">
<list>
<component class="nablarch.fw.web.handler.HttpCharacterEncodingHandler"/>
<component class="nablarch.fw.handler.GlobalErrorHandler"/>
<component class="nablarch.fw.jaxrs.JaxRsResponseHandler"/>
.
.
.
(Omitted)
</list>
</property>
</component>
Using the testing framework for RESTful web services runtime platform with default settings will use the “webFrontController” and thus run a web front controller for the web application. Can use the web front controller for web services by overriding the settings as follows. <import file="nablarch/test/rest-request-test.xml"/>
<!-- Override the default component definition after import. -->
<component name="restTestConfiguration" class="nablarch.test.core.http.RestTestConfiguration">
<property name="webFrontControllerKey" value="jaxrsController"/>
|


title: Builtin Modules status: proposal stage: 1 date: 2020-09-10 location: https://github.com/tc39/proposal-built-in-modules copyright: false contributors: Michael Saboff & Mattijs Hoitink
Proposal to add a mechanism for enabling a more extensive standard library in JavaScript via a collection of built in modules. With this infrastructure in place it will be possible to start iterating on standard library features as additional modules.
This Standard defines the ECMAScript 2021 general-purpose programming language.
...
A Module Record encapsulates structural information about the imports and exports of a single module. This information is used to link the imports and exports of sets of connected modules. A Module Record includes four fields that are only used when evaluating a module.
For specification purposes Module Record values are values of the Record specification type and can be thought of as existing in a simple object-oriented hierarchy where Module Record is an abstract class with both abstract and concrete subclasses. This specification defines the abstract subclass named Cyclic Module Record and its concrete subclass named Source Text Module Record. Other specifications and implementations may define additional Module Record subclasses corresponding to alternative module definition facilities that they defined.
Module Record defines the fields listed in
| Field Name | Value Type | Meaning |
|---|---|---|
| [[Realm]] | Realm Record | *undefined* | The Realm within which this module was created. *undefined* if not yet assigned. |
| [[Environment]] | module Environment Record | *undefined* | The Environment Record containing the top level bindings for this module. This field is set when the module is linked. |
| [[Namespace]] | Object | *undefined* |
The Module Namespace Object ( |
| [[HostDefined]] | Any, default value is *undefined*. | Field reserved for use by host environments that need to associate additional information with a module. |
| Method | Purpose |
|---|---|
| GetExportedNames([_exportStarSet_]) | Return a list of all names that are either directly or indirectly exported from this module. |
| ResolveExport(_exportName_ [, _resolveSet_]) |
Return the binding of a name exported by this module. Bindings are represented by a ResolvedBinding Record, of the form { [[Module]]: Module Record, [[BindingName]]: String }. If the export is a Module Namespace Object without a direct binding in any module, [[BindingName]] will be set to *"\*namespace\*"*. Return *null* if the name cannot be resolved, or *"ambiguous"* if multiple bindings were found. Each time this operation is called with a specific _exportName_, _resolveSet_ pair as arguments it must return the same result if it completes normally. |
| Link() |
Prepare the module for evaluation by transitively resolving all module dependencies and creating a module Environment Record. |
| Evaluate() |
If this module has already been evaluated successfully, return *undefined*; if it has already been evaluated unsuccessfully, throw the exception that was produced. Otherwise, transitively evaluate all module dependencies of this module and then evaluate this module. Link must have completed successfully prior to invoking this method. |
A Synthetic Module Record is used to represent information about a module that is defined by specifications. Its exports are derived from a pair of lists, of string keys and of ECMAScript values. The set of exported names is static, and determined at creation time (as an argument to CreateSyntheticModule), while the set of exported values can be changed over time using SetModuleExport. It has no imports or dependencies.
In addition to the fields defined in
| Field Name | Value Type | Meaning |
|---|---|---|
| [[ExportNames]] | List of String | A List of all names that are exported. |
| [[IsFrozen]] | Boolean | If *true*, the module cannot be modified. |
| [[EvaluationSteps]] | An abstract operation | An abstract operation that will be performed upon evaluation of the module, taking the Synthetic Module Record as its sole argument. These will usually set up the exported values, by using SetModuleExport. They must not modify [[ExportNames]]. They may return an abrupt completion. |
The abstract operation CreateSyntheticModule creates a Synthetic Module Record based upon the given exported names and evaluation steps. It performs the following steps:
The following are the concrete methods for Synthetic Module Record that implement the corresponding Module Record abstract methods.
The Freeze concrete method of a Synthetic Module Record implements the corresponding Module Record abstract method.
It performs the following steps:
The GetExportedNames concrete method of a Synthetic Module Record implements the corresponding Module Record abstract method.
It performs the following steps:
The ResolveExport concrete method of a Synthetic Module Record implements the corresponding Module Record abstract method.
It performs the following steps:
The abstract operation SetModuleExport can be used to set or change the exported value for a pre-established export of a Synthetic Module Record. It performs the following steps:
The Instantiate concrete method of a Synthetic Module Record implements the corresponding Module Record abstract method.
It performs the following steps:
The Evaluate concrete method of a Synthetic Module Record implements the corresponding Module Record abstract method.
It performs the following steps:
This non-normative section shows how one could define a few different Synthetic Module Records.
The following algorithm, given an object _object_, creates a Synthetic Module Record which default-exports the object. This might be useful, for example, for JSON or CSS modules.
The following algorithm creates a Synthetic Module Record with a single export, `"add"`, which provides a built-in function object that adds its two arguments.
An example adder function is an anonymous built-in function. When called with arguments _arg1_ and _arg2_, the following steps are taken:
HostHasBuiltinModule is a host-defined abstract operation that provides a means check for a module registered with |ModuleSpecifier| String, _specifier_, occurring within the context of the script or module represented by the Script Record or Module Record _referencingScriptOrModule_. _referencingScriptOrModule_ may also be *null*, if the resolution is being performed in the context of an
The implementation of HostResolveBuiltinModule must conform to the following requirements:
Multiple different _referencingScriptOrModule_, _specifier_ pairs may map to the same Module Record instance. The actual mapping semantic is host-defined but typically a normalization process is applied to _specifier_ as part of the mapping process. A typical normalization process would include actions such as alphabetic case folding and expansion of relative and abbreviated path specifiers.
HostCreateBuiltinModule is a host-defined abstract operation that adds a module defined by the Synthetic Module Record, _module_, with the key |ModuleSpecifier| String, _specifier_, within the context of the script or module represented by the Script Record or Module Record _referencingScriptOrModule_.
The implementation of HostCreateBuiltinModule must conform to the following requirements:
HostResolveBuiltinModule is a host-defined abstract operation that provides the Synthetic Module Record instance that corresponds to the |ModuleSpecifier| String, _specifier_, occurring within the context of the script or module represented by the Script Record or Module Record _referencingScriptOrModule_. _referencingScriptOrModule_ may also be *null*, if the resolution is being performed in the context of an
It is possible for a host to implement this abstract operation with HostResolveImportedModule.
The implementation of HostResolveBuiltinModule must conform to the following requirements:
Multiple different _referencingScriptOrModule_, _specifier_ pairs may map to the same Module Record instance. The actual mapping semantic is host-defined but typically a normalization process is applied to _specifier_ as part of the mapping process. A typical normalization process would include actions such as alphabetic case folding and expansion of relative and abbreviated path specifiers.
HostResolveImportedModule is a host-defined abstract operation that provides the concrete Module Record subclass instance that corresponds to the |ModuleSpecifier| String, _specifier_, occurring within the context of the script or module represented by the Script Record or Module Record _referencingScriptOrModule_. _referencingScriptOrModule_ may also be *null*, if the resolution is being performed in the context of an
An example of when _referencingScriptOrModule_ can be *null* is in a web browser host. There, if a user clicks on a control given by
<button type="button" onclick="import('./foo.mjs')">Click me</button>
there will be no active script or module at the time the
The implementation of HostResolveImportedModule must conform to the following requirements:
Multiple different _referencingScriptOrModule_, _specifier_ pairs may map to the same Module Record instance. The actual mapping semantic is host-defined but typically a normalization process is applied to _specifier_ as part of the mapping process. A typical normalization process would include actions such as alphabetic case folding and expansion of relative and abbreviated path specifiers.
HostImportModuleDynamically is a host-defined abstract operation that performs any necessary setup work in order to make available the module corresponding to the |ModuleSpecifier| String, _specifier_, occurring within the context of the script or module represented by the Script Record or Module Record _referencingScriptOrModule_. (_referencingScriptOrModule_ may also be *null*, if there is no active script or module when the
The implementation of HostImportModuleDynamically must conform to the following requirements:
The actual process performed is host-defined, but typically consists of performing whatever I/O operations are necessary to allow HostResolveImportedModule to synchronously retrieve the appropriate Module Record, and then calling its Evaluate concrete method. This might require performing similar normalization as HostResolveImportedModule does.
The abstract operation FinishDynamicImport takes arguments _referencingScriptOrModule_, _specifier_, _promiseCapability_ (a PromiseCapability Record), and _completion_. FinishDynamicImport completes the process of a dynamic import originally started by an
The abstract operation GetModuleNamespace takes argument _module_. It retrieves the Module Namespace Object representing _module_'s exports, lazily creating it the first time it was requested, and storing it in _module_.[[Namespace]] for future retrieval. It performs the following steps when called:
The only way GetModuleNamespace can throw is via one of the triggered HostResolveImportedModule calls. Unresolvable names are simply excluded from the namespace at this point. They will lead to a real linking error later unless they are all ambiguous star exports that are not explicitly requested anywhere.
The value of a |ModuleItemList| is the value of the last value-producing item in the |ModuleItemList|.
The Standard Library contains a set of modules builtin within the implementation. These builtin library modules may reside within the ECMAScript language implementation or they may be part of the containing host.
Importing a library follows the same syntax as importing any other type of module. The difference is the format of the |StringLiteral| of a standard library begins with a |ModuleDomain| that specifies where the module resides. For ECMAScript modules, the |ModuleDomain| is `js:`. Host environments can define additional |ModuleDomain|s.
A Map of provided builtin modules is included in the global environment. That Map contains a Builtin Module Record for each builtin module availble within the implementation. The fields of Builtin Module Records are specified in
| Field Name | Value | Meaning |
|---|---|---|
| [[Identifier]] | String | The name used to refer to this Builtin Library. This must be unique in the Map of builtin library modules. |
| [[SyntheticModuleRecord]] | ModuleRecord | The module record for builtin library. |
| [[HostDefined]] | Any, default value is *undefined*. | Field reserved for use by host environments that need to associate additional information with this Library. |
A Loader provides the means of resolving and loading builtin modules stored in an implementation defined way. There can be multiple loaders, each responsible for resolving and loading builtin modules. Multiple loaders can resolve the modules specified with the same _ModuleSpecifier_. A loader must implement the methods described in
The following additional fields are provided on the global environment as described in
| Field Name | Value | Meaning |
|---|---|---|
| [[BuiltinModuleMap]] | A List of Record { [[Identifier]]: String, [[ModuleRecord]]: Builtin Module Record } | Each Identifier is the same identifier of the associated Builtin Module Record. |
| [[Loader]] | The ECMAScript language Loader. | The Loader that implements the builtin module resolution and loading. |
A Builtin Module Resolution Record is used to represent information during the loading of a module built in to the host. Resolution and loading of these modules occurs locally.
Builtin Module Records are specified in
| Field Name | Value Type | Meaning |
|---|---|---|
| [[Status]] | String | Initially `"uninitialized"`. Transitions to `"resolving"`, `"resolved"`, `"loading"`, `"loaded"` (in that order) as the module progresses throughout the loading process. |
| [[ResolvingLoaders]] | List of Loaders | The list of all Loaders that can resolve and load this module. The list is sorted from highest priority to lowest. |
Builtin Module Resolution Records are used with the methods specified in
| Method | Purpose |
|---|---|
| ResolveModuleIdentifier() | Determine if an imported can resolve a module. |
| LoadModuleIdentifier() | Load a module from the current importer. |
The ResolveModuleIdentifier concrete method implements the module resolution part of the Builtin Module import process.
Each Loader needs to provide this method to participate in the Builtin Module resolution and loading process. The abstract method described here is what is required for the ECMAScript language implementation. Hosts that provide additional Loaders must provide a ResolveModuleIdentifier method each Loader.
If the Loader is able to successfully resolve the module identified by _ModuleIdentifier_, it sets this ResolveModuleResolutionRecord's [[Status]] to `"resolved"` and adds the current _Loader_ to the front of the [[ResolvingLoaders]] list.
This abstract method performs the following steps:
The LoadModuleIdentifier concrete method implements the module loading part of the Builtin Module import process.
Each Loader needs to provide this method to participate in the Builtin Module resolution and loading process. The abstract method described here is what is required for the ECMAScript language implementation. Hosts that provide additional Loaders must provide a ResolveModuleIdentifier method each Loader.
If the Loader is able to successfully load the _module_, it ResolveModuleIdentifier set module's [[Status]] to `"resolved"` and adds the current _Loader_ to the front of the [[ResolvingLoaders]] list.
This abstract method performs the following steps:
Importing a Builtin Module involves resolving where the module can be loaded from and then actually loading the module. One or more Loaders can participate in the importing process.
A List of loaders in available in an implementation defined way. The first loader in that list must be the ECMAScript loader. Subsequent loaders in that list appear in decending resolution order. Loading priority order starts from the back of the list.
ImportBuiltinModule is the abstract operation that returns the concrete Module Record instance that corresponds to the |ModuleSpecifier| String, _specifier_, occurring within the context of the module represented by the Module Record _referencingModule_.
This abstract operation performs the following steps.
...
See
See
See
See
See
The BuiltinModule object:
When the `export` function is called with arguments _moduleSpecifier_, and _exports_, the following steps are taken:
When the `freezeModule` function is called with arguments _moduleSpecifier_, the following steps are taken:
When the `freezeAllModules` function is called, the following steps are taken:
When the `hasModule` function is called with arguments _moduleSpecifier_ the following steps are taken:
When the `export` function is called with arguments _moduleSpecifier_, the following steps are taken:
HostCallJobCallback(...)
HostEnqueueFinalizationRegistryCleanupJob(...)
HostEnqueuePromiseJob(...)
HostEnsureCanCompileStrings(...)
HostFinalizeImportMeta(...)
HostGetImportMetaProperties(...)
HostHasSourceTextAvailable(...)
HostImportModuleDynamically(...)
HostMakeJobCallback(...)
HostPromiseRejectionTracker(...)
HostHasBuiltinModule(...)
HostCreateBuiltinModule(...)
HostResolveBuiltinModule(...)
HostResolveImportedModule(...)
InitializeHostDefinedRealm(...)


{% extends "layout.html" %} {% block pageTitle %} Verify the email address {% endblock %} {% block beforeContent %} {% include ".././includes/phase.html" %} {{ govukBackLink({ text: "Back", href: "javascript:history.back()" }) }} {% endblock %} {% block content %}
We've sent an email to {% if (emailAddress == null) %}<EMAIL_ADDRESS>{% else %} {{data['emailAddress']}} {% endif %} . Click on the link in the email to verify your email address.
Check your junk folder. If it is not there we can send it again. If we send it again, any previous links will stop working.


When you work with us, you are part of the team of committed collaborators.
All aspects of our software
development process are intergrated, iterative and agile.
Our approach unifies design,
development and
product management to create exceptional products.
We start each project by understanding your business
goals,
the user's needs and the product requirements.
Then we help translate them into effective and elegant
solutions
Our design practice offers a full range of services including brand strategy,
interaction and
visual design and user experience testing.
Throughout your project, our designers create and implement visual design and workflows,
solicit
user feedback and work with you to make sure what gets built is what is needed
All engineers are fluent in the latest enterprise,mobile and web development technologies.
They
collaborate with your team to write, and improve code on a daily basis, using proven practices such
as test-driven development and pair programming.
Planning and development is iterative.
Because we are constantly coding and testing, the products
we build are always ready to go live.
This iterative process allows for changes as business
requirements evolve.


What is the ChoiceScript IDE?
The ChoiceScript IDE began long ago as a very simple online ‘snippet tester’ for ChoiceScript. You could instantly run copy-pasted ChoiceScript snippets from the CoG forums without having to download, unzip, and set up your ChoiceScript environment.
Over the years, that initial concept evolved into something much bigger, and that is the ChoiceScript IDE (CSIDE). The ChoiceScript IDE, unlike its predecessor, is a complete development environment for the ChoiceScript language. It contains everything you need to fully develop your own ChoiceScript games, from start to finish, all in one neat and cohesive package.
It includes a code editor for writing and scripting, a built-in copy of ChoiceScript (and both of its automated tests), for testing and running your game side-by-side with your code. It will log errors and highlight (and focus) on the problematic lines, spell-check your work and even handle your indentation for you (alongside much, much more!).
Notable Features
| Feature | ChoiceScript IDE |
|---|---|
| Builtin Copy of ChoiceScript | |
| ChoiceScript Console | |
| Automatic Updates | |
| Side by Side Coding & Testing | |
| Automatic Issue Tracking | |
| Support for Project Import, Export and Compilation | |
| Builtin Spellcheck and User Dictionary | |
| Custom File Extensions (and other lock-in like behaviour) |
Why the ChoiceScript IDE?
We’ll assume that, if you’re here, you’re familiar with ChoiceScript and (or) planning to use the language to develop a piece of interactive fiction. So let us answer this question with another, why ChoiceScript? It’s not the most powerful language, it’s not remarkably feature-rich, nor is it renowned for its performance or popularity.  Fun, easy to learn and well suited to what it does best. The ChoiceScript IDE plays to these strengths, and tries to bring out the very best in language. The aim is to make writing those pieces of interactive fiction in ChoiceScript, as easy, as fun and as pain free, as it could ever possibly be. CSIDE takes out as much of the repetition and complexity as it can without infringing on the fun factor and flexiblity of the language, or the freedom and creativity of its users.
Legal
The Choicescript IDE, or CSIDE (seaside), is a development environment designed to help writers of interactive novels using the Choicescript scripting language, from Choice of Games LLC.
The Choicescript IDE is a third party product developed indepedently by CJW (of the COG forums), and is maintained and supported by volunteers known as ‘The CSIDE Team’. IN NO WAY is the ChoiceScript IDE officially endorsed by (or representative of) Choice of Games LLC. ChoiceScript is (c) Dan Fabulich. The ChoiceScript IDE is (c) Carey Williams (CJW).


- oAuth2Callback(StringParameter, StringParameter, StringParameter) - Method in class service.tut.pori.users.facebook.FacebookUserService
-
This method is called by Facebook after user has either denied or granted the service permission to his/her Facebook account, and is not meant to be used directly by the end-users.
- oAuth2Callback(StringParameter, StringParameter, StringParameter) - Method in class service.tut.pori.users.google.GoogleUserService
-
This method is called by Google after user has either denied or granted the service permission to his/her Google account, and is not meant to be used directly by the end-users.
- OAuth2Token - Class in service.tut.pori.users.google
-
OAuth2 Token
- OAuth2Token() - Constructor for class service.tut.pori.users.google.OAuth2Token
-
- oAuthAuthorizeCallback(StringParameter, StringParameter) - Method in class service.tut.pori.users.twitter.TwitterUserService
-
This method is called by Twitter after user has either denied or granted the service permission to his/her Twitter account, and is not meant to be used directly by the end-users.
- oAuthLoginCallback(AuthenticationParameter, StringParameter, StringParameter) - Method in class service.tut.pori.users.twitter.TwitterUserService
-
This method is called by Twitter after user has either denied or granted the service permission to his/her Twitter account, and is not meant to be used directly by the end-users.
- oAuthRegisterCallback(StringParameter, StringParameter) - Method in class service.tut.pori.users.twitter.TwitterUserService
-
This method is called by Twitter after user has either denied or granted the service permission to his/her Twitter account, and is not meant to be used directly by the end-users.
- onClose(Session, CloseReason) - Method in class core.tut.pori.websocket.SocketService
-
- onError(Session, Throwable) - Method in class core.tut.pori.websocket.SocketService
-
The default implementation will simply print the exception to log and close the session.
- Option(String, SQLSelectBuilder.OrderDirection, String) - Constructor for class core.tut.pori.http.parameters.SortOptions.Option
-
- OrClause - Class in core.tut.pori.dao.clause
-
A simple SQL WHERE OR clause.
- OrClause(String, Object, SQLClause.SQLType) - Constructor for class core.tut.pori.dao.clause.OrClause
-
- OrClause(String, Object[], SQLClause.SQLType) - Constructor for class core.tut.pori.dao.clause.OrClause
-
- OrClause(String, Collection<? extends Object>, SQLClause.SQLType) - Constructor for class core.tut.pori.dao.clause.OrClause
-
- OrClause(String, int[]) - Constructor for class core.tut.pori.dao.clause.OrClause
-
- OrClause(String, long[]) - Constructor for class core.tut.pori.dao.clause.OrClause
-
- OrClause(String, double[]) - Constructor for class core.tut.pori.dao.clause.OrClause
-
- OrClause(String, boolean[]) - Constructor for class core.tut.pori.dao.clause.OrClause
-
- ORDER_DIRECTION_ASCENDING - Static variable in class core.tut.pori.http.parameters.SortOptions
-
String for ascending sort
- ORDER_DIRECTION_DESCENDING - Static variable in class core.tut.pori.http.parameters.SortOptions
-
String for descending sort
- OrQueryFilter - Class in core.tut.pori.dao.filter
-
Basic and filter with OR relation to other query filters, the values themselves have OR relation with one another.
- OrQueryFilter(String, Collection<? extends Object>) - Constructor for class core.tut.pori.dao.filter.OrQueryFilter
-
- OrQueryFilter(String, Object) - Constructor for class core.tut.pori.dao.filter.OrQueryFilter
-
- OrQueryFilter(String, long[]) - Constructor for class core.tut.pori.dao.filter.OrQueryFilter
-
- OrQueryFilter(String, int[]) - Constructor for class core.tut.pori.dao.filter.OrQueryFilter
-
- OrSubClause - Class in core.tut.pori.dao.clause
-
Create and SQL sub-clause with OR prefix.
- OrSubClause(WhereClause[]) - Constructor for class core.tut.pori.dao.clause.OrSubClause
-
- OrSubClause() - Constructor for class core.tut.pori.dao.clause.OrSubClause
-
- OrSubQueryFilter - Class in core.tut.pori.dao.filter
-
class for creation OR sub queries.
- OrSubQueryFilter(AbstractQueryFilter[]) - Constructor for class core.tut.pori.dao.filter.OrSubQueryFilter
-
- OrSubQueryFilter(Collection<AbstractQueryFilter>) - Constructor for class core.tut.pori.dao.filter.OrSubQueryFilter
-
- OrSubQueryFilter() - Constructor for class core.tut.pori.dao.filter.OrSubQueryFilter
-
initialize empty sub query filter


Albert Einstein
(E=mc2)Physicist, Scientist (1879-1955)
10 Things You Didn't Know About Albert Einstein:
- He never failed math. This is a popular “fact” promoted on the internet, maybe in an attempt to relate to genius. However, it is simply not true. Overall, Einstein was an average student, but math was one area where he excelled, unsurprisingly.
- Einstein encouraged the development of the nuclear bomb. His involvement is often misinterpreted, with some claiming that he helped create the atom bomb. In reality, what he did was write a letter to President FDR encouraging him to begin work on such a weapon, which led to the Manhattan Project. Although a dedicated pacifist and, later, an anti-nuke spokesman, Einstein was convinced that America needed the atomic bomb before the Nazis.
- He was a great musician. If the whole “genius” thing didn’t work out, Einstein could have become a violinist. His mother played piano so he had the love of music instilled in him—via violin lessons—at the young age of five.
- He could have been the President of Israel. When Israel’s first president, Chaim Weizmann, died, Einstein was offered the position, but he declined.
- He married his cousin. After Einstein divorced his first wife, Mileva Maric, he married his cousin, Elsa Lowenthal. He was, actually, quite a bad husband to his first wife in their later years. He had affairs he never tried to hide, he moved the entire family to Berlin without discussion, and treated her more as a servant than a wife.
- He won the 1921 Nobel Prize for Physics. This alone isn’t particularly surprising. What is surprising is the fact that he didn’t receive it for the general or special theory of relativity, but rather for the photoelectric effect.
- He loved to sail. Ever since university, Einstein sailed as a hobby. But by his own admission, he never made a particularly good sailor. In fact, he didn’t even know how to swim.
- He really didn’t like socks, and usually didn’t wear them. In fact, in a letter to Elsa, he bragged about getting away “without wearing socks” while at Oxford.
- He had an illegitimate daughter. This wasn’t known until the 1980s, but according to correspondence between Albert and Mileva it was determined that the two had a daughter in 1902 called Lieserl. At one point, all mention of her in letters stopped so her fate is unknown.
- His brain was stolen. After Einstein died, the pathologist who did his autopsy took his brain without permission. He eventually got the permission necessary from Einstein’s son, but he was fired from Princeton when he refused to turn the brain over. He kept it for over forty years before finally returning it in 1998.
"The important thing is not to stop questioning. Curiosity has its own reason for existing."
--Albert Einstein


bs-scroll uses the BsResizeContainer (also used in BsGrid) which automatically maximizes the view height depending on the window size.
Docs


Working & Studying
(Adopted at the Third Session of the Fifth National People’s Congress on September 10, 1980 and promulgated by Order No.9 of the Chairman of the Standing Committee of the National People’s Congress on September 10, 1980; and amended in accordance with the Decision on Amending the Marriage Law of the People’s Republic of China, adopted at the 21st Meeting of the Standing Committee of the Ninth National People’s Congress on April 28, 2001)
Contents
Chapter I General Provisions
Chapter II Marriage Contract
Chapter III Family Relations
Chapter IV Divorce
Chapter V Salvage Measures and Legal Liabilities
Chapter VI Supplementary Provisions
Chapter I General Provisions
Article 1 This Law is the fundamental code governing marriage and family relations.
Article 2 A marriage system based on the free choice of partners, on monogamy and on equality between man and woman shall be applied.
The lawful rights and interests of women, children and old people shall be protected.
Family planning shall be practised.
Article 3 Marriage upon arbitrary decision by any third party, mercenary marriage and any other acts of interference in the freedom of marriage shall be prohibited. The exaction of money or gifts in connection with marriage shall be prohibited.
Bigamy shall be prohibited. Anyone who has a spouse shall be prohibited to cohabit with another person of the opposite sex. Family violence shall be prohibited. Maltreatment and desertion of one family member by another shall be prohibited.
Article 4 Husband and wife shall be loyal to each other and respect each other; family members shall respect the old and cherish the young, help each other, and maintain the marriage and family relationship characterized by equality, harmony and civility.
Chapter II Marriage Contract
Article 5 Marriage must be based upon the complete willingness of both man and woman. Neither party may use compulsion on the other party, and no third party may interfere.
Article 6 No marriage may be contracted before the man has reached 22 years of age and the woman 20 years of age. Late marriage and late childbirth shall be encouraged.
Article 7 No marriage may be contracted under any of the following circumstances:
(1) if the man and the woman are lineal relatives by blood, or collateral relatives by blood up to the third degree of kinship; or
(2) if the man or the woman is suffering from any disease which is regarded by medical science as rending a person unfit for marriage.
Article 8 Both the man and the woman desiring to contract a marriage shall register in person with the marriage registration office. If the proposed marriage is found to conform with the provisions of this Law, the couple shall be allowed to register and issued marriage certificates. The husband-and-wife relationship shall be established as soon as they obtain the marriage certificates. A couple shall go through marriage registration if it has not done so.
Article 9 After a marriage has been registered, the woman may become a member of the man’s family or vice versa, depending on the agreed wishes of the two parties.
Article 10 the marriage shall be invalid if:
(1) either of the married parties commits bigamy;
(2) there is the prohibited degree of kinship between the married parties;
(3) before marriage either of the parties is suffering from a disease which is regarded by medical science as rending a person unfit for marriage and which has not yet been cured after marriage; or
(4) one of the married parties has not reached the statutory age for marriage.
Article 11 where marriage is contracted by coercion, the coerced party may appeal to the marriage registration office or the People’s Court for annulment of such marriage. Such an appeal for annulment of marriage made by the coerced party shall be submitted within one year from the date of marriage registration. Where the party concerned whose personal freedom is illegally restrained, such an appeal for annulment of marriage shall be submitted within one year from the date of the restoration of the personal freedom.
Article 12 Any marriage that is invalidated or annulled is null and void from the very beginning. The parties concerned are devoid of any rights or duties of a husband and a wife. The property acquired by them during the period of their cohabitation shall be disposed of by agreement between the parties; if they fail to reach an agreement, the People’s Court shall make a judgment on the principle of giving consideration to the unerring party. Where property is to be disposed of because marriage is invalidated as a result of bigamy, the rights and interests in respect of the property enjoyed by the party under lawful contract of marriage may not be encroached on. With regard to the children born by the party concerned, the provisions of this Law on parents and children shall apply.
Chapter III Family Relations
Article 13 Husband and wife shall have equal status in the family.
Article 14 Both husband and wife shall have the right to use his or her own surname and given name.
Article 15 Both husband and wife shall have the freedom to engage in production and other work, to study and to participate in social activities; neither party shall restrict or interfere with the other party.
Article 16 Both husband and wife shall have the duty to practise family planning.
Article 17 The following property acquired by the husband and the wife during the period in which they are under contract of marriage shall be in their joint possession:
(1) wages and bonuses;
(2) proceeds of production and business operation;
(3) incomes of intellectual property rights;
(4) property acquired from inheritance or presentation, with the exception of such property as stipulated by the provisions of the third item of Article 18 of this Law; and
(5) other property which should be in their joint possession.
Husband and wife shall enjoy equal rights in the disposition of their jointly possessed property.
Article 18 The property in the following cases shall belong to one party of the couple:
(1) the property that belongs to one party before marriage;
(2) payments for medical expenses received by one party who suffers physical injury, subsidies for living expenses granted to the disabled subsidies, etc.;
(3) the property to be in the possession of one party as determined by will or by an agreement on gift;
(4) articles for daily use specially used by one party; and
(5) other property which should be in the possession of one party.
Article 19 The husband and the wife may conclude an agreement that the property acquired by them during the period in which they are under contract of marriage and the property acquired before marriage shall be in their respective possession separately or jointly or part of the property shall be in their possession separately and the other part jointly. Such an agreement shall be in written form. Where such an agreement is lacking, or the provisions in the agreement are not clear, the provisions of Articles 17 and 18 of this Law shall apply.
The agreement concluded by the husband and the wife with regard to the property acquired during the period in which they are under contract of marriage and the property acquired before marriage shall be binding on both parties.
Where the husband and the wife agree that the property acquired by them during the period in which they are under contract of marriage shall be in their possession separately, debts contracted by the husband or the wife shall be paid off with the property in the possession of the party of the husband or the wife, if the third person knows that there is such an agreement.
Article 20 Husband and wife shall have the duty to maintain each other.
If one party fails to perform this duty, the party in need of maintenance shall have the right to demand maintenance payments from the other party.
Article 21 Parents shall have the duty to bring up and educate their children; children shall have the duty to support and assist their parents.
If parents fail to perform their duty, children who are minors or are not capable of living on their own shall have the right to demand the costs of upbringing from their parents.
If children fail to perform their duty, parents who are unable to work or have difficulty in providing for themselves shall have the right to demand support payments from their children.
Infanticide by drowning, abandonment of infants and all other acts causing serious harm to infants shall be prohibited.
Article 22 Children may adopt either their father’s or their mother’s surname.
Article 23 Parents shall have the right and duty to protect and educate their children who are minors. If children who are minors cause damage to the State, the collective or individuals, their parents shall have the duty to bear civil liability.
Article 24 Husband and wife shall have the right to inherit each other’s property.
Parents and children shall have the right to inherit each other’s property.
Article 25 Children born out of wedlock shall enjoy the same rights as children born in wedlock. No one may harm or discriminate against them.
The natural father or mother who does not directly bring up a child born out of wedlock shall bear the child’s living and educational expenses until the child can live on his or her own.
Article 26 The State shall protect lawful adoption. The relevant provisions of this Law governing the relationship between parents and children shall apply to the rights and duties in the relationship between foster-parents and foster-children.
The rights and duties in the relationship between a foster-child and his natural parents shall terminate with the establishment of his adoption.
Article 27 Maltreatment and discrimination shall not be allowed between step-parents and step-children.
The relevant provisions of this Law governing the relationship between parents and children shall apply to the rights and duties in the relationship between step-fathers or step-mothers and their step-children who receive care and education from them.
Article 28 Grandparents and maternal grandparents who can afford it shall have the duty to bring up their grandchildren and maternal grandchildren who are minors and whose parents are dead or have no means to bring them up. Grandchildren and maternal grandchildren who can afford it shall have the duty to support their grandparents and maternal grandparents whose children are dead or have no means to support them.
Article 29 Elder brothers and elder sisters who can afford it shall have the duty to maintain their younger brothers and sisters who are minors, if their parents are dead or have no means to bring them up. Younger brothers or sisters who are brought up by their elder brothers or sisters and can afford it shall have the duty to maintain their elder brothers or sisters who lack not only the ability to work but also source of income.
Article 30 Children shall respect their parents’ right of marriage, they are not allowed to interfere in the re-marriage of their parents or their life after re-marriage. The duty of the children for supporting their parents shall come not to an end with the change in the marriage contract of their parents.
Chapter IV Divorce
Article 31 Divorce shall be granted if husband and wife both desire it. Both parties shall apply to the marriage registration office for divorce. The marriage registration office, after clearly establishing that divorce is desired by both parties and that appropriate arrangements have been made for the care of any children and the disposition of property, shall issue the divorce certificates.
Article 32 If one party alone desires a divorce, the organization concerned may carry out mediation or the party may appeal directly to a People’s Court to start divorce proceedings.
In dealing with a divorce case, the People’s Court shall carry out mediation; divorce shall be granted if mediation fails because mutual affection no longer exists.
In one of the following cases, divorce shall be granted if mediation fails:
(1) where one party commits bigamy or cohabits with another person of the opposite sex;
(2) where one party indulges in family violence or maltreats or abandons family members ;
(3) where one party indulges in the gambling, drug taking, etc. and refuses to reform after repeated persuasion;
(4) where both parties have separated from each other for two full years for lack of mutual affection;
(5) other cases which lead to the shattering of affection between husband and wife.
Where one party is declared to be missing and the other party starts divorce proceedings, divorce shall be granted.
Article 33 If the spouse of a soldier in active service desires a divorce, the matter shall be subject to the soldier’s consent, unless the soldier has made grave errors.
Article 34 A husband may not apply for a divorce when his wife is pregnant, or within one year after the birth of the child, or within six months after the termination of her gestation. This restriction shall not apply in cases where the wife applies for a divorce, or where the People’s Court deems it necessary to accept the divorce application made by the husband.
Article 35 If, after divorce, both parties desire to resume their husband-and-wife relationship, they shall apply for registration of remarriage with the marriage registration office.
Article 36 The relationship between parents and children shall not come to an end with the parents’ divorce. After divorce, whether the children are directly put in the custody of the father or the mother, they shall remain the children of both parents.
After divorce, both parents shall still have the right and duty to bring up and educate their children.
In principle, the mother shall have the custody of a breast-fed infant after divorce. If a dispute arises between the two parents over the custody of their child who has been weaned and they fail to reach an agreement, the People’s Court shall make a judgment in accordance with the rights and interests of the child and the actual conditions of both parents.
Article 37 If, after divorce, one parent has been given custody of a child, the other parent shall bear part or the whole of the child’s necessary living and educational expenses. The two parents shall seek agreement regarding the amount and duration of such payment. If they fail to reach an agreement, the People’s Court shall make a judgment.
The agreement or court judgment on the payment of a child’s living and educational expenses shall not prevent the child from making a reasonable request, when necessary, to either parent for an amount exceeding what is decided upon in the said agreement or judgment.
Article 38 After divorce, the father or the mother who does not directly bring up the child shall have the right to visit his or her child, and the other party shall have the duty to cooperate.
The manner and time for exercising the right to visit a child shall be decided by the parties through consultation; if they fail to reach an agreement upon in this regard, the People’s Court shall make a judgment .
Where the visit to a child paid by the father or the mother is not conducive to the physical and mental health of the child, the People’s Court shall terminate the right to visit; after the cause of such termination disappears, the right to pay visit to the child shall be resumed.
Article 39 At the time of divorce, the husband and the wife shall seek agreement regarding the disposition of their jointly possessed property. If they fail to reach an agreement, the People’s Court shall, on the basis of the actual circumstances of the property and on the principle of taking into consideration the rights and interests of the child and the wife, make a judgment.
The rights and interests enjoyed by the husband or the wife in contracting land management on a household basis shall be protected in accordance with law.
Article 40 Where the husband and the wife agree in writing that the property acquired by them during the period in which they are under contract of marriage is in their separate possession, if one party has performed more duties in respect of bringing up the child, taking care of the old and assisting the other party in work, it shall, at the time of divorce, have the right to request the other party to make compensation for the above, and the other party shall do so accordingly.
 Where their jointly possessed property is insufficient to pay the debts, or the property is in their separate possession, the two parties shall discuss alternative ways of payment; if they fail to reach an agreement, the People’s Court shall make a judgment.
Article 42 If, at the time of divorce, one party has difficulty in supporting himself or herself, the other party shall render appropriate assistance with his or her own property such as his or her residential house. Specific arrangements shall be made by both parties through consultation. If they fail to reach an agreement, the People’s Court shall make a judgment.
Chapter V Selvage Measures and Legal Liabilities
Article 43 Where a person indulges in family violence or maltreats a family member, the victim shall have the right to advance a request; the neighborhood committee, villagers committee or the unit where they belong to, shall persuade the person to stop doing it and conduct mediation.
Where a person is committing family violence, the victim shall have the right to advance a request; the neighborhood committee or the villagers committee shall persuade the person to stop doing it; the public security organ shall stop such violence.
Where the victim advances a request, the public security organ shall, in accordance with the legal provisions on administrative penalties for public security, impose an administrative penalty on the person who commits family violence or maltreatment of a family member.
Article 44 The family member who is abandoned shall have the right to advance a request and the neighborhood committee, villagers committee or the unit where they belong to, shall persuade the person to stop doing it and conduct mediation.
Where the abandoned family member advances a request, the People’s Court shall, in accordance with law, make the judgment on payment by the person who abandons the family member to the victim for the costs of maintenance, upbringing or support.
Article 45 The person who commits bigamy, family violence, maltreatment or abandonment of a family member, if it constitutes a crime, shall be investigated for criminal responsibility in accordance with law. The victim may, in accordance with relevant provisions of the Criminal Procedure Law, lodge a private prosecution with the People’s Court; the public security organ shall investigate the case in accordance with law, and the People’s Procuratorate shall institute public prosecution in accordance with law.
Article 46 Where one of the following circumstances leads to divorce, the unerring party shall have the right to claim compensation:
(1) bigamy is committed;
(2) one party who has a spouse cohabits with another person of the opposite sex;
(3) family violence is committed; or
(4) a family member is maltreated or abandoned.
Article 47 If, at the time of divorce, one party conceals, transfers, sells off or destroys the property in the joint possession of the couple, or forge debts in an attempt to encroach upon the property of the other party, the former may get less or no property when the property in the joint possession of the couple is partitioned. After divorce, if the other party discovers the above, it may bring a suit in the People’s Court to demand re-partition of the property in the joint possession of the couple.
With respect to acts that hinder civil procedures as mentioned in the preceding paragraph, the People’s Court shall mete out sanctions in accordance with the provisions of the Civil Procedure Law.
Article 48 Where a person refuses to abide by the judgment or ruling on the costs of maintenance, upbringing or support payments, or on the partitioning or inheritance of property, or visit to a child, the People’s Court shall enforce the execution of the judgment or ruling in accordance with law. The individuals and unit concerned shall have the duty to assist such execution.
Article 49 Where there are other provisions by other laws on illegal acts against marriage or family and on legal liabilities for the acts, such provisions shall apply.
Chapter VI Supplementary Provisions
Article 50 The people’s congresses of national autonomous areas shall have the power to formulate adaptations in the light of the specific conditions of the local nationalities in regard to marriage and family. Adaptations formulated by autonomous prefectures and autonomous counties shall go into effect only after approval by the standing committee of the people’s congress of the relevant province, autonomous region, or municipality directly under the Central Government. Adaptations formulated by autonomous regions shall go into effect only after approval by the Standing Committee of the National People’s Congress.
Article 51 This Law shall go into effect as of January 1, 1981.
The Marriage Law of the People’s Republic of China promulgated on May 1, 1950 shall be invalidated as of the date when this Law goes into effect.


Grid System
Introduction
The Tetra UI grid is a percentage-based, nestable grid system. Each grid row (.gr) takes up 100% of the parent containers' width and can contain up to 5 grid units (.gu). These grid units can then contain nested grid rows, maximizing flexibility and laying the foundations for a responsive layout.
When creating layouts, it is often useful to have a guide. To do this just add the .gr-zebra class to your grid row (.gr)
Ex: Simple
The markup below creates a 5 unit grid row. You will notice that the last child element has the .gu-last class.
This element consumes the remaining width of the grid unit and is useful for fixing some issues in older browsers, so please follow this convention. It is also essential when using spaced grids (documented below).
Ex: Nested
Nesting with siblings
The example above shows a grid row (.gr) nested within a grid unit (.gu), thus enabling it to be accompanied by sibling elements. The markup looks like this:

...

 ...

 ...

 ...

Direct nesting
The other option is to nest your grid units directly in another grid unit. Just add the .gr class to an element with the .gu class!Ex: Spaced
You can assign spacing to the Tetra UI grid, using the fixed spacing sizes declared in variables.less. The percentage widths of each grid unit will change to accomodate for the extra spacing and to ensure all units are equal widths.
Tetra UI uses the @siteWidth variable defined in variables.less to calculate percentage widths for grid spacing, so you can only use this feature on a top-level grid row and not a nested one, unless the nested row is the same rendered width as the value of the @siteWidth variable.
| Class Name | Description |
|---|---|
.grsxs |
Extra small spacing, defined in variables.less as @spacingXs |
.grss |
Small spacing, defined in variables.less as @spacingS |
.grsm |
Medium spacing, defined in variables.less as @spacingM |
.grsl |
Large spacing, defined in variables.less as @spacingL |
.grsxl |
Extra large spacing, defined in variables.less as @spacingXl |

 ...

 ...

 ...

 ...

 ...

 ...

 ...

 ...

Ex: Center
Using the .bac (Block Align Center) class as described on the helpers page.
Responsive Design
Introduction
The responsive grid has a desktop first approach. It comes with two breakpoints:
- a medium breakpoint (m) for middle sized devices, tablets for example
- a small breakpoint (s) for small devices like mobiles
The responsive grid is used inside a fluid page container which has the following properties:
- horizontally centered
- three different percentage widths for desktop, tablet, mobile applied with media queries
- a maximum width when in desktop mode to prevent the page from being to large.
Fluid container
Grid markup

This column is a 1/5 width column in desktop mode,
then a full width column after the medium breakpoint.

This column is a 3/5 width column in desktop mode,
then a 3/5 width column after the medium breakpoint,
then a full width column after the small breakpoint.

This column remains the last one
and fills the remaining free space.

Helpers
Visibility
Resizing your browser window will show the effect of the different show and hide classes.
| Large devices | Medium devices | Small devices | |
|---|---|---|---|
| Hide |
.hide-l
Hide on large devices and down |
.hide-m
Hide on medium devices and down |
.hide-s
Hide on small devices only |
| Show |
.show-l
Show on large devices and down |
.show-m
Show on medium devices and down |
.show-s
Show on small devices |
| Samples |
.hide-m
Show only on large devices |
.hide-l .show-m .hide-s
Show only on medium devices |
.hide-l .show-s
Show only on small devices |
Responsive
Resizing your browser window will show the effect of the different show and hide classes.
| Large devices | Medium devices | Small devices | |
|---|---|---|---|
| Float |
.fl
.fr
.fno
Floats left, right or unfloats on large devices and down |
.fl-m
.fr-m
.fno-m
Floats left, right or unfloats on medium devices and down |
.fl-s
.fr-s
.fno-s
Floats left, right or unfloats on small devices only |
| Text Align |
.tal
.tar
.tac
Text aligns left, right or center on large devices and down |
.tal-m
.tar-m
.tac-m
Text aligns left, right or center on medium devices and down |
.tal-s
.tar-s
.tac-s
Text aligns left, right or center on small devices only |
| Block Align |
.bac
.bar
.bal
Block aligns left, right or center on large devices and down |
.bac-m
.bar-m
.bal-m
Block aligns left, right or center on medium devices and down |
.bac-s
.tar-s
.bal-s
Block aligns left, right or center on small devices only |
| Padding |
.pal
Padding all with L size, on large devices and down |
.pal-m
Padding all with L size, on medium devices and down |
.pal-s
Padding all with L size, on small devices and down |
| Margin |
.mbxs
Margin bottom with XS size, on medium devices and down |
.mbxs-m
Margin bottom with XS size, on large devices and down |
.mbxs-s
Margin bottom with XS size, on small devices and down |
| Large devices | Medium devices | Small devices | |
|---|---|---|---|
| Block |
.dispb
Block layout on large devices and down |
.dispb-m
Block layout on medium devices and down |
.dispb-s
Block layout on small devices and down |
| Inline block |
.dispib
Inline block layout on large devices and down |
.dispib-m
Inline block layout on medium devices and down |
.dispib-s
Inline block layout on small devices and down |
| Inline |
.dispi
Inline layout on large devices and down |
.dispi-m
Inline layout on medium devices and down |
.dispi-s
Inline layout on small devices and down |
Variables
| Variable | Value | Description |
|---|---|---|
|
1020px | Maximum width of the page or fluid container |
|
768px | Breakpoint for medium devices (tablet) |
|
480px | Breakpoint for small devices (mobile) |
| Variable | Value | Description |
|---|---|---|
|
85% | Width of the fluid container in desktop mode |
|
90% | Width of the fluid container on medium devices |
| 97% | Width of the fluid container on small devices |
Ex: desktop & mobile
Main content
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse rutrum laoreet dolor, vitae adipiscing quam commodo sed. Cras porta dictum sem quis aliquet. Aenean a neque sed dolor lacinia iaculis.
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse rutrum laoreet dolor, vitae adipiscing quam commodo sed. Cras porta dictum sem quis aliquet. Aenean a neque sed dolor lacinia iaculis.
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
Aside
- Lorem ipsum
- Consectetur
- Sed do eiusmod
- Et dolore magna aliqua
Picture

Main content

...

Aside

...

Picture


{% extends "base_ajax.html" %} {% block content %}
For advanced use of MyFLq it is recommended to have an account on forensic.UGent.be/FLAD
Fill in the username and registration key that you find there.
| Name | Popstat | Associated files | ||
Once you have created a configuration you cannot alter it unless you delete it and start over.
If you delete a configuration, all results that were procured with that configuration will be deleted as well.
This is for validation purposes: you can always trace back which configuration you used to obtain a specific result.


| Bibliothek: | Base |
| Eingeführt: | 2.0 Beta 1 |
| Aussehen: |
The splitter creates a correspondence between a multi-bit value and several separate subsets of those bits. Despite its name, it can either split a multi-bit value into component parts, or it can combine component parts into a multi-bit value - or indeed it can do both at once. A more complete description of splitters is found in the `Splitters' section of the User's Guide.
Logisim treats splitters specially when propagating values within a circuit: Whereas all other components have a computed delay for purposes of simulating their behavior, values propagate through splitters (as well as wires) instantaneously.
Note: The term splitter is a non-standard term, which is unique to Logisim as far as I know. I am unaware of any standard term for such a concept; the only term I have heard used is bus ripper, but this term is unnecessarily violent for my tastes.
To distinguish the several connecting points for a splitter, we refer to the single connecting point one side as its combined end, and we refer to the multiple connecting points on the other side as its split ends.
When the component is selected or being added,
the digits '0' through '9' alter its Fan Out
attribute,
Alt-0 through Alt-9 alter both the Fan Out
and Bit Width In
attributes,
and the arrow keys alter its Facing
attribute.
Keines.
Keines.


About
How does it work?
Lorizzle ipsizzle dolizzle yippiyo amet, phat adipiscing elit. Its fo rizzle rizzle velizzle, things volutpizzle, suscipizzle nizzle, boom shackalack vizzle, shiz.  Sed erizzle. Dizzle at dolizzle for sure turpizzle the bizzle tempor. Maurizzle fizzle nibh sheezy shizznit. Vestibulum izzle tortizzle. Pellentesque hizzle fizzle for sure. In hizzle its fo rizzle platea dictumst. Away dapibizzle.  Fo suscipit. Integer semper velit sed shizznit.
Find a player


In Lake Placid staying alive is easier than you'd think, with a 35 ft. crocodile prowling the waters. All you have to do is talk: none of the characters with significant dialogue are killed, though they sorely need to be. Viewers sometimes bemoan the conventions of the horror- movie--all the little faux pas you can make that get you dispatched: investigating noises, having sex, refusing to see the 'truth,' separating yourself from the group, etc. Just as distressing, though, is when there's no justice at all, when those genre-taboos are breached and the transgressor doesn't get his or her desserts. This is Lake Placid, set in King-country, where the ecosystem's been seriously thrown out of whack by a crocodile big enough to take a grizzly bear out in one bite. What's a grizzly doing in Maine? It doesn't matter. There's crocodiles too. The lake isn't even called Lake Placid. It all starts with the embittered sheriff (Brendan Gleeson) trading quips with a scuba-geared ecologist, setting the bickering tone for the rest of the movie. Yes this ecologist dies and dies ugly. Yes, a tooth is recovered from his corpse which effortlessly attracts another game warden-type (Bill Pullman), a museum curator running away from a broken relationship in the city (Bridget Fonda), and one Hector Cyr (Oliver Platt), croc specialist extrordinaire. The sheriff is already there, grumbling in place, acting as reluctant guide. Not a bad opening sequence, all in all, and the group dynamic Steve Miner (everything from Wonder Years to H20) kickstarts is distracting enough that when the crocodile finally begins snatching the supporting cast away, it initially catches us off guard. However, this group dynamic is also what pulls the movie down for the death roll: all the one-liners incessantly traded back and forth about the city, the country, the bugs, men women and love, etc, finally just get in the way, or, only succeed in establishing the movie firmly enough on land that the crocodile, for all it's technical splendor and appetite for expendable crewmen, is upstaged. In addition to these four core characters there's a little old lady who lives on the lake, makes cooing sounds to herself, and has a soft spot for the crocodile and a little dab of profanity for everyone else. Typically, she'd be the token comic foil for the movie, rounding it out, but in Lake Placid, slapstick is already part of camp life. Brendan Gleeson's sheriff falls into every crocodile trap Hector Cyr sets. Which isn't their only point of contention: while the sheriff wants to kill the beast, Cyr wants to swim with it. It's a mystical thing with him. Soon enough everyone has to take sides, switch sides, sit on the fence, all that. Which is to say we're not in the water. Which is to say we never get the sense that these characters are in any real danger. Who would deliver their lines if they were dead? On the plus side, there is an animatronic cow suspended from a helicopter, as well as a surprise at the big kill scene. Think Anaconda, but don't accidentally compare the two. In Anaconda people die, suggesting that the monster might actually win this time. Lake Placid doesn't even flirt with that. We root for the croc not because of the amount of meat it can grind per frame, but because, when pitted against the seeming invulnerability of a good-natured crew in the vital process of bonding, it's the underdog. (c) 1999 Stephen Graham Jones
for more like this, check out http://www.cinemuck.com
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Mutations must be introduced into the artificial reads in order to simulate chemical damage and evolutionary distance of ancient DNA with respect to the recent reference which they shall be mapped to.
As chemical damage is more prevalent near the end of ancient DNA, TAPAS can introduce more mutations into the artificial reads, near their ends. To this effect parameters must be determined, which affect the probability of each base exchange for each position in the read.
The mutation probability parameters are detailed in the next section. Following that, the section Specifying the parameters shows how values for the mutation probability parameters can be set by the user. Afterwards, in Subject-a-FASTQ-file-to-artificial-mutations, the FASTQ file containing artificial endogenous reads, which was generated in the previous topic, is subjected to mutations with the specified base exchange probabilities.
This chapter closes with two advanced topics: Obtaining mutation probability parameters from a mapDamage output and how to define multiple sets of mutation probability parameters to create multiple FASTQ files containing reads of different mutation strengths.
The reads are mutated using per base probabilities derived from the geometric distribution. The mutation probability at the read ends is the highest. By this, the chemical damage near read ends can be modelled. For this, three parameters are important:
The position-independent mutation probability \(t\) (\(0<t<1\)). This is the probability of any base to mutate, regardless of its proximity to the end of the read. This can be used to model evolutionary distance.
The steepness \(p\) (\(0<p<1\)) of the mutation probability decline when moving away from the read end. The higher this parameter the steeper is the decline of mutation probability when moving away from the read end.
The multiplying factor \(f\). At the read end, \(p\cdot f+t\) is the probability of the first base of the read to be mutated.
With this model, its possible to archive mutation probabilities greater than one. This makes of course no sense and the mutation probability is cut back to one in such cases.
In mathematical notation, the mutation probability \(P_{\text{mut}}\) of a base number \(x\), starting to count at the reads’ end, is:
\[P_{\text{mut}}(x) = f \cdot \text{dgeom}(x;p) + t\]
with \(\text{dgeom}(X;P)\) being the density function of the geometric distribution, with parameters X = number of tries; P = success probability.
The following sketch graphs illustrate the three parameters:
The mutation probabilities are saved as a text table. It looks like this:
strand from to factor geom_prob intercept
3p C T 0.3 0.4 0.1
5p C T 0.1 0.2 0.0
3p * * 0.0 0.1 0.12
Two types of per-base mutation probabilities are distinguished:
The columns have the following meaning:
3
and one with a value 5
.*
] Which bases should mutate according to this lines’ parameters. The character *
means this line applies to every base.*
] Which base should a mutation event yield. *
means a base (A,T,C,G) different from the original base is chosen at random.strand
)For each row of the table, the read is subjected to one round of mutation introduction where the mutation probability per base is determined by the parameters found in that row.
The multiple-mutate.py
tool takes a table of the previous section as input and mutates raw nucleotide strings provided to it on standard input accordingly.
An already existent FASTQ file can be mutated using the filter_fastq
tool in cooperation with multiple-mutate
. The tool filter_fastq
enables you to apply transformations to existing fastq files. To this effect, filter_fastq
extracts one part out of a FASTQ file (read name, nucleotide string or quality string) and feeds it into another sub-program specified between two @
-signs. The sub-program is required to take lines of text as input and return the same number of lines on standard output. The output of the sub-program is then placed into the output fastq file. By combining filter_fastq
and multiple_mutate
, the tool which applies mutations to strings of nucleotides, a FASTQ file can be mutated. The --seed
can be set to an arbitrary value to generate a reproducable result.
scripts/filter_fastq --nucleotide \
@ scripts/multiple_mutate --seed 123 input/mut-tables/mut.tab @ \
< data/2/volpertinger.fastq \
> data/3/volpertinger_mut.fastq
Note how the nucleotide strings of the output FASTQ file now carry mutations (lower-case letters):
@volpertinger_1
cTcTAaAAGATAgTAGCCAATCAGATCCA
+
FFFFFFFFFFFFFFFFFFFFFFFFFFFFF
@volpertinger_2
TCTAcTTAATAgTTTCTCCC
+
FFFFFFFFFFFFFFFFFFFF
@volpertinger_3
TcGgACTTTATCTTCCGccGCTCAAC
The filter_fastq.py
script enables you to apply an arbitrary script or program on just one part of a FASTQ file (ID line, nucleotide line, quality line). The used script must accept the respective part on standard input and print the modified version on standard output. The modified FASTQ file is assembled by filter_fastq.py
from the output of its children scripts and printed on standard output.
On the filter_fastq.py
call, the @ sign serves as a sentinel character, which determines start and end of the sub-program’s command line. It can also be any arbitrary other character, as long as it doesn’t occur inside the child script’s command line but only at the beginning and the end.
In this example, the endogenous reads from volpertinger undergo simulated mutation and damage prior to mapping, while the contaminant reads from R. etli do not.
Therefore only now, after applying mutations to our volpertinger reads, is the time to combine the mutated sample reads and the contaminant reads generated in the last section to one file. For this purpose, the UNIX tool cat
is used:
The following two sections deal with advanced means of determining read mutation probabilities. They are not used in this tutorial, but may be used in custom workflows.
The subsequent section deals with how to read out mapDamage output to determine the read mutation probability parameters.
The section following that deals with how to create multiple distinct sets of read mutation probabilty parameters. By that means, different read sets can be created which were subjected to varying degrees of mutations. Therefore, mapper performance can be evaluated for different severities of read mutations.
Damage patterns from mapDamage can be converted into a table with mutation parameters by least-squares fitting. For this purpose, the mapDamage output file misincorporation.txt
is needed.
The following command fits a geometric distribution to mapDamage data, shows the derived parameters and plots the data with the fitted curve.
The cut
command is used only to limit the output to a width acceptable for this manual. Use the bash >
redirection operator to write this output into a file suitable for multiple_mutate.py
.
scripts/mapdamage2geomparam \
--fit-plots fig/fit.png \
input/mapdamage/misincorporation.txt | \
cut -f1-6 | \
column -t
strand from to factor geom_prob intercept
3p A C 0.002594 0.1289 0.0003363
3p A G 0.005872 0.3972 0.001542
3p A T 0.001393 0.7516 0.0006354
3p C A 0.02344 0.8742 0.0007693
3p C G 0.004381 0.4866 0.0006858
3p C T 0.09154 0.566 0.003878
3p G A 0.02789 0.8881 0.00169
3p G C 2.156e-07 0.1 0.001068
3p G T 0.01546 0.1008 0.004605
3p T A 0.01236 0.6896 0.0005899
3p T C 9.547e-07 0.1 0.001878
3p T G 0.005273 0.3866 0.000331
5p A C 0.0003257 1 NA
5p A G 0.003505 0.5183 NA
5p A T 7.02e-07 0.1 NA
5p C A 0.002157 0.8335 NA
5p C G 0.0009197 0.6883 NA
5p C T 0.09852 0.9541 NA
5p G A 0.002752 0.6784 NA
5p G C 4.612e-08 0.1 NA
5p G T 3.004e-07 0.1 NA
5p T A 0.001127 0.9989 NA
5p T C 2.849e-07 0.1 NA
5p T G 0.0007032 0.8024 NA
For each base exchange, the position-independent parameter intercept
is only listed for one strand end.
This is the generated plot, which shows the mutation frequencies obtained from mapDamage (black dots) and the fitted mutation model (blue lines):
Sometimes, multiple damage patterns need to be compared. There is a possibility to generate the multiple_mutate
input files from one table which lists all different values of the different mutation parameters.
This approach will be seen again later, where there is a possibility to generate many short read mapper calls from exactly the same kind of parameter table. You can therefore generate appropriate input files as well as appropriate short read mapper calls out of only one table which lists all the parameters.
The fill_template.py
script expects a table, where each row is used to fill a prespecified template with values.
For example, if a template is written which looks like this:
strand from to factor geom_prob intercept
5 C T {fac} {geom} 0
3 G A {fac} {geom} 0
3 * * 0 0 {all_intercept}
… and another table is written which lists several values for the expressions in braces {...}
from the previous file:
fac geom all_intercept
0 0.1 0
0 0.1 0.3
0.5 0.1 0
0.5 0.1 0.3
… several files can be generated, where the brace-expressions are replaced by the values of the second table, using the fill_template
script:
strand from to factor geom_prob intercept
5 C T 0 0.1 0
3 G A 0 0.1 0
3 * * 0 0 0
strand from to factor geom_prob intercept
5 C T 0 0.1 0
3 G A 0 0.1 0
3 * * 0 0 0.3
strand from to factor geom_prob intercept
5 C T 0.5 0.1 0
3 G A 0.5 0.1 0
3 * * 0 0 0
strand from to factor geom_prob intercept
5 C T 0.5 0.1 0
3 G A 0.5 0.1 0
3 * * 0 0 0.3
To write each table into its own file, the --output
switch of the fill_template
script can be used. The argument of --output
can (and should!) contain column names of the table, again enclosed in braces {...}
. This creates multiple files, where the braced expressions in the file names are replaced in the same way as they are in the table contents.
We will now write each of the tables shown above to its own file. We want to name the files using a counting number, but our input table doesn’t yet contain a column with that counter. Therefore we must first add one.
The mentioned-above table can be prepended with an index column:
index fac geom all_intercept
0 0 0.1 0
1 0 0.1 0.3
2 0.5 0.1 0
3 0.5 0.1 0.3
Now, each output of fill_template.py
can be written to its own output file, using the information from the newly-generated index
column:
scripts/fill_template \
--output "data/3/{index}_filled" \
data/3/mut-tmpl \
< data/3/mut-tab
# Show all the generated files
for f in data/3/*_filled; do
echo " === $f === "
column -t $f
done
=== data/3/0_filled ===
strand from to factor geom_prob intercept
5 C T 0 0.1 0
3 G A 0 0.1 0
3 * * 0 0 0
=== data/3/1_filled ===
strand from to factor geom_prob intercept
5 C T 0 0.1 0
3 G A 0 0.1 0
3 * * 0 0 0.3
=== data/3/2_filled ===
strand from to factor geom_prob intercept
5 C T 0.5 0.1 0
3 G A 0.5 0.1 0
3 * * 0 0 0
=== data/3/3_filled ===
strand from to factor geom_prob intercept
5 C T 0.5 0.1 0
3 G A 0.5 0.1 0
3 * * 0 0 0.3
If several combinations of mutation parameters shall be tested, cross_tab.py
can be used to generate a table like data/3/mut-tab
from predefined parameter values, like described with mapper parameters in the next chapter.


Emoncms bug and dev list FEBRUARY 2013
The following is a summary of the emoncms development threads underway at the moment. To see previous months see:
Emoncms bug and dev list December, November, October
A bug list needs to be added below, there's probably a few that carry over from previous months.
Core Framework Development
See blog post: Ideas for improving the emoncms framework
Documentation todo
- Core framework documentation - how to build the core emoncms framework from scratch - replacing the current emoncms architecture documentation to reflect the emoncms design as detailed in the blog post above.
- A page on how the emoncms DB table schema and builder works and how to integrate mysql tables and mysqli in new modules.
- An example module template and a guide on building a new module.
Module development
Event module
The newest module in development is the event module which Nick Boyle has been pushing forward with notifications by email, twitter and prowl of when a feed is equall to, more than, less than, increases by and decreases by a particular value.
Event module github: https://github.com/emoncms/event
Forum thread: http://openenergymonitor.org/emon/node/1645
User module
I've been working on a new user interface for the user module that's js jquery based and would like to implement normal user account authentication features like email validation, password reset and so on. Will push this all to github soon.
Sync module
At the moment the sync module interface is a bit clumsy to use, adding a new feed to the import list takes you to the top of the page and the page needs to be manually refreshed to see how the import is progressing - id like to move it all over to a js interface.
The sync module is also missing the ability to sync histogram type feeds and other user data such as input configuration and dashboards.
Beyond this I would like to have an admin sync page which allows syncing of feeds for all users, I'm hoping this will be an effective way to do incremental backup of emoncms.org. Although mysql replication may be another good option to look at for this.
Admin module
At the moment features for managing use and diagnosing performance problems on emoncms.org are limited. The load on the server seems gets pretty high sometimes and its not clear why. So really improving server monitoring features would be a big plus.
Raspberry PI module
We've been discussing here https://github.com/emoncms/raspberrypi/issues/5 how raspberrypi_run.php can be ran as a daemon and how we can extract feedback from the script to be displayed in the raspberry pi emoncms GUI so that script running errors can be better detected and solved.
Re: Emoncms bug and dev list FEBRUARY 2013
There seems to be a new emoncms.org version. Thanks for thar, excellent work!! Did not find bug list for march so add here that maybe something has changed as sudenly lost negative temperatures. Have recompiled also nanoderf so can not be fully sure that its inside emoncms.org, but likely as have not changed anuthing even close that would affect how signa are handled.
Re: Emoncms bug and dev list FEBRUARY 2013
Something changed today, thank you - negative numbers are back - or i have a software bug in firmware.
Re: Emoncms bug and dev list FEBRUARY 2013
The footer still does not automatically locate to the bottom of the page.
I realize that this was raised in the bug list of Oct 2012, and has been marked as fixed in the new modular version, but I believe that's what I'm running.
Re: Emoncms bug and dev list FEBRUARY 2013
1 Bug:
- The remember me feature on the login does not appear to remember the user/pass in firefox.
1 Improvement:
- When you add a rawdata visualization to the dashboard it would be good to have the option of specifying is this is to display, weekly/daily/monthly/yearly by default instead of the current default behavior of weekly.
Re: Emoncms bug and dev list FEBRUARY 2013
Thanks Petrik, Negative numbers disappearing where an emoncms bug in the new version that I then fixed
Re: Emoncms bug and dev list FEBRUARY 2013
Hello Paul, ahh interesting, I will look into that I may well have missed reimplementing that in the dev version.
tdereus, yes the remember me feature isnt fully working yet, hence why I disabled it on emoncms.org, need to work on it a bit more. Good idea for specifying the default view behaviour that would be a good way to do it, will add it to the list.
Re: Emoncms bug and dev list FEBRUARY 2013
I can't get the dev version to send back the time (either to a NanodeRF or manually in the browser for that matter).
Has the format for the time request been changed, or is this a quirk of PHP and Windows? I'm running it under Wampserver and Windows XP. I'm aware that some PHP functions don't work the same under Windows, and a few don't work at all.
A point re the Git example sketches: The dev version appears to accept incoming data only in the format "..../input/post.json?.....", so many of these I think are wrong and won't work.
Re: Emoncms bug and dev list FEBRUARY 2013
I found a problem with simplezoom that might be 'triggered' by my special system configuration (I have positive and negative mains power values due to my pv-system feeding back on phase 1).
When I zoom into the data in a region with negative power values, the average is correctly shown as (e.g.) -350W, but the energy sum is always positive like: Average: -350W | 1.6kWh.
This is due to Math.abs being used on the result of (only) the energy value calculation (in proc.js). Does this make sense or is it necessary to do this for other reasons?
I have just removed this abs calculation and everything seems ok for me.
(Might be slightly off-topic, but after making this change, my three-phase power measurement with emonTx with added MCP3208 12 bit ADC, one phase voltage probe, Emoncms on Pi is accurate to better than +/- 2% compared to my ferraris elctricity counter. Runs for over two months now without any problems. Very impressive!)
BR, Jörg.
Re: Emoncms bug and dev list FEBRUARY 2013
I have just installed the latest version and I am unable to modify dashboard names or save any account details. Any ideas?
Re: Emoncms bug and dev list FEBRUARY 2013
In one of the older versions you could not use the ° symbol. It would print something weird.
In V5 the ° symbol is just ignored (not printed at all).
Does anyone know how to solve this?
Re: Emoncms bug and dev list FEBRUARY 2013
I have pointed my OKG back to emoncms.org and have noticed that the kWh/d calculation resets at UTC. Is there anyway to force the day to reset as per my timezone setting in the account details?
Re: Emoncms bug and dev list FEBRUARY 2013
The footer bug reported by Paul Reed is actually the dashboard having wrong height saved to database. I've proposed a fix for it here: https://github.com/emoncms/emoncms/pull/75
Cheers
Re: Emoncms bug and dev list FEBRUARY 2013
Erik. I have presently drawn a white container to completely cover the footer, so once your pull request is merged, I'll update and remove the container.
Thanks for making the contribution, it's appreciated.
Paul
Re: Emoncms bug and dev list FEBRUARY 2013
a few observations i made..
the jgauge is a bit off, i use it to show temp... if the temp is 20 the needle is 1 or 2 below that
i could use a few more containers like a circle etc.. an option if they are filled or not.. ie so i could create a copy of what a real meter looks like etc
i'm not sure but it seems that dasboard area is not always the same.
could be nice if just the dashboard area could be embedded on a site and not the whole emoncms page... maybe with a simple dashboard selector on top
Re: Emoncms bug and dev list FEBRUARY 2013
oh forgot this one...
saving a dashboard the botton says sauvegardé... is that some special english dialekt? :-D


Cavani challenged Messi in a heated exchange... and the Argentine didn't chicken out
by BeSoccerAn Argentina v Uruguay match has that historic spicy ingredient. With competitiveness in their blood, the two South American teams once again met in a friendly match... that didn't seem to be the case. That's how Leo Messi and Edinson Cavani let him see it.
Messi and Cavani, Cavani and Messi. Two of the players with the most character in their national teams. In the middle of a match, and after a moment of tension, it was impossible to avoid sparks between them.
In the 1st half and with Uruguay winning 1-0, the Argentine was down. The Uruguayan striker said something to him (possibly challenging him) and Messi did not dodge the invitation.
"Whenever you want, whenever you want," Messi repeated several times after Cavani, with a mischievous laugh, said something to him. The exchanges didn't stop there.
Featured links
- Possible 'Clasico' in the Spanish Supercup final
- The latest football transfers news and rumours
- BREAKING: Luis Enrique returns to Spain national team
- Who has the most free-kicks goals: Messi or Cristiano?
Minutes later they exchanged whispers. Messi, again, angry with the PSG striker, who saw how Leo showed his character again , just as he did in the last Copa América in Brazil when talking about refereeing.