Changes the style and type of references in a formula between A1 and R1C1 and between relative and absolute. Use FORMULA.CONVERT to convert references of one style or type to another style or type.
Syntax
FORMULA.CONVERT(formula_text, from_a1, to_a1, to_ref_type, rel_to_ref)
Formula_text is the formula, given as text, containing the references you want to change. Formula_text must be a valid formula, and an equal sign must be included.
From_a1 is a logical value specifying whether the references in formula_text are in A1 or R1C1 style. If from_a1 is TRUE, references are in A1 style; if FALSE, references are in R1C1 style.
To_a1 is a logical value specifying the form for the references FORMULA.CONVERT returns. If to_a1 is TRUE, references are returned in A1 style; if FALSE, references are returned in R1C1 style. If to_a1 is omitted, the reference style is not changed.
To_ref_type is a number from 1 to 4 specifying the reference type of the returned formula. If to_ref_type is omitted, the reference type is not changed.
| To_ref_type | Reference type returned |
| 1 | Absolute |
| 2 | Absolute row, relative column |
| 3 | Relative row, absolute column |
| 4 | Relative |
Rel_to_ref is an absolute reference that specifies what cell the relative references are or should be relative to.
Examples
Use FORMULA.CONVERT to convert relative references entered by the user in an INPUT function or custom dialog box into absolute references. The following macro formula converts the given formula to an absolute, R1C1-style reference:
FORMULA.CONVERT("=A1:A10", TRUE, FALSE, 1) equals "=R1C1:R10C1"
The following macro formula converts the references in the given formula to relative, A1-style references:
FORMULA.CONVERT("=SUM(R10C2:R15C2)", FALSE, TRUE, 4) equals "=SUM(B10:B15)"
Tip To put the converted formula into a cell or range of cells, use the FORMULA.CONVERT function as the formula_text argument to the FORMULA function.
Related Functions
ABSREF Returns the absolute reference of a range of cells to another range
FORMULA Enters values into a cell or range or onto a chart
RELREF Returns a relative reference
Return to index


WITNESS LIST Energy Resources Committee April 6, 1999-2:00P HB 2449 On: Dewhurst, David (Texas General Land Office) HB 3444 On: Garza, Tony (Railroad Commission of Texas) Pyka, Kathy (Railroad Commission of Texas) HB 3476 On: Matthews, Charles (Railroad Commission of Texas)


Sandbox
git and docker required
git clone \
https://github.com/knockdata/event-2017-11-02.git
cd event-2017-11-02
./run.sh
http://localhost:8080
If you have linux like of OS and has git and docker installed
You can follow along during the demo part
Otherwise you can go to github check the instruction and play


Class ExpiredControllerApi
Represents a collection of functions to interact with the API endpoints
Inherited Members
Namespace: mailslurp.Api
Assembly: mailslurp.dll
Syntax
public class ExpiredControllerApi : IExpiredControllerApi, IExpiredControllerApiSync, IExpiredControllerApiAsync, IApiAccessor
Constructors
View SourceExpiredControllerApi()
Initializes a new instance of the ExpiredControllerApi class.
Declaration
public ExpiredControllerApi()
ExpiredControllerApi(Configuration)
Initializes a new instance of the ExpiredControllerApi class using Configuration object
Declaration
public ExpiredControllerApi(Configuration configuration)
Parameters
| Type | Name | Description |
|---|---|---|
| Configuration | configuration | An instance of Configuration |
ExpiredControllerApi(ISynchronousClient, IAsynchronousClient, IReadableConfiguration)
Initializes a new instance of the ExpiredControllerApi class using a Configuration object and client instance.
Declaration
public ExpiredControllerApi(ISynchronousClient client, IAsynchronousClient asyncClient, IReadableConfiguration configuration)
Parameters
| Type | Name | Description |
|---|---|---|
| ISynchronousClient | client | The client interface for synchronous API access. |
| IAsynchronousClient | asyncClient | The client interface for asynchronous API access. |
| IReadableConfiguration | configuration | The configuration object. |
ExpiredControllerApi(string)
Initializes a new instance of the ExpiredControllerApi class.
Declaration
public ExpiredControllerApi(string basePath)
Parameters
| Type | Name | Description |
|---|---|---|
| string | basePath |
Properties
View SourceAsynchronousClient
The client for accessing this underlying API asynchronously.
Declaration
public IAsynchronousClient AsynchronousClient { get; set; }
Property Value
| Type | Description |
|---|---|
| IAsynchronousClient |
Client
The client for accessing this underlying API synchronously.
Declaration
public ISynchronousClient Client { get; set; }
Property Value
| Type | Description |
|---|---|
| ISynchronousClient |
Configuration
Gets or sets the configuration object
Declaration
public IReadableConfiguration Configuration { get; set; }
Property Value
| Type | Description |
|---|---|
| IReadableConfiguration | An instance of the Configuration |
ExceptionFactory
Provides a factory method hook for the creation of exceptions.
Declaration
public ExceptionFactory ExceptionFactory { get; set; }
Property Value
| Type | Description |
|---|---|
| ExceptionFactory |
Methods
View SourceGetBasePath()
Gets the base path of the API client.
Declaration
public string GetBasePath()
Returns
| Type | Description |
|---|---|
| string | The base path |
GetExpirationDefaults(int)
Get default expiration settings Return default times used for inbox expiration
Declaration
public ExpirationDefaults GetExpirationDefaults(int operationIndex = 0)
Parameters
| Type | Name | Description |
|---|---|---|
| int | operationIndex | Index associated with the operation. |
Returns
| Type | Description |
|---|---|
| ExpirationDefaults | ExpirationDefaults |
Exceptions
| Type | Condition |
|---|---|
| ApiException | Thrown when fails to make API call |
GetExpirationDefaultsAsync(int, CancellationToken)
Get default expiration settings Return default times used for inbox expiration
Declaration
public Task<ExpirationDefaults> GetExpirationDefaultsAsync(int operationIndex = 0, CancellationToken cancellationToken = default)
Parameters
| Type | Name | Description |
|---|---|---|
| int | operationIndex | Index associated with the operation. |
| CancellationToken | cancellationToken | Cancellation Token to cancel the request. |
Returns
| Type | Description |
|---|---|
| Task<ExpirationDefaults> | Task of ExpirationDefaults |
Exceptions
| Type | Condition |
|---|---|
| ApiException | Thrown when fails to make API call |
GetExpirationDefaultsWithHttpInfo(int)
Get default expiration settings Return default times used for inbox expiration
Declaration
public ApiResponse<ExpirationDefaults> GetExpirationDefaultsWithHttpInfo(int operationIndex = 0)
Parameters
| Type | Name | Description |
|---|---|---|
| int | operationIndex | Index associated with the operation. |
Returns
| Type | Description |
|---|---|
| ApiResponse<ExpirationDefaults> | ApiResponse of ExpirationDefaults |
Exceptions
| Type | Condition |
|---|---|
| ApiException | Thrown when fails to make API call |
GetExpirationDefaultsWithHttpInfoAsync(int, CancellationToken)
Get default expiration settings Return default times used for inbox expiration
Declaration
public Task<ApiResponse<ExpirationDefaults>> GetExpirationDefaultsWithHttpInfoAsync(int operationIndex = 0, CancellationToken cancellationToken = default)
Parameters
| Type | Name | Description |
|---|---|---|
| int | operationIndex | Index associated with the operation. |
| CancellationToken | cancellationToken | Cancellation Token to cancel the request. |
Returns
| Type | Description |
|---|---|
| Task<ApiResponse<ExpirationDefaults>> | Task of ApiResponse (ExpirationDefaults) |
Exceptions
| Type | Condition |
|---|---|
| ApiException | Thrown when fails to make API call |
GetExpiredInboxByInboxId(Guid, int)
Get expired inbox record for a previously existing inbox Use the inboxId to return an ExpiredInboxRecord if an inbox has expired. Inboxes expire and are disabled if an expiration date is set or plan requires. Returns 404 if no expired inbox is found for the inboxId
Declaration
public ExpiredInboxDto GetExpiredInboxByInboxId(Guid inboxId, int operationIndex = 0)
Parameters
| Type | Name | Description |
|---|---|---|
| Guid | inboxId | ID of inbox you want to retrieve (not the inbox ID) |
| int | operationIndex | Index associated with the operation. |
Returns
| Type | Description |
|---|---|
| ExpiredInboxDto | ExpiredInboxDto |
Exceptions
| Type | Condition |
|---|---|
| ApiException | Thrown when fails to make API call |
GetExpiredInboxByInboxIdAsync(Guid, int, CancellationToken)
Get expired inbox record for a previously existing inbox Use the inboxId to return an ExpiredInboxRecord if an inbox has expired. Inboxes expire and are disabled if an expiration date is set or plan requires. Returns 404 if no expired inbox is found for the inboxId
Declaration
public Task<ExpiredInboxDto> GetExpiredInboxByInboxIdAsync(Guid inboxId, int operationIndex = 0, CancellationToken cancellationToken = default)
Parameters
| Type | Name | Description |
|---|---|---|
| Guid | inboxId | ID of inbox you want to retrieve (not the inbox ID) |
| int | operationIndex | Index associated with the operation. |
| CancellationToken | cancellationToken | Cancellation Token to cancel the request. |
Returns
| Type | Description |
|---|---|
| Task<ExpiredInboxDto> | Task of ExpiredInboxDto |
Exceptions
| Type | Condition |
|---|---|
| ApiException | Thrown when fails to make API call |
GetExpiredInboxByInboxIdWithHttpInfo(Guid, int)
Get expired inbox record for a previously existing inbox Use the inboxId to return an ExpiredInboxRecord if an inbox has expired. Inboxes expire and are disabled if an expiration date is set or plan requires. Returns 404 if no expired inbox is found for the inboxId
Declaration
public ApiResponse<ExpiredInboxDto> GetExpiredInboxByInboxIdWithHttpInfo(Guid inboxId, int operationIndex = 0)
Parameters
| Type | Name | Description |
|---|---|---|
| Guid | inboxId | ID of inbox you want to retrieve (not the inbox ID) |
| int | operationIndex | Index associated with the operation. |
Returns
| Type | Description |
|---|---|
| ApiResponse<ExpiredInboxDto> | ApiResponse of ExpiredInboxDto |
Exceptions
| Type | Condition |
|---|---|
| ApiException | Thrown when fails to make API call |
GetExpiredInboxByInboxIdWithHttpInfoAsync(Guid, int, CancellationToken)
Get expired inbox record for a previously existing inbox Use the inboxId to return an ExpiredInboxRecord if an inbox has expired. Inboxes expire and are disabled if an expiration date is set or plan requires. Returns 404 if no expired inbox is found for the inboxId
Declaration
public Task<ApiResponse<ExpiredInboxDto>> GetExpiredInboxByInboxIdWithHttpInfoAsync(Guid inboxId, int operationIndex = 0, CancellationToken cancellationToken = default)
Parameters
| Type | Name | Description |
|---|---|---|
| Guid | inboxId | ID of inbox you want to retrieve (not the inbox ID) |
| int | operationIndex | Index associated with the operation. |
| CancellationToken | cancellationToken | Cancellation Token to cancel the request. |
Returns
| Type | Description |
|---|---|
| Task<ApiResponse<ExpiredInboxDto>> | Task of ApiResponse (ExpiredInboxDto) |
Exceptions
| Type | Condition |
|---|---|
| ApiException | Thrown when fails to make API call |
GetExpiredInboxes(int?, int?, string, DateTime?, DateTime?, int)
List records of expired inboxes Inboxes created with an expiration date will expire after the given date. An ExpiredInboxRecord is created that records the inboxes old ID and email address. You can still read emails in the inbox (using the inboxes old ID) but the email address associated with the inbox can no longer send or receive emails. Fetch expired inbox records to view the old inboxes properties
Declaration
public PageExpiredInboxRecordProjection GetExpiredInboxes(int? page = null, int? size = null, string sort = null, DateTime? since = null, DateTime? before = null, int operationIndex = 0)
Parameters
| Type | Name | Description |
|---|---|---|
| int? | page | Optional page index in inbox sent email list pagination (optional, default to 0) |
| int? | size | Optional page size in inbox sent email list pagination (optional, default to 20) |
| string | sort | Optional createdAt sort direction ASC or DESC (optional, default to ASC) |
| DateTime? | since | Filter by created at after the given timestamp (optional) |
| DateTime? | before | Filter by created at before the given timestamp (optional) |
| int | operationIndex | Index associated with the operation. |
Returns
| Type | Description |
|---|---|
| PageExpiredInboxRecordProjection | PageExpiredInboxRecordProjection |
Exceptions
| Type | Condition |
|---|---|
| ApiException | Thrown when fails to make API call |
GetExpiredInboxesAsync(int?, int?, string, DateTime?, DateTime?, int, CancellationToken)
List records of expired inboxes Inboxes created with an expiration date will expire after the given date. An ExpiredInboxRecord is created that records the inboxes old ID and email address. You can still read emails in the inbox (using the inboxes old ID) but the email address associated with the inbox can no longer send or receive emails. Fetch expired inbox records to view the old inboxes properties
Declaration
public Task<PageExpiredInboxRecordProjection> GetExpiredInboxesAsync(int? page = null, int? size = null, string sort = null, DateTime? since = null, DateTime? before = null, int operationIndex = 0, CancellationToken cancellationToken = default)
Parameters
| Type | Name | Description |
|---|---|---|
| int? | page | Optional page index in inbox sent email list pagination (optional, default to 0) |
| int? | size | Optional page size in inbox sent email list pagination (optional, default to 20) |
| string | sort | Optional createdAt sort direction ASC or DESC (optional, default to ASC) |
| DateTime? | since | Filter by created at after the given timestamp (optional) |
| DateTime? | before | Filter by created at before the given timestamp (optional) |
| int | operationIndex | Index associated with the operation. |
| CancellationToken | cancellationToken | Cancellation Token to cancel the request. |
Returns
| Type | Description |
|---|---|
| Task<PageExpiredInboxRecordProjection> | Task of PageExpiredInboxRecordProjection |
Exceptions
| Type | Condition |
|---|---|
| ApiException | Thrown when fails to make API call |
GetExpiredInboxesWithHttpInfo(int?, int?, string, DateTime?, DateTime?, int)
List records of expired inboxes Inboxes created with an expiration date will expire after the given date. An ExpiredInboxRecord is created that records the inboxes old ID and email address. You can still read emails in the inbox (using the inboxes old ID) but the email address associated with the inbox can no longer send or receive emails. Fetch expired inbox records to view the old inboxes properties
Declaration
public ApiResponse<PageExpiredInboxRecordProjection> GetExpiredInboxesWithHttpInfo(int? page = null, int? size = null, string sort = null, DateTime? since = null, DateTime? before = null, int operationIndex = 0)
Parameters
| Type | Name | Description |
|---|---|---|
| int? | page | Optional page index in inbox sent email list pagination (optional, default to 0) |
| int? | size | Optional page size in inbox sent email list pagination (optional, default to 20) |
| string | sort | Optional createdAt sort direction ASC or DESC (optional, default to ASC) |
| DateTime? | since | Filter by created at after the given timestamp (optional) |
| DateTime? | before | Filter by created at before the given timestamp (optional) |
| int | operationIndex | Index associated with the operation. |
Returns
| Type | Description |
|---|---|
| ApiResponse<PageExpiredInboxRecordProjection> | ApiResponse of PageExpiredInboxRecordProjection |
Exceptions
| Type | Condition |
|---|---|
| ApiException | Thrown when fails to make API call |
GetExpiredInboxesWithHttpInfoAsync(int?, int?, string, DateTime?, DateTime?, int, CancellationToken)
List records of expired inboxes Inboxes created with an expiration date will expire after the given date. An ExpiredInboxRecord is created that records the inboxes old ID and email address. You can still read emails in the inbox (using the inboxes old ID) but the email address associated with the inbox can no longer send or receive emails. Fetch expired inbox records to view the old inboxes properties
Declaration
public Task<ApiResponse<PageExpiredInboxRecordProjection>> GetExpiredInboxesWithHttpInfoAsync(int? page = null, int? size = null, string sort = null, DateTime? since = null, DateTime? before = null, int operationIndex = 0, CancellationToken cancellationToken = default)
Parameters
| Type | Name | Description |
|---|---|---|
| int? | page | Optional page index in inbox sent email list pagination (optional, default to 0) |
| int? | size | Optional page size in inbox sent email list pagination (optional, default to 20) |
| string | sort | Optional createdAt sort direction ASC or DESC (optional, default to ASC) |
| DateTime? | since | Filter by created at after the given timestamp (optional) |
| DateTime? | before | Filter by created at before the given timestamp (optional) |
| int | operationIndex | Index associated with the operation. |
| CancellationToken | cancellationToken | Cancellation Token to cancel the request. |
Returns
| Type | Description |
|---|---|
| Task<ApiResponse<PageExpiredInboxRecordProjection>> | Task of ApiResponse (PageExpiredInboxRecordProjection) |
Exceptions
| Type | Condition |
|---|---|
| ApiException | Thrown when fails to make API call |
GetExpiredInboxRecord(Guid, int)
Get an expired inbox record Inboxes created with an expiration date will expire after the given date and be moved to an ExpiredInbox entity. You can still read emails in the inbox but it can no longer send or receive emails. Fetch the expired inboxes to view the old inboxes properties
Declaration
public ExpiredInboxDto GetExpiredInboxRecord(Guid expiredId, int operationIndex = 0)
Parameters
| Type | Name | Description |
|---|---|---|
| Guid | expiredId | ID of the ExpiredInboxRecord you want to retrieve. This is different from the ID of the inbox you are interested in. See other methods for getting ExpiredInboxRecord for an inbox inboxId |
| int | operationIndex | Index associated with the operation. |
Returns
| Type | Description |
|---|---|
| ExpiredInboxDto | ExpiredInboxDto |
Exceptions
| Type | Condition |
|---|---|
| ApiException | Thrown when fails to make API call |
GetExpiredInboxRecordAsync(Guid, int, CancellationToken)
Get an expired inbox record Inboxes created with an expiration date will expire after the given date and be moved to an ExpiredInbox entity. You can still read emails in the inbox but it can no longer send or receive emails. Fetch the expired inboxes to view the old inboxes properties
Declaration
public Task<ExpiredInboxDto> GetExpiredInboxRecordAsync(Guid expiredId, int operationIndex = 0, CancellationToken cancellationToken = default)
Parameters
| Type | Name | Description |
|---|---|---|
| Guid | expiredId | ID of the ExpiredInboxRecord you want to retrieve. This is different from the ID of the inbox you are interested in. See other methods for getting ExpiredInboxRecord for an inbox inboxId |
| int | operationIndex | Index associated with the operation. |
| CancellationToken | cancellationToken | Cancellation Token to cancel the request. |
Returns
| Type | Description |
|---|---|
| Task<ExpiredInboxDto> | Task of ExpiredInboxDto |
Exceptions
| Type | Condition |
|---|---|
| ApiException | Thrown when fails to make API call |
GetExpiredInboxRecordWithHttpInfo(Guid, int)
Get an expired inbox record Inboxes created with an expiration date will expire after the given date and be moved to an ExpiredInbox entity. You can still read emails in the inbox but it can no longer send or receive emails. Fetch the expired inboxes to view the old inboxes properties
Declaration
public ApiResponse<ExpiredInboxDto> GetExpiredInboxRecordWithHttpInfo(Guid expiredId, int operationIndex = 0)
Parameters
| Type | Name | Description |
|---|---|---|
| Guid | expiredId | ID of the ExpiredInboxRecord you want to retrieve. This is different from the ID of the inbox you are interested in. See other methods for getting ExpiredInboxRecord for an inbox inboxId |
| int | operationIndex | Index associated with the operation. |
Returns
| Type | Description |
|---|---|
| ApiResponse<ExpiredInboxDto> | ApiResponse of ExpiredInboxDto |
Exceptions
| Type | Condition |
|---|---|
| ApiException | Thrown when fails to make API call |
GetExpiredInboxRecordWithHttpInfoAsync(Guid, int, CancellationToken)
Get an expired inbox record Inboxes created with an expiration date will expire after the given date and be moved to an ExpiredInbox entity. You can still read emails in the inbox but it can no longer send or receive emails. Fetch the expired inboxes to view the old inboxes properties
Declaration
public Task<ApiResponse<ExpiredInboxDto>> GetExpiredInboxRecordWithHttpInfoAsync(Guid expiredId, int operationIndex = 0, CancellationToken cancellationToken = default)
Parameters
| Type | Name | Description |
|---|---|---|
| Guid | expiredId | ID of the ExpiredInboxRecord you want to retrieve. This is different from the ID of the inbox you are interested in. See other methods for getting ExpiredInboxRecord for an inbox inboxId |
| int | operationIndex | Index associated with the operation. |
| CancellationToken | cancellationToken | Cancellation Token to cancel the request. |
Returns
| Type | Description |
|---|---|
| Task<ApiResponse<ExpiredInboxDto>> | Task of ApiResponse (ExpiredInboxDto) |
Exceptions
| Type | Condition |
|---|---|
| ApiException | Thrown when fails to make API call |


Hate forgetting what you need to get done but don't want to carry a pen and paper everywhere. No worries, just use this simple application that will keep track of what needs to get done. The user can add, update, and delete anything on the list so they can stay on top of their game.


Library: Foundation
Package: Core
Header: Poco/NestedDiagnosticContext.h
Description
This class implements a Nested Diagnostic Context (NDC), as described in Neil Harrison's article "Patterns for Logging Diagnostic Messages" in "Pattern Languages of Program Design 3" (Addison-Wesley).
A NDC maintains a stack of context information, consisting of an informational string (e.g., a method name), as well as an optional source code line number and file name. NDCs are especially useful for tagging log messages with context information which is very helpful in a multithreaded server scenario. Every thread has its own private NDC, which is automatically created when needed and destroyed when the thread terminates.
The NDCScope (or NDC::Scope) class can be used to automatically push information at the beginning of a scope, and to pop it at the end. The poco_ndc(info) macro augments the information with a source code line number and file name.
Member Summary
Member Functions: clear, current, depth, dump, operator =, pop, push, toString
Types
Scope
Constructors
NestedDiagnosticContext
Creates the NestedDiagnosticContext.
NestedDiagnosticContext
NestedDiagnosticContext(
const NestedDiagnosticContext & ctx
);
Copy constructor.
Destructor
~NestedDiagnosticContext
Destroys the NestedDiagnosticContext.
Member Functions
clear
void clear();
Clears the NDC stack.
current
static NestedDiagnosticContext & current();
Returns the current thread's NDC.
depth
int depth() const;
Returns the depth (number of contexts) of the stack.
dump
void dump(
std::ostream & ostr
) const;
Dumps the stack (including line number and filenames) to the given stream. The entries are delimited by a newline.
dump
void dump(
std::ostream & ostr,
const std::string & delimiter
) const;
Dumps the stack (including line number and filenames) to the given stream.
operator =
NestedDiagnosticContext & operator = (
const NestedDiagnosticContext & ctx
);
Assignment operator.
pop
void pop();
Pops the top-most context off the stack.
push
void push(
const std::string & info
);
Pushes a context (without line number and filename) onto the stack.
push
void push(
const std::string & info,
int line,
const char * filename
);
Pushes a context (including line number and filename) onto the stack. Filename must be a static string, such as the one produced by the __FILE__ preprocessor macro.
toString
std::string toString() const;
Returns the stack as a string with entries delimited by colons. The string does not contain line numbers and filenames.


- first
- second
- third
- fourth
- fifth
- sixth
sb-list:
- first
- second
- third
- fourth
- fifth
- sixth
sql-repeat inside sb-list:
- {{table.name}}
ng-repeat inside sb-list:
- {{table}}
plain list:
- first
- second
- third
with tab stops:
- first
- second
- third
with contenteditable (items non-editable):
- first
- second
- third
with completely contenteditable:
- first
- second
- third
Click to edit


At the moment, Lumeer is under development. We plan to release at the end of 2017. Subscribe to our Early Access Program to get news and be able to provide your input and make wishes on features. You can tell us what you think or what you want Lumeer to do for you using our Contact Form.
These are lists of some core features Lumeer has. The lists are not extensive so if you think we miss your favorite feature, do not hesitate to ask for it!
Click on the small question marks to learn more. Please stay tuned, we will be adding details to all of the items in the lists.
Views allow you to see the same data through various lenses depending on your current task. There is a wide palette of options and we keep adding more.
We understand how important collaboration with your colleagues and friends is. Lumeer facilitates that in its features.
Computers are very good at large data processing and automation. Lumeer leverages this by providing easy to understand and use business processes. You can start of by creating your own checklist of tasks, add some automated data manipulation steps later, and maybe share with all your colleagues in the end.
These features are more or less expected from all applications working with data. We just want to assure you that Lumeer supports them.


Manage the plugins known to this installation of apiman. Plugins allow additional functionality to be included in the system after it has been installed and configured.
| Name | Description | Version | Actions |
|---|---|---|---|
|
No plugins have been added! Try adding some plugins by clicking Add Plugin above. |
|||
| {{ plugin.name }} | {{plugin.description}} | {{plugin.version}} |
Upgrading... |
| Name | Description | Actions |
|---|---|---|
|
No plugins found! Perhaps the plugin registry is not properly configured? |
||
|
No plugins match your filter criteria. |
||
| {{ plugin.name }} | {{plugin.description}} | Install Installed |


Jokes
FUNCTION
METHOD
CONSTRUCTOR
1.
2.
3.
For more explanation please visit -
Function method constructor Wiki


|
Vince's CSV Parser
|
Helper functions for various parts of the main library. More...
Functions | |
| bool | is_equal (double a, double b, double epsilon=0.001) |
| std::string | type_name (const DataType &dtype) |
| std::string | format_row (const std::vector< std::string > &row, const std::string &delim=", ") |
| DataType | data_type (const std::string &, long double *const out=nullptr) |
Helper functions for various parts of the main library.
| DataType csv::helpers::data_type | ( | const std::string & | in, |
| long double *const | out = nullptr |
||
| ) |
Distinguishes numeric from other text values. Used by various type casting functions, like csv_parser::CSVReader::read_row()
| [in] | in | String value to be examined |
Distinguishes numeric from other text values. Used by various type casting functions, like csv_parser::CSVReader::read_row()
| [in] | in | String value to be examined |
| std::string csv::helpers::format_row | ( | const std::vector< std::string > & | row, |
| const std::string & | delim = ", " |
||
| ) |
Print a CSV row
Print a CSV row
| bool csv::helpers::is_equal | ( | double | a, |
| double | b, | ||
| double | epsilon = 0.001 |
||
| ) |
Returns true if two doubles are about the same
Returns true if two doubles are about the same


This manual covers installation, configuration, and various uses for rApache version 1.2.0. Read this manual for all prior versions. This document is intended to contain the most up-to-date information about rApache. Comments, suggestions should be forwarded to the maintainer.
The major change, and hence the bump in the minor version, is that the working directory is sensibly set in for those using RFileEval, RFileHandler, and handlers using r-script.
rApache is a project supporting web application development using the R statistical language and environment and the Apache web server. The current software distribution runs on UNIX/Linux and Mac OS X operating systems. Apache servers with threaded Multi-Processing Modules are now supported, but the the Apache Prefork Multi-Processing Module is still recommended (refer to the Multi-Processing Modules chapter from Apache for more about this).
The rApache software distribution provides the Apache module named mod_R that embeds the R interpreter inside the web server. It also comes bundled with libapreq, an Apache module for manipulating client request data. Together, they provide the glue to transform R into a server-side scripting environment.
Another important project that's not bundled with rApache, but plays an important role in server-side scripting, is the R package brew (also available on CRAN). It implements a templating framework for report generation, and it's perfect for generating HTML on the fly. it's syntax is similar to PHP, Ruby's erb module, Java Server Pages, and Python's psp module. brew can be used stand-alone as well, so it's not part of the distribution.
Rook is an R package that defines a specification and set of convenience objects for running R web applications on various web servers without the need to modify your code. Thus, you can write and run Rook apps within R using the built-in Rhttpd web server and deploy them on rApache.
As with any web server-side scripting environment, rApache is at the mercy of YOU THE PROGRAMMER. If you allow your R code to accept information from a 3rd party, then it is up to you to vet that information appropriately. So, the author maintains that rApache is more or less as secure as other popular web scripting environments such as PHP, Ruby on Rails, etc.
rApache follows the typical GNU/Linux source install procedure: run 'configure', then 'make', and 'make install' from the shell.
At the moment, rApache is a source-only downloadable package. I've made attempts in the past to learn the Debian packaging system but have not quite got it down yet. If anyone is interested in providing binary packages, for any Linux distribution, please email me.
Requirements for installing and using rApache are as follows:
configure does it's best to probe your system to meet the above requirements. Failing that, you should use the following flags:
Here's an example with some common argument values:
./configure \ --with-R=/usr/bin/R \ --with-apache2-apxs=/usr/bin/apxs2 \ --with-apreq2-config=/usr/bin/apreq2-config
Running make with no target will build rApache. Use 'make install' to install. The following make targets are also available:
Run the following as root (changing VERSION to the latest release version) or use sudo before each command:
apt-get install r-base-dev apache2-mpm-prefork apache2-prefork-dev wget http://www.rapache.net/rapache-VERSION.tar.gz tar xzvf rapache-VERSION.tar.gz cd rapache-VERSION ./configure make make install
This chapter details what to put in your Apache server configuration file(s). If you install Apache from source, then you will only have to edit the main file httpd.conf. If you install from a binary distribution, chances are the configuration is split among multiple files, so you may want to research your distribution's config layout before making any changes.
This is how Apache loads mod_R (must be placed first before any rApache directives):
# All Apache modules are loaded this way. The most important thing to # remember is that the string "R_module" is case sensitive, so get it # right in the config file. LoadModule R_module /apache/module/path/mod_R.so
LoadModule is an apache directive that links in object files that contain module structures. rApache's module structure is named "R_Module".
NOTE:
When attempting to start apache2 on some UNIX systems, you may see an error message similar to this one:
apache2: Syntax error on line 186 of /etc/apache2/apache2.conf: Cannot load
/usr/lib/apache2/modules/mod_R.so into server: libR.so: cannot open shared
object file: No such file or directory
To fix this, you will want to instruct your run-time linker, ld.so, on where to find libR.so. The easiest way to do this is by adding the directory to the /etc/ld.so.conf file and re-running ldconfig as root. If you don't know the location you can easily find out by running:
$ R CMD config --ldflags
-L/usr/lib/R/lib -lR
In the output above, /usr/lib/R/lib is the directory you will want to place in /etc/ld.so.conf.
3.2 ROutputErrors (DEPRECATED)
In prior releases, ROutputErrors would send all warning and error messages to the browser. This has been deprecated and will be removed from the next rApache release. All warnings and errors are now always sent through the apache logging system.
When configuring rApache for the first time, you may want to add the following directive to ensure that your system is working. It produces a report about R and Apache when you visit the url at /RApacheInfo. For production systems, you might want to leave it out.
# Prints out a nice report about R running within Apache <Location /RApacheInfo> SetHandler r-info </Location>View a sample here.
This directive takes one argument: a string containing R expressions to evaluate upon startup. Any number of these directives can appear throughout the config files, and they are evaluated in the global environment in the order they appear. Useful for setting options and loading libraries like so:
# Load required DBI and RMySQL packages REvalOnStartup "library(DBI); library(RMySQL)"
Sometimes you want to evaluate quite a bit of code on startup. Equivalent to calling source() in the global environment. Just like REvalOnStartup, these directives can appear anywhere in the config files and they are evaluated in the order that they appear.
# Configure system with startup file RSourceOnStartup "/var/www/lib/R/startup.R"
It's important to read through the following section carefully as it will easily cause the most confusion. You have two Apache directives, two rApache directives, and two SetHandler options to learn.
The Apache directives Location and Directory are used here to match up urls and files to R handlers. Certainly, Apache is very configurable and other directives exist to provide more fine-grained control over urls and files, but please refer to the Apache documentation for further info.
"Location" is used to define the behavior of url's that do not map to files on the filesytem. In rApache, they can be used to invoke an R handler. For instance, suppose we have set up rApache on the site example.com and added the following "Location" directive as in section 2.3:
<Location /Risneat> SetHandler r-info </Location>
Then, the url http://example.com/Risneat will invoke the handler r-info, but that url doesn't map to any file on the filesystem.
"Directory" is used to define the behavior of files on the filesystem. In rApache, they can be used to evaluate files containing R expressions through an R handler like so:
# Any file under /var/www/brew is passed through the function brew located in # the package brew <Directory /var/www/brew> SetHandler r-script RHandler brew::brew </Directory>
Suppose example.com's Apache DocumentRoot was /var/www/, then the file /var/www/brew/foo.html maps to the url http://example.com/brew/foo.html and is run throuh the R package brew.
r-handler, r-script, and r-info are valid arguments to Apache's SetHandler directive ("r-info" is already described in section 2.3). Calling SetHandler forces url's to be parsed through the named handler.
r-handler is used when you want to call an R function without arguments. You can also specify a particular file as well (see below). It is generally used within Location directives.
r-script is used when you want to call an R function with 2 arguments: the first is the full path to the file, and the second is an R environment. It is generally used within Directory directives.
Using either of these requires that the function or script return a suitable HTTP response code. For most cases this will be the value OK, which sends an HTTP response code of 200 to the browser. If the function or script would like to signal an error condition, then it should return an object with an S3 class of 'try-error' (read the R documentation for try and tryCatch for further info on the 'try-error' class).
RHandler is used to specify an R function to handle incoming web requests. The function must exist either in an attached package or it must be found on the R search path. You can use the "::" to preface the function with the package name, just as in R. Examples:
# Specify foo as the function to run. Probably created # by REvalOnStartup or RSourceOnStartup RHandler foo # Run the function bar located in the package foo RHandler foo::bar
RFileHandler is used to specify a file and/or the function to handle incoming web requests. The "::" notation is used to specifiy the file and the function together. Absolute paths to files are expected. Examples:
# Hello world example. equivalent to calling source('/var/www/R/hello.R') # on each request. RFileHandler /var/www/R/hello.R # Call the function foo within the file bar.R RFileHandler /var/www/R/bar.R::foo
Another note about RFileHandler. Each file specified is parsed only when its timestamp changes. This is useful for debugging, and once you are happy with the functionality, you may want to place it in a package use RSourceOnStartup and turn it into a function call instead for more efficiency.
These two will take arbitrary R expressions and run them on each request. They are similar to RHandler and RFileHandler. For instance the above RHandler configuration example can be converted to use REval:
# Specify foo as the function to run. Probably created # by REvalOnStartup or RSourceOnStartup RHandler "foo()" # Run the function bar located in the package foo RHandler "foo::bar()"
and similarly for RFileHandler:
# Call the function foo within the file bar.R RFileHandler "/var/www/R/bar.R:foo()"
Note that a single colon is used to separate the filename from the expression to be evaluated. Note also that r-script is ignored in this case and r-handler is presumed.
By far the easiest configuration will be the brew example. Each file under /var/www/brew is treated as a brew script:
# Any file under /var/www/brew is passed through the function brew located in # the package brew. <Directory /var/www/brew> SetHandler r-script RHandler brew::brew </Directory>
Another option is to use sys.source:
# Any file under /var/www/R-files is passed through the function sys.source. <Directory /var/www/R-files> SetHandler r-script RHandler sys.source </Directory>
Hello World for the url at /test/helloworld:
# Runs the R expressions in helloworld.r for every request # that matches /test/helloworld, including /test/helloworld/foobar <Location /test/helloworld> SetHandler r-handler RFileHandler /path/to/R/scripts/helloworld.r </Location>
Deploying a Rook application:
# Run the Rook application named 'app'. On each request, the expression # 'Rook::Server$call(app)' is evaluated in an environment populated by # rookapp.R. 'app' is expected to be found in that environment. <Location /test/RookApp> SetHandler r-handler RFileEval /path/to/Rook/App/rookapp.R:Rook::Server$call(app) </Location>
The following functions can be used inside R handlers.
Add HTTP Response Headers (RFC2616) to the response. All headers must be added before the first output from print() or cat().
Example:
setHeader(header='X-Powered-By',value='rApache')
Arguments:
Returns:
Allows handler to set the content type of the request. Must be called before output with print or cat().
Example:
setContentType(type='image/png')
Arguments:
Returns:
Add HTTP Cookies to the response headers. In the simplest case, calling setCookie('foo','bar') sets the cookie 'foo' to the value 'bar'. Calling setCookie('foo') will delete the cookie 'foo'. Any non-standard key value pairs can be appended by using ...
Example:
setCookie(name='sessionID',value=paste(rnorm(1)))
Arguments:
Returns:
Percent encoding and decoding (url for short) of character vectors.
Example:
urlEncode(str='hello<EMAIL_ADDRESS>urlDecode(str='hello+world%40example.com')
Arguments:
Returns:
Print out a report (sample) about rApache.  Equivalent to using "SetHandler r-info".
Example:
RApacheInfo()
Arguments:
Returns:
Sends binary data to the browser. This function is equivalent to R's writeBin() function, but the connection argument is ignored. See the documentation to writeBin() in your R distribution for more information.
sendBin(object=readBin(t,'raw',n=file.info(t)$size))
Arguments:
Returns:
Reads data from the HTTP request body, if any. Returns a length zero raw vector when there's no more data to read.
receiveBin(length=8192)
Arguments:
Returns:
This function has been deprecated and will be removed from the next rApache release. It invokes a warning if it is called.
In previous releases of rApache, information from the web server was passed to R handlers in a single variable. This system design element was copied from other apache modules, but it has proven to be too cumbersome to support in software maintenance. Rather, because R has support for lexical scoping and in a far broader sense the ability to manipulate the language, a simpler approach was implemented.
rApache variables, named similar to PHP variables, are read-only list variables whose values are in most cases character vectors. They are injected into the environment of the R handler, and they are found by your R code via lexical scoping rules.
The GET variable contains those values obtained from an HTTP GET method, i.e. the key-value pairs found after the "?" of an URL, or data passed from an HTTP form when the method attribute is "GET". For example, the following form:
<form method="GET" action="http://example.com/brew/get.html"> <input type="text" name="p1" value="0.95"> <input type="text" name="p2" value="0.7"> <input type="submit" name="Submit"> </form>produces the following GET list variable:
> str(GET) List of 3 $ p1 : chr "0.95" $ p2 : chr "0.7" $ Submit: chr "Submit Query"
The POST variable contains those values obtained from an HTTP POST method, i.e. data passed from an HTTP form when the method attribute is "POST". Switching the method to "POST" in the example form from the previous section will produce the same values, yet in the POST variable:
> str(POST) List of 3 $ p1 : chr "0.95" $ p2 : chr "0.7" $ Submit: chr "Submit Query"
The COOKIES variable contains those values obtained from the HTTP response header named "Cookie". It is a list variable whose values are character vectors. See the setCookie function and this link for more info.
The FILES variable contains information about uploaded files via HTTP forms when the enctype attribute is set to "multipart/form-data". The following form:
<form enctype="multipart/form-data" method="POST" action="URL"> <input type="file" name="FirstFile"> <input type="file" name="SecondFile"> <input type="submit" name="Upload">produces this FILES variable:
> str(FILES) List of 2 $ FirstFile :List of 2 ..$ name : chr "useR2007poster.pdf" ..$ tmp_name: chr "/tmp/apreqc9GlXE" $ SecondFile:List of 2 ..$ name : chr "rapache-1.0.0-useR2007.tar.gz" ..$ tmp_name: chr "/tmp/apreqoQ2hhX"
It is a list of lists, with the nested list giving you the "name" of the file and the "tmp_name", the location of the temporary file. For instance, to reference the uploaded file from the input tag named "FirstFile" you would use FILES$FirstFile$tmp_name. Here's a code snippet to copy the file to the '/usr/local/uploaded_files' directory:
destination <- file.path('/usr/local/uploaded_files',FILES$FirstFile$name) file.copy(FILES$FirstFile$tmp_name,destination,overwrite=TRUE)
NOTE: the temporary files are deleted after the R handler completes handling the request. Thus, it is imperative that you copy/move this file to your desired location before the R handler returns.
As you can see from the below output, the SERVER variable contains a wealth of information about the incoming web request:
> str(SERVER) List of 30 $ headers_in :List of 9 ..$ Host : chr "localhost:8181" ..$ User-Agent : chr "Mozilla/5.0 (X11; U; Linux i686; en-US; ..." ..$ Accept : chr "text/xml,application/xml,application/x..."  $ canonical_filename: chr "/home/hornerj/rapache/branches/rapache-1-0-br..." $ path_info : chr "/beetles/" $ args : chr "foo=bar" $ content_type : chr "text/html" $ handler : chr "r-script" $ content_encoding : NULL $ range : NULL $ hostname : chr "localhost" $ user : NULL $ header_only : logi FALSE $ no_cache : logi FALSE $ no_local_copy : logi FALSE $ assbackwards : logi FALSE $ status : int 200 $ method_number : int 0 $ eos_sent : logi FALSE $ the_request : chr "GET /brew/server.html/beetles/?foo=bar HTTP/1.1" $ method : chr "GET" $ status_line : NULL $ bytes_sent : num 0 $ clength : num 0 $ remaining : num 0 $ read_length : num 0 $ request_time :'POSIXct', format: chr "2007-08-15 11:11:49" $ mtime :'POSIXct', format: chr "1969-12-31 18:00:00"
Here's a description of each list element:
headers_in list containing all the HTTP headers sent by the client.
proto_num Integer. Protocol version number of protocol; 1.1 = 1001
protocol Character. Protocol string, as given to us, or HTTP/0.9.
unparsed_uri Character. The URI without any parsing performed.
uri Character. The path portion of the URI.
filename Character. The name of the file with full path information.
canonical_filename Character. The true filename. Case and aliases/symbolic links have been resolved.
path_info Character. The suffix portion of the url after it has been matched to an asset that the web server knows about. An asset is either a file or an url defined by an Apache Location directive.
cmd_path Character. The path taken from the corresponding configuration directive.
args Character. The HTTP GET data extracted from this request.
content_type Character. The content-type for the current request.
handler Character. The handler string that we use to call a handler function.
content_encoding Character. How to encode the data.
range Character. The HTTP Response header named "Range:".
hostname Character. The server hostname.
user Character. If an HTTP authentication check was made, this gets set to the user name.
header_only Logical. HEAD request, as opposed to GET.
no_cache Logical. This response can not be cached.
no_local_copy Logical. There is no local copy of this response.
assbackwards Logical. HTTP/0.9, 'simple' request (e.g. GET /foo\n w/no headers). Developers have found this a useful way to internally redirect without headers.
status Integer. Status line.
method_number Integer value of GET, POST, etc.
eos_sent Logical. A flag to determine if the eos bucket has been sent yet.
the_request Character. First line of the request.
method Character. Request method (eg. GET, HEAD, POST, etc.)
status_line Character. Status line, if set by script.
bytes_sent Numeric. Number of bytes sent.
clength Numeric. The 'real' content length.
remaining Numeric. Remaining bytes left to read from the request body.
read_length Numeric. Number of bytes that have been read from the request body.
request_time POSIXct DateTime object. Time when the request started.
mtime POSIXct DateTime object. Last modified time of the requested resource .
The following table describes variables that exist as integer vectors of length 1 in the R handler environment and are proper return values for R handlers. They consist of Apache module return values and HTTP Status Codes(see Status Code Definitions from RFC2616 for more info). The most reasonable response value and the one that most handlers will return is the value DONE.
| name | value | description |
|---|---|---|
| DECLINDED | -1 | Module declines to handle |
| DONE | -2 | Module has served response completely. |
| OK | -0 | Module has handled this Apache response stage. |
| HTTP_CONTINUE | 100 | |
| HTTP_SWITCHING_PROTOCOLS | 101 | |
| HTTP_PROCESSING | 102 | |
| HTTP_OK | 200 | |
| HTTP_CREATED | 201 | |
| HTTP_ACCEPTED | 202 | |
| HTTP_NON_AUTHORITATIVE | 203 | |
| HTTP_NO_CONTENT | 204 | |
| HTTP_RESET_CONTENT | 205 | |
| HTTP_PARTIAL_CONTENT | 206 | |
| HTTP_MULTI_STATUS | 207 | |
| HTTP_MULTIPLE_CHOICES | 300 | |
| HTTP_MOVED_PERMANENTLY | 301 | |
| HTTP_MOVED_TEMPORARILY | 302 | |
| HTTP_SEE_OTHER | 303 | |
| HTTP_NOT_MODIFIED | 304 | |
| HTTP_USE_PROXY | 305 | |
| HTTP_TEMPORARY_REDIRECT | 307 | |
| HTTP_BAD_REQUEST | 400 | |
| HTTP_UNAUTHORIZED | 401 | |
| HTTP_PAYMENT_REQUIRED | 402 | |
| HTTP_FORBIDDEN | 403 | |
| HTTP_NOT_FOUND | 404 | |
| HTTP_METHOD_NOT_ALLOWED | 405 | |
| HTTP_NOT_ACCEPTABLE | 406 | |
| HTTP_PROXY_AUTHENTICATION_REQUIRED | 407 | |
| HTTP_REQUEST_TIME_OUT | 408 | |
| HTTP_CONFLICT | 409 | |
| HTTP_GONE | 410 | |
| HTTP_LENGTH_REQUIRED | 411 | |
| HTTP_PRECONDITION_FAILED | 412 | |
| HTTP_REQUEST_ENTITY_TOO_LARGE | 413 | |
| HTTP_REQUEST_URI_TOO_LARGE | 414 | |
| HTTP_UNSUPPORTED_MEDIA_TYPE | 415 | |
| HTTP_RANGE_NOT_SATISFIABLE | 416 | |
| HTTP_EXPECTATION_FAILED | 417 | |
| HTTP_UNPROCESSABLE_ENTITY | 422 | |
| HTTP_LOCKED | 423 | |
| HTTP_FAILED_DEPENDENCY | 424 | |
| HTTP_UPGRADE_REQUIRED | 426 | |
| HTTP_INTERNAL_SERVER_ERROR | 500 | |
| HTTP_NOT_IMPLEMENTED | 501 | |
| HTTP_BAD_GATEWAY | 502 | |
| HTTP_SERVICE_UNAVAILABLE | 503 | |
| HTTP_GATEWAY_TIME_OUT | 504 | |
| HTTP_VERSION_NOT_SUPPORTED | 505 | |
| HTTP_VARIANT_ALSO_VARIES | 506 | |
| HTTP_INSUFFICIENT_STORAGE | 507 | |
| HTTP_NOT_EXTENDED | 510 |
Another suitable value to return from a handler is an object with S3 class of 'try-error'.
For a complete look at an rApache application, download the useR2007 application which uses Hmisc and brew for power and sample size calculations.
The following code exercises all rApache functionality by just echoing what was sent from the browser. Copy and paste the following code to a file and then set up apache with the following configuration. You should then be able to point your browser at http://example.com/rapachetest (replacing example.com with your own hostname).
# # Place this in your Apache config file. # <Location /rapachetest> SetHandler r-handler RFileHandler /var/www/R/test.R </Location>
# # Copy and save this code to /var/www/R/test.R # hrefify <- function(title) gsub('[\\.()]','_',title,perl=TRUE) scrub <- function(str){ if (is.null(str)) return('NULL') if (length(str) == 0) return('length 0 string') cat("\n<!-- before as.character: (",str,")-->\n",sep='') str <- as.character(str) cat("\n<!-- after as.character: (",str,")-->\n",sep='') str <- gsub('&','&',str); str <- gsub('@','_at_',str); str <- gsub('<','<',str); str <- gsub('>','>',str); if (length(str) == 0 || is.null(str) || str == '') str <- ' ' str } cl<-'e' zebary <- function(i){ cl <<- ifelse(cl=='e','o','e') cat('<tr class="',cl,'"><td>',scrub(i),'</td></tr>\n',sep='') } zeblist <- function(i,l){ cl <<- ifelse(cl=='e','o','e') cat('<tr class="',cl,'"><td class="l">',names(l)[i],'</td><td>') if(is.list(l[[i]])) zebra(names(l)[i],l[[i]]) else { if (length(l[[i]]) > 1) zebary(l[[i]]) else cat(scrub(l[[i]])) } cat('</td></tr>\n',sep='') } zebra <- function(title,l){ cat('<h2><a name="',hrefify(title),'"> </a>',title,'</h2>\n<table><tbody>',sep='') ifelse(is.list(l),lapply(1:length(l),zeblist,l), lapply(l,zebary)) cat('</tbody></table>\n<br/><hr/>') } # Output starts here setContentType("text/html") if(is.null(GET)){ called <- 1 } else { called <- as.integer(GET$called) + 1 } setCookie('called',called,expires=Sys.time()+100) cat('<HTML><head><style type="text/css">\n') cat('table { border: 1px solid #8897be; border-spacing: 0px; font-size: 10pt; }') cat('td { border-bottom:1px solid #d9d9d9; border-left:1px solid #d9d9d9; border-spacing: 0px; padding: 3px 8px; }') cat('td.l { font-weight: bold; width: 10%; }\n') cat('tr.e { background-color: #eeeeee; border-spacing: 0px; }\n') cat('tr.o { background-color: #ffffff; border-spacing: 0px; }\n') cat('</style></head><BODY><H1>Canonical Test for rApache</H1>\n') cat('<form enctype=multipart/form-data method=POST action="?called=',called,'">\n',sep='') cat('Enter a string: <input type=text name=name value=""><br>\n',sep='') cat('Enter another string: <input type=text name=name value=""><br>\n',sep='') cat('Upload a file: <input type=file name=fileUpload><br>\n') cat('Upload another file: <input type=file name=anotherFile><br>\n') cat('<input type=submit name=Submit>') cat("<hr>\n") zebra('CGI GET Data',GET) zebra('CGI POST Data',POST) zebra('Cookies',COOKIES) if (!is.null(FILES)){ cat('<h2>Files Uploaded in POST Data</h2>\n') for (n in names(FILES)){ zebra(paste("Form Variable",n),FILES[[n]]) } } zebra("SERVER Variables",SERVER) cat("</BODY></HTML>\n") DONE
The rApache source code is licensed under the Apache License Version 2.0.
To cite rApache, use the following:
A BibTeX entry for LaTeX users is
@Manual{, title = {rApache: Web application development with R and Apache.}, author = {Jeffrey Horner}, year = {2012}, url = {http://www.rapache.net/}, }
Thanks to the following people for their contributions, giving advice, noticing when things were broken and such. If I've forgotten to mention you, please email me.
Gregoire Thomas Jan de Leeuw Keven E. Thorpe Jeremy Stephens Aleksander Wawer David Konerding Robert Kofler Jeroen Ooms Michael Driscoll


Dear Better Battlelog developers. First of all I wish to thank you for creating yet another awesome and much improved version of Better Battlelog. Congratulations.
Of course there are a few things that I want to say about the new system.
1. Placeholder instead of Value
There is a piece of code for when you add a plugin to the system. It goes as followed: <input type="text" value="Example:
http://getbblog.com/plugins/example.js"
data-tooltip="Add your own Plugin URL. The Example File shows you how plugins basically work and how you can work with it. For more help, visit the getbblog homepage. Press Enter to save it to your list. It must be a correct URL"></input>
My suggestion is to change this to: <input type="text" placeholder="Example:
http://getbblog.com/plugins/example.js"
data-tooltip="Add your own Plugin URL. The Example File shows you how plugins basically work and how you can work with it. For more help, visit the getbblog homepage. Press Enter to save it to your list. It must be a correct URL"></input>
This works with most browsers now and is a feature new in HTML5.
2. Add 'input type=text' to the options
Now there is only an option to create a checkbox or a button. Would it be possible to add a textbox as well and maybe radio buttons? This way, with the textbox, we can have users add their own, lets say, teamspeak server url and port. It allows developers to create more advanced plugins with user controlled input.
3. Collapsible menu/plugin options
A simple plus/minus option on every box inside the BBLog area will make it so people can minimize stuff they previously set and do not want to touch anytime soon. It clears up the space that people aren't using to make room for even more plugins.
4. Order of the plugins changes every now and then
When I refresh the BBLog plugin (hit F5) sometimes the order of the plugin boxes changes. If you add two plugins then they sometimes switch places which is a minor thing but I would love to see this fixed. Have fixed positions of the boxes so people know what to expect when they fold down the BBLog options menu.
5. Mixed checkboxes and buttons
This is the only thing that is really bothering me. The mixing of buttons (with a checkbox infront of it) and checkboxes. Could there be a way to structure the buttons on the top of the BBLog plugin like in the old version?
6. Option to turn off tipsy
The tipsy plugin is nice but once you are familiar with the features and what it does, the tipsy information becomes rather cluttered and pointless since people already know what it does. Could there be an option to turn off the tipsy additional information?
7. Grouping of options
Last but not least, I would like to see a more structured way to display options of a plugin by using option groups. For example. A single plugin has two groups of options with a title. When BBLog shows the user the options, it shows a option group title with the sub-options below it.
That was it, I've started coding some plugins to clear up Battlelog. I am also working on a rewrite of the TeamSpeak plugin posted here for version 2.x.
Keep up the good work!
BrainFooLong
Administrator
Thx for feedback.
I'll see what is helpful and whats not.
Amkhatar
Theme Developer
With a "placeholder", we can not copy/paste the example url in a brower to see the example file
Topicstarter
Weyland
True. But now, every time I want to add a plugin url, I need to remove the line first which gets annoying pretty fast. You can either decide to add the URL as text above or below the input box or use the suggested solution with the placeholder.
Topicstarter
Weyland
BrainFooLong wrote:
Thx for feedback.
I'll see what is helpful and whats not.
My pleasure. Please note that it's constructive criticism ;-)
Post edited 1 x times, last by
BrainFooLong
Administrator
BrainFooLong
Administrator
My feedback
1. Maybe i'll change it to something different. Non Placeholder because you can't copy the link easily and not in the textfield (as it is now).
2. For that reason is the button available. You can do whatever you want with the button. Maybe one case of thousend need a simple textfield without anything behind. Mostly another action is required with the edited text. To respect all cases is too much work.With the button is all possible, Popup with extended options, etc...
3. That is a good idea. I'll think about it.
4. Here i can change nothing. It really depends on how fast the plugins are loaded. For example when the server from plugin A is busy than plugin B will be loaded faster. To sort it by name is also no solution because of the config key structure and the way how things displayed in the options panel. Too much work for this case also.
5. Sure the sorting and "grouping" of the options is not perfect at the moment. I'll also do something here.
6. I'm not agree with that. No option for hide tipsys.
7. Also not agree with that. Maybe i'll add some sort of "horizontal line/group seperator" to the bblog options (see 5), than also plugins can use this. Not sure at the moment.
Topicstarter
Weyland
Perfect, I can live with that. Thank you for taking the time to look at my suggestions. I'm looking forward to future versions.


Go Back
Tabs
Home Decor
Furniture
Kitchen
Clearance
Browse through our list of Home Decor Items
Flash Sale on Living Room and Bedroom Furniture
Bring the best out of the masterchef in you!!
Red hot deals at affordable prices. Check out our clearance section for more details


IMPORT
TXT
Statement
Reads a text file (.TXT) from disk into a notebook table. Each line of text in the file becomes a two-column row
in the target table. One column contains a line number (starting at 0) and the other column contains the text of the
line.
Syntax
Parameters
- filename: text
The absolute path to the text file to read.
- table-name: text or identifier
The name of the notebook table to read the text file into. If the table does not exist, it will be created. If it
does exist, by default new rows will be appended, but the TRUNCATE_EXISTING_TABLE
option can be used
to overwrite the existing table data.
- line-number-column-name: text or identifier
The name of the table column that will contain the line number (an integer starting at 1). If column names are not
specified, the default name "number" is used.
- text-column-name: text or identifier
The name of the table column that will contain the line text. If column names are not specified, the default name
"line" is used.
Options
- SKIP_LINES (non-negative integer, default: 0)
Indicates how many initial lines should be skipped in the input file.
- TAKE_LINES (-1 or non-negative integer, default: -1)
Indicates the maximum number of text lines to read from the file, not including the lines skipped due to the
SKIP_LINES
option. If -1 is specified, then the whole file is read.
-
TRUNCATE_EXISTING_TABLE (0 or 1, default: 0)
If the target table name exists, this option indicates whether the existing data rows should be deleted.
- 0 = Keep existing rows and append new rows
- 1 = Delete existing rows
-
TEMPORARY_TABLE (0 or 1, default: 0)
If the target table name does not exist, and therefore a new table will be created, this option indicates whether
the new table will be a temporary table.
- 0 = Use
CREATE TABLE
- 1 = Use
CREATE TEMPORARY TABLE
-
FILE_ENCODING (integer 0-65535, default: 0)
Indicates the text encoding to use when reading the text file. Specify 0 to detect the encoding automatically.
Any nonzero integer is treated as a Windows code page number. See Character Encodings in CSV and Text Files for a list of
these code page numbers.
Example
IMPORT TXT 'C:\file.txt' INTO table1;
-- Read the first line only.
IMPORT TXT 'C:\file.txt' INTO table2
OPTIONS (TAKE_LINES: 1);
-- Read the fourth and fifth lines.
IMPORT TXT 'C:\utf8.txt' INTO table3
OPTIONS (SKIP_LINES: 3, TAKE_LINES: 2);
-- Read a file in Shift-JIS encoding.
IMPORT TXT 'C:\shiftjis.txt' INTO table4
OPTIONS (FILE_ENCODING: 932);


Connect JIFF
Computation ID
Party Count
Connect
JIFF and Netflow Extension
Step 0: Local Query (Not Shared)
Insert IP Address
Search for IP Address:Port
Insert Log File
Local Log
Step 1: MPC (Shared)
When ready, click Send
Send
Global Log


LACrimBook
Home
About
Favorites
No Favorites Saved
See All
Downloading laws to your system. Please wait.
Title 14
Title 15
Title 32
Title 40
Title 46
Title 56
Code of Criminal Procedure
Code of Evidence
Childrens Code
Constitution


Michael Lange | Feb 16, 2016
See people move through the customer journey and measure their progress and interactions using Lytics Journey Reporting. Build a customer journey that is measurable, based on your key marketing goals.
|
Andrew Nhem | Jan 8, 2016
http://www.getlytics.com/blog/post/smarter_personalized_email
If we understand the intent of our customers through how they interact with our brand and web presence, there's no excuse for us to not send personalized, relevant email. If anything, we can be less annoying with our campaigns.


Tracks of the Week: new music from The Who, The Struts and more
by https://www.facebook.com/ClassicRockMagazine/Feel like you struggle to find good new rock’n’roll these days? Allow us to point you towards Exhibits A, B, C, D, E, F, G and H
Eight new rock tracks, from eight very different bands, and you decide which one’s the best. We’ve got freaky blues, swaggering country, a protest anthem, a beautiful tune from revived classic rock veterans, and more besides.
Choosing one winner? Not an easy task. So let’s start by looking at last week’s top three, as voted for by you:
3. The Mysterines -
Who’s Ur Girl
2. Marcus King -
The Well
1. Shadow & The Thrill -
Sugarbowl
Congratulations Shadow & The Thrill! And full props to Marcus King and The Mysterines for well-earned second and third place tracks. Now, check out this week’s shortlist and vote for your favourite in the poll at the foot of this page, right after a spin of last week’s winner.
The Cadillac Three - Slow Rollin’
More Nashville than Chet Atkins eating a plate of hot chicken, we couldn’t not include this just because... well, listen to it and you’ll see. Jaren Johnston shows off some deep vocal gravel – straight from the pipes of Billy Gibbons – on this latest slice of Country Fuzz, while guitars, lap-steel and southern drawls are laid on thick n’ tasty. Like swaggering through molasses, en route to a rodeo. Yeah.
The Struts - Somebody New
A fresh take a track from The Struts' second album Young&Dangerous, as Luke Spiller takes the original band ballad, turns it into a one-man-and-a piano spectacular, and brings new levels of poignancy to the whole thing in the process. Yes, there's a lot of Freddie Mercury in the performance, but Spiller does this better than anyone. And you've gotta love the video, which finds our hero singing the song on a keyboard plonked down on a slip road outside a castle.
Lindemann - Frau & Mann
Till Lindemann and Peter Tägtgren’s latest musical baby tells a tale of cosmonauts, brothers and a love triangle... or a love quadrangle, or something... honestly we’re not 100% sure, but have a look and see what you reckon. More importantly, though, it’s a groovy headbanger that’s as fun and catchy as it is deviant and dark. If Billy Idol flirted with industrial metal and immersed himself in some Soviet and East German history, it’d probably sound a bit like this.
Palaye Royale - Massacre, The New American Dream
"This is a protest,” the band have said of this dirty, post-punky call to arms, written in response to America’s gun violence epidemic. “In hopes to give this new generation a revolution in the form of an anthem. We are all on the verge of waking up and truly understanding that people should not be afraid of their government, government should be afraid of their people.” And it’s not all talk; they’re also donating proceeds from the single sales to Giffords and March For Our Lives.
 It’s been said before, but if this is how The Who story does end, what a way to go.
Kamchatka - Fool
This blast of bluesy, psychedelic rock cooked up by Swedish trio Kamchatka encompasses stoner weight and oddball jazzy freakouts. This might make it sound a little impenetrable, but trust us – it really isn’t. Catch them on tour with Clutch and Graveyard in December, and pick up the new album, Hoodoo Lightning, that same month.
Morganway - London Life
Part blue collar anthem, part country rock singalong, part Celtic jig, the new single from British rootsy troupe Morganway is a breezy romp for wintery times. Accompanied by a video depicting a young couple frollicking in tourist London, it’s the musical equivalent of someone handing you a free cup of hot mulled wine on the South Bank – unrevolutionary but pleasantly surprising and guaranteed to brighten your day.
Ozzy Osbourne - Straight To Hell
Ozzy out-cliches himself here, with an N.I.B.-style "all right now" just 19 seconds into Straight To Hell and a "come on now" thrown in for good measure 12 seconds later. The quality of Ozzy's output always depends on who he's working with, and we think he may have stumbled across another perfect partner in former California Breed guitarist Andrew Watt. The riff is solid, there's some spooky monk-style chanting, Ozzy sounds like he's having a great time, and there's a rare use of the word "defecate" in popular song.
Vote For Your Classic Rock Track Of The Week: November 25 2019


Rendezvous
Rendezvous is a network control algorithm which allows a collection of robots to meet at at the centroid of their initial positions. This document is a mathematical companion to the rendezvous sample code for the Robotarium. It summarizes the mathematics behind the consensus algorithm and highlights the transfer of the formal specification to the Robotarium’s MATLAB API. Additionally, this document contains experimental data from the Robotarium’s robots and a video.
Problem Statement
Consider a group of agents, where we define the state of each agent as . This particular algorithm models each agent with the single-integrator dynamics where is the control input to agent . The rendezvous problem requires the design of a control input such that
Solution
A common solution to the rendezvous problem is to let $u_{i}$ be defined using the local interaction rule (e.g., as in [1]). yielding the node-level dynamics
where represents the neighbors of agent induced by a particular communication topology. For this algorithm, consider the communication topology of the agents to be static and represented by an undirected graph where the following condition holds Then, the node-level dynamics may be re-written as ensemble-level dynamics by combining the agents’ states together into the vector yielding the ensemble-level dynamics where is the graph Laplacian to the graph , and is an identity matrix of the appropriate dimension. Note that refers to the th state variable of agent . This algorithm is known as the consensus algorithm. Using the properties of , we can also show each agent’s final position is given by where is the initial condition of agent . This result solves the problem stated in(\ref{eq:solution}). Interestingly, the agents always meet at the average of the initial conditions. For relevant properties of the graph Laplacian, refer to sources such as [2].
Implementation
Using the previously defined algorithm and the Robotarium’s provided MATLAB interface, we implemented the consensus algorithm in (\ref{eq:node-level-dynamics}). The code snippet below demonstrates the transfer of the consensus algorithm into the Robotarium’s MATLAB API.
Deployment
For the experiment, we selected and (i.e., an undirected cycle graph containing 6 agents). This choice for ensured that the agents remained connected during the experiment. Deploying the consensus algorithm onto the Robotarium yielded the results shown in Figure 1. Note that, due to the physical size of the robots, the agents did not reach the same point.
Fig 1. Physical robots’ trajectories during the deployment of the consensus algorithm onto the Robotarium
References
[1] A. Jadbabaie, J. Lin, and A. S. Morse, “Coordination of groups of mobile autonomous agents using nearest neighbor rules,” IEEE Trans. Autom. Control, vol. 48, no. 6, pp. 988–1001, Jun. 2003
[2] C. Godsil and G. Royle, Algebraic Graph Theory. Berlin, Germany: Springer, 2001


@anambroid What sort of payment has the team at @VeriBlock paid you or what size bags do you hold?
This article is quite biased and while it does have some quantitative and qualifying info, it is also full of misleading and false statements.
DPOS? What?
Komodo doesn’t ...


Resources
Internal Project Resources
Useful Aircraft (and Rocket) Design Tools
Airfoil Analysis
- XFOIL: viscous or inviscid aerodynamic performance of airfoils. Panel method with integral boundary layer formulation.
- CloudFoil: runs SU2 for airfoils, as a RANS solver, in the cloud.
Wing/Aircraft Aerodynamics and Stability Derivatives
- XFLR5: aerodynamics and stability derivatives of low Reynolds number aircraft. Uses XFOIL with a a vortex lattice method or a 3D panel method.
- AVL: similar program based on an extended vortex lattice method. Less user-friendly, but a longer history of usage.
- Tornado: a vortex lattice method in Matlab.
Geometry
- OpenVSP: a parametric geometry modeling tool for aircraft. Includes some analysis capabilities as well through a vortex lattice method.
- MachUp: geometry modeling tool with built-in nonlinear lifting line algorithm.
Propellers/Motors
- DriveCalc: model RC airplane electric power system. Less features than MotoCalc but free and works on all operating systems.
- MotoCalc: easy to use tool for modeling RC airplane electric power systems (only free for 30 days and only on Windows)
- QPROP: propeller/motor analysis and design
Aircraft Design and Optimization
- SUAVE: Python-based open-source conceptual aircraft design tool
- CEASIOM
Flight Simulators
- Gazebo: this is what we use to perform software-in-the-loop simulations using the exact same autopilot software that will be on your plane. Gazebo is setup on a computer in the FB.
- FlightGear: connect RC transmitter and virtually flight test your aircraft by inputting mass properties and aerodynamic/control coefficients. It is also possible to simulate your autopilot, though this requires a fair amount of additional effort.
- CRRCSim: similar.
Rockets
Model Aircraft Supplies
Useful Model Aircraft Building Tutorials
Control Linkage Geometry Basics:
Control Horns:
Push Rods:


1) The first thing that comes to your mind is chaos or preservation. (Closer to 5 is chaos, while 1 is preservation)
2) You prefer collaborating with a smaller group of people or by yourself.
3) You are the mastermind of your group of friends.
4) As technology advances the speedier the convenience for other people the better for you also.
5) You enjoy collecting big, shiny objects.
6) You are the "toolbox" of everyone in your social circle, always having something out of oridinary to use when someone asks for it.
7) When everything seems lost, you are the first to step forward as a leader and make something promising out of the situation.
8) There is nothing better than family and friends you already know.
9) Enemies are not a big problem because you tend to avoid making any.
10) You have fairly impulsive actions that lead you to favorable outcomes.


A thermal vision-based low-cost system for continuous detection of fever in large populations to combat the spread of infectious diseases such as COVID-19
One of the key challenges in containing infectious diseases such as COVID-19 from spreading is the lack of a safe and cost-effective way to perform early detection of potential carriers at scale. It is particularly damaging when the virus has a long incubation period, rendering 1-shot checks, such as those performed at airports, largely ineffective. What is desperately needed is an inexpensive way to continuously screen large populations, such as in hospitals, workspaces, classrooms, buses, cafes, and homes. This project aims to use low-cost (~$300) thermal cameras to perform continuous skin temperature measurements, enabling anyone to perform fever screening remotely and safely.
Our system uses inexpensive thermal cameras (~$300) that anyone can install and use.
We automatically detect people to enable placement in different environments.
We develop accurate 3D thermal models to ensure correct identification of people with fever.
The system generates real-time notifications to alert users.
Want to learn more? Send us a message!


Ranges
Ruby allows us to build ranges and then loop through their items.
Ranges normally have a start and an end.
Example: from e to q
Range.new("e", "q")
# or
("e".."q")
There are multiple useful methods on ranges:
.begin
.end
.count
.cover?(value)
.to_a
.each
For a full list of methods visit the official Ruby Documentation.
(Try these in IRB)
(23..42).begin # => 23
("f".."t").end # => "t"
(20..30).count # => 11
("B".."S").cover?("J") # => true
("abc".."abe").to_a # => ["abc", "abd", "abe"]
.each
Using the method .each
we can iterate through the items
morning_hours = (8..12)
morning_hours.each do |item|
puts "#{item} is a morning hour"
end
Result
8 is a morning hour 9 is a morning hour 10 is a morning hour 11 is a morning hour 12 is a morning hour
If we want to exclude the last item within the range, we can do so by using three dots:
("x"..."z").to_a # => ["x", "y"]
What questions do you have?


--- layout: default title: About ---
Studying words not through meaning but through chemistry attracts me. I can sit with a word for hours, gauging the energy in one of its bonds, thinking about its reaction to certain solutions, or drawing its chemical structure. By the time I’ve undergone these calculations and considerations, I feel like I’ve developed a thorough understanding of the word itself without looking at its definition or etymology.
What makes up a word isn’t just what the dictionary tells us. Those definitions are static–they aren’t impacted by space and time. Yet our use of language casts it as a dynamic structure. The place, the duration, the people involved: all of these things play into the word and change its meaning.
Transelemental chooses chemistry as a different way of interpreting words. It’s meant to bring qualities of language to light that are often overlooked. In choosing chemistry, I have undergone a dynamic exploration of language, as language should be explored.


--- title: 100 Time Series Data Mining Questions - Part 6 author: Francisco Bischoff date: '2020-10-06' categories: - datamining - R - r-bloggers - timeseries - tsmp slug: 100-time-series-part-6 publishDate: '2020-09-28T12:00:00+01:00' mathjax: yes editor_options: markdown: mode: markdown ---
In the last post took a very long time series, and we summarize it. Now we will do something that seems related when we look at the regime bar: regime change detection.
For the next question, we will still be using the datasets available at https://github.com/matrix-profile-foundation/mpf-datasets so you can try this at home.
The original code (MATLAB) and data are here.
Now let’s start:
This task exploits another interesting characteristic of Matrix Profile. We know that each position in the Profile Index points to its nearest neighbor. Let’s imagine all these connections as “arcs,” and we will see something interesting: in some regions, it looks like several arcs are pointing to that place. Why’s that?
Imagine, if there is a change in the regime in that time series, we can infer that the nearest neighbor of the previous pattern will not be in the new pattern. It is logical to think that these arcs will tend to be grouped inside each regime region.
Then, how to deal with this feature? Arc counts. Take any point in the time series, and count how many arcs are passing thru that point. The fewer arcs, the greater is the probability that we are changing regimes.
Let’s look to the plot below, where we plot the arcs (not all of them), and in the middle, we see the ‘arc count.’ There we see that there are two valleys, and they match almost precisely where the data changes pattern.
Well, I think I’ve already spoiled all the fun. But, let’s do all the steps anyway:
First, let’s load the tsmp
library and import our dataset:
# install.packages('tsmp')
library(tsmp)
baseurl <- "https://raw.githubusercontent.com/matrix-profile-foundation/mpf-datasets/4d99d1bee9b36ca552aa75631748825eda0c064c/"
dataset <- read.csv(paste0(baseurl, "real/PigInternalBleedingDatasetArtPressureFluidFilled_100_7501.txt"),
header = FALSE)$V1
And plot it as always:
plot(dataset, lwd = 1, type = "l", main = "Pig Internal Bleeding", ylab = "ABP (mmHg)", xlab = "time")
This is not the same dataset from the first figure. This dataset changes only once because it has registered the arterial blood pressure of a pig before and after some bleeding. Well, we can imagine that there will be a regime change. So let’s find it quickly.
Here is the code:
# I'll do this in steps, first compute the matrix profile
mp_obj <- tsmp(dataset, window_size = 100, n_workers = 4, verbose = 0)
# The matrix profile doesn't need to be recomputed, we can apply any mining function on top
# of it, and is fast!
tic <- Sys.time()
mp_obj %>%
fluss(num_segments = 1) %T>%
plot
## Matrix Profile
## --------------
## Profile size = 14874
## Window size = 100
## Exclusion zone = 50
## Contains 1 set of data with 14973 observations and 1 dimension
##
## Arc Count
## ---------
## Profile size = 14874
## Minimum normalized count = 0.25 at index 7460
##
## Fluss
## -----
## Segments = 1
## Segmentation indexes = 7460
toc <- Sys.time() - tic
cat("\nFinished in", toc, "seconds\n")
##
## Finished in 0.1680119 seconds
We can barely see in the dataset where is the regime change, but I tell you that it is at timestamp 7500->7501.
We used a window size of 100 because it is approximately the length of one period of arterial pressure (or the period of whatever repeated patterns you have in your data); however, up to half or twice that value would work just as well.
Then the fluss()
function managed to extract where was located the minimum arc count, at 7460 (that is incredible near the truth; it is in the middle of the rolling window).
To finalize, see that we set num_segments
to 1
.
This is the only parameter we should care about here.
That informs the algorithm of how many changes it needs to look for.
So we did it again!
This ends our sixth question of one hundred (let’s hope so!).
Until next time.


| ***Includes you choice of one item: Pop or Soup*** |
| OPTION A |
| A1 |
Sesame Chicken |
| A2 |
Honey Chicken |
| *A3 |
Mango Chicken |
| A4 |
Shrimp with Lobster Sauce |
| *A5 |
**Thai Green Curry Chicken |
| A6 |
Chicken with Green Beans |
| A7 |
**Chicken Cantonese Noodles |
| *A8 |
**Chicken Singapore Noodles |
| A9 |
**Chicken Ho fun |
| *A10 |
**Chicken Pad Thai |
| A11 |
Chicken in Black Pepper Sauce |
| A12 |
Ginger Chicken |
| OPTION B |
| *B1 |
Chilli Chicken |
| *B2 |
Manchurian Chicken |
| *B3 |
**Curry Chicken |
| B4 |
Sweet & Sour Chicken |
| B5 |
Mixed Vegetables with Chicken |
| *B6 |
Szechuan Chicken |
| B7 |
Garlic Chicken |
| *B8 |
**Chicken Ma Po Tofu |
| B9 |
Chicken Balls(5) with Veg Fried Rice |
| B10 |
Chicken Wings(5) with Veg Fried Rice |
| B11 |
Beef with Brocolli |
| *B12 |
**Chicken with Eggplant |
| *Spicy **Vegetarian Option Available |


NOVAFERRUM 50- iron capsule
Gensavis Pharmaceuticals, LLC
Supplement Facts
Serving Size: 1 capsule
Servings Per Container: 90
| Amount Per Serving | % Daily Value |
|---|---|
| Elemental Iron 50mg (as polysaccharide iron complex) |
278% |
Accidental overdose of iron-containing products is a leading cause of fatal poisoning in children under 6. Keep this product out of reach of children. In case of accidental overdose, call a doctor or poison control center immediately.
Do not use if seal is broken or missing.
For use as a dietary supplement.
As a dietary supplement take one capsule daily or as directed by a physician. For adults and children 12 years and older. Do not exceed recommended dosage unless otherwise directed by a physician.
|
NOVAFERRUM
50 iron capsule | ||||||||||||||||||
| ||||||||||||||||||
| ||||||||||||||||||
| ||||||||||||||||||
| ||||||||||||||||||
| ||||||||||||||||||
|
| Labeler - Gensavis Pharmaceuticals, LLC (961905879) |


SCSSy Wild West
Formalities
Name: Tim Whitney
Organization: New Media
Position: Web Developer, Front End
Social: timodwhit
Theme of choice: Bare
Truth be told...
No one cares.
SCSS Partials
Goals of the Talk
A "better" way to organize
Figure out...
"Where the hell is my style"
Wayback
CSS was King
SCSS was coming on the scene
Organizing based on CSS principles
One File to Rule them all
4500+ lines of styles
But look, it is nested
Intro to Partials
Small Manageable files for SCSS
Goal is to break down design into components
But how?
Wild West
Partial Organization
Designers
Developers
Frontend
Backend
Site Builders
Pinpointing the Pain
Communication
Partial Organization != CSS Organization approach
The project you are working on, is not yours.
Unless it is actually yours
Mitigating the Pain
Community Proposed Systems
SMACSS
OOCSS
BEM
OSTSCSS
Oh Shit, Time to SCSS
Brief Overview
SMACSS
modular styles
class based
semantic classes
SMACSS example
.slide
.slide--title
.slide--content
OOCSS
Object Oriented Styling
Base classes that can be extended
OOCSS Example
.box { styles }
.media { styles }
.leftCol { styles } // Actual Example
BEM
Block. Element. Modifier
Communication is Key
Blocks should be agnostic
Modify where necessary
Most Drupal-y
BEM Example
OSTSCSS
Last Minute
Never Organized
QA Bastardizations
Never Maintainable
All dreams went here, and died.
OSTSCSS Example
node-type-blog .field-type-image.field-name-reallypretty-imgae .field-content > img:first-child{}
OSTSCSS issues
node-type-blog .field-type-image.field-name-reallypretty-imgae .field-content > img:first-child{}
It is SCSS but not nested...
Really?! I mean.... really?
Now try to override.
Issues with every other system
Technical Debt
Communication
Drupal is not yours to do what you want
Tangential Confession
I don't mind Drupal's Markup
Why?
It is consistent
It isn't me
It is fairly logical
I understand why it was written that way
What I don't like?
It is bloated
Some seems completely unnecessary
But does it matter?
Yes
No
Matters
True: It should be semantic
False: loadtime is not suffering, that much
True: it can lead to bad practices
False: Cleaning it up isn't always better
What does this have to do with Partials?
Exactly!

All of them
Howdahell?
template override
theme override
hook_ah_not_again_alter()
rewrite all the views
All of them
Require technical debt
maintenance nightmares
How to proceed?

Exactly!
Truth
I can't tell you
Proposal
SCSS Skeleton
https://github.com/timodwhit/scss-skeleton
Folder Structure
base
styleguide
layout
design
base
_libraries.scss
_variables.scss
_mixins.scss
_extends.scss
_functions.scss
styleguide
_icons.scss
_text.scss
_ui.scss
_etc...
Based off of styleguide module
layout
_layout.scss
Holds the layout of the site and different layouts
After the initial setup, almost never touched
No! Your skin doesn't belong here, Dohmer
design
_design.scss
The rest...
The rest is complicated
My Proposal
Structure your partials, how your site is structured
design example
components
regions
system
fields
nodes
views
blocks
regions expanded
_regions.scss
_sidebar_second.scss
_sidebar_first.scss
_l_content.scss
components
reusable styles and components of the site
Ex: _tile_teaser.scss
Written: %tile-teaser { styles }
.tile-teaser { @extend %tile-teaser; }
Questions
What if the structure of my site changes?
Is this maintainable?
How does this translate to devs brought on the project?
Why?!
Moment of Truth
What do you think?
/
Go to slide:


Front-line defending UK from Zika virus mosquitoes climate change is bringing closer
EXCLUSIVE The Mirror goes behind the scenes with scientists as Britain stepped up its defences against the migration of deadly disease carrying mosquitoes
by Martin Bagot, https://www.mirror.co.uk/authors/Martin_Bagot/Britain is stepping up its defences against the migration of deadly disease-carrying mosquitoes.
Rising temperatures due to climate change have triggered the movement of insects that spread the Zika virus, dengue fever and malaria.
Experts believe an outbreak is inevitable, so the Mirror joined Public Health England to check our defences.
Its four-man national team works with local pest-control agencies to try to stop invasive species establishing a breeding population here.
Single Asian tiger mosquitoes, carried by lorries crossing the Channel, have been detected across South East England. It carries the Zika virus – which can cause birth defects – chikungunya virus and dengue.
Have you seen a mosquito that worried you? Email your snaps to<EMAIL_ADDRESS>Traps now cover 25 wetlands in Kent, Cambridgeshire, The Humber, Midlands, the North East and North West.
We met team leader Dr Jolyon Medlock at a key habitat for the insects on the Somerset Levels, near Glastonbury.
He said: “We are trying to delay or prevent the establishment of these invasive species. These mosquitoes are wily, they lay eggs that survive the winter, and are difficult to control once established.”
PHE also monitors for mosquitoes at 38 sea ports and airports, and up to 30 highway locations. Dr Medlock has a monthly call with government officials.
Another invasive species that has started breeding here can transmit West Nile disease. A single insect was detected in 2010. It has now established populations in Essex, north Kent and the Thames Estuary.
And the team detected a potential malaria-carrying species in the traps during our visit to Avalon Marshes, Somerset.
Dr Medlock said: “There has been research published suggesting the weather is warm enough for the malaria parasite to develop in British mosquitoes.”
Malaria can be transmitted by five of our 36 native mosquito species. But the presence of disease-carrying insects is not enough for tropical diseases to thrive, as viruses and parasites must be able to replicate and survive in their new environment.
Some experts say this could take 40 years, others says it will happen sooner.


|
BTK
0.3dev.0
Open-source library to visualize/process biomechanical data
|
Display ground reaction forces (GRF). More...
Public Member Functions | |
| void | ButterflyActivationOff () |
| void | ButterflyActivationOn () |
| bool | GetButterflyActivation () const |
| bool | GetPathVisibility (int idx) |
| double | GetScaleUnit () |
| void | HidePath (int idx) |
| void | HidePaths () |
| void | PrintSelf (ostream &os, vtkIndent indent) |
| void | SetButterflyActivation (bool activated) |
| void | SetInput (WrenchCollection::Pointer input) |
| void | SetPathVisibility (int idx, bool visible) |
| void | SetScaleUnit (double s) |
| void | ShowPath (int idx) |
| void | ShowPaths () |
Static Public Member Functions | |
| static VTKGRFsFramesSource * | New () |
Protected Member Functions | |
| virtual int | FillInputPortInformation (int port, vtkInformation *info) |
| virtual int | RequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) |
| virtual int | RequestInformation (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) |
| VTKGRFsFramesSource () | |
| ~VTKGRFsFramesSource () | |
Display ground reaction forces (GRF).
This filter compute all GRFs when a new input is set or modified (see VTKGRFsFramesSource::RequestInformation). The display of GRFs for each frame use the vtk TIME mechanism by setting the required frame to a vtkStreamingDemandDrivenPipeline object and call the vtkRenderer::Renderer() method. For example:
The butterfly diagram is inspired from Khodadadeh (1988) and especialy the representation of the single (one leg) support.
|
protected |
Constructor.
Filter with one input and output.
|
protected |
Destructor.
|
inline |
Desactivates the butterfly representation.
|
inline |
Activates the butterfly representation.
|
protectedvirtual |
Sets the type of object required for the input.
|
inline |
Returns the state for the activation of the butterfly.
| bool btk::VTKGRFsFramesSource::GetPathVisibility | ( | int | idx | ) |
Returns visibility state of GRF position's trajectory
|
inline |
Returns the scale factor used to set GRFs' positions (i.e. the point of wrench application (PWA)).
Usefull when visualized acquistion date are set in meter, millimeter, inch, etc.
| void btk::VTKGRFsFramesSource::HidePath | ( | int | idx | ) |
Convenient method to hide GRF position's trajectory.
| void btk::VTKGRFsFramesSource::HidePaths | ( | ) |
Convenient method to hide all GRF positions' trajectory.
|
static |
Creates a VTKGRFsFramesSource object and return it as a pointer.
| void btk::VTKGRFsFramesSource::PrintSelf | ( | ostream & | os, |
| vtkIndent | indent | ||
| ) |
Prints only the Superclass information.
|
protectedvirtual |
Extract GRFs frame required by a vtkStreamingDemandDrivenPipeline object.
|
protectedvirtual |
Generate GRFs' vectors
|
inline |
Sets the state for the activation of the butterfly.
| void btk::VTKGRFsFramesSource::SetInput | ( | WrenchCollection::Pointer | input | ) |
Set filter's input.
| void btk::VTKGRFsFramesSource::SetPathVisibility | ( | int | idx, |
| bool | visible | ||
| ) |
Sets visibility state of GRF position's trajectory
|
inline |
Sets the scale factor used to set GRFs' positions.
Usefull when visualized acquistion date are set in meter, millimeter, inch, etc.
| void btk::VTKGRFsFramesSource::ShowPath | ( | int | idx | ) |
Convenient method to show GRF position's trajectory.
| void btk::VTKGRFsFramesSource::ShowPaths | ( | ) |
Convenient method to show all GRF positions' trajectory.


Failed to watch HEVC videos on your Samsung Galaxy Tab 3 10.1 3G? Depending on your device model, source video specifications and much more, HEVC playback on your Samsung Galaxy Tab 3 10.1 3G may have different performances. If you are experiencing troubles playing H.265 files on Samsung Galaxy Tab 3 10.1 3G, you may wish to read this article. It explains a solution to get Samsung Galaxy Tab 3 10.1 3G playing HEVC H.265 media beautifully.
The Samsung Galaxy Tab 3 10.1 3G runs Android 4.2 and is powered by a 6800mAh non removable battery.
Failed to play HEVC movies on your Samsung Galaxy Tab 3 10.1 3G? Your movies must have video specifications that are not compatible with your device. If that’s the case, simply convert your HEVC/H.265 media to a format that is well compatible with Samsung Galaxy Tab 3 10.1 3G first, such as the widely accepted H.264 MP4 format, which Samsung Galaxy Tab 3 10.1 3G will play very well. That’s where a video converter for Samsung Galaxy Tab 3 10.1 3G comes in. Check a quick guide on how to convert incompatible videos for playing on Samsung Galaxy Tab 3 10.1 3G via using such a converter app.
All you need is an HEVC/H.265 to Samsung Galaxy Tab 3 10.1 3G converter. With such a program installed, you are able to convert HEVC/H.265 files to Samsung Galaxy Tab 3 10.1 3G preferred H.264 MP4 with very good quality. Here’s a how-to guide on this.
Part 1:
How to convert hevc videos for Samsung Galaxy Tab 3 10.1 3G on Windows?
Part 2:
How to convert hevc videos for Samsung Galaxy Tab 3 10.1 3G on Mac?
[pt_view id="2e16a40sux"]
Part 1. How to convert hevc videos for Samsung Galaxy Tab 3 10.1 3G on Windows?
To convert hevc videos for Samsung Galaxy Tab 3 10.1 3G playback on Windows, do as below:
Step 1: Import video files
Click “Add File” to load video files that you want to convert into this program.
Step 2: Select output format for Samsung Galaxy Tab 3 10.1 3G
Click "Profile" to select
"Samsung" > "Samsung Tab 2.10.1 Video(*.mp4)" as output format. This format profile will ensure a good performance while playing with Galaxy Tab 3 10.1 3G.
Tips:
If necessary, you can click "Settings" button to modify video and audio parameters like encoder, resolution, frame rate, bitrate, aspect ratio, sample rate, and audio channels. You can also “Enable 3D Settings” to add 3D effect to your source media.
Step 3: Click “Convert” to start hevc video to Samsung Galaxy Tab 3 10.1 3G conversion on Windows.
As soon as the conversion is complete, click “Open Folder” to get the generated
MP4 files that are suitable for playing on your Samsung Galaxy Tab 3 10.1 3G. No audio lost issues will occur any more.
Part 2. How to convert hevc videos for Samsung Galaxy Tab 3 10.1 3G on Mac?
To convert hevc videos for Samsung Galaxy Tab 3 10.1 3G playback on Mac, do as below:
Step 1: Import video files
Click “Add File” to load video files that you want to convert into this program.
Step 2: Select output format for Samsung Galaxy Tab 3 10.1 3G
Click "Profile" to select
"Samsung" > "Samsung Tab 2.10.1 Video(*.mp4)" as output format. This format profile will ensure a good performance while playing with Galaxy Tab 3 10.1 3G.
Tips:
If necessary, you can click "Settings" button to modify video and audio parameters like encoder, resolution, frame rate, bitrate, aspect ratio, sample rate, and audio channels. You can also “Enable 3D Settings” to add 3D effect to your source media.
Step 3: Click “Convert” to start hevc video to Samsung Galaxy Tab 3 10.1 3G conversion on Mac.
As soon as the conversion is complete, click “Open Folder” to get the generated
MP4 files that are suitable for playing on your Samsung Galaxy Tab 3 10.1 3G. No audio lost issues will occur again.
Also read:
Play HEVC H.265 on Samsung Galaxy A7, is it possible?


The content of this site is intended solely to provide information, by using the related regulations that currently apply, as a reference to such information. This site is not intended for business purposes or to provide legal advice. You are not allowed to take any legal action based on the information contained in this site without first seeking the advice of a lawyer or professional consultants.
You specifically agree that CCTV Live shall not be responsible for any unauthorized access to or alteration of your transmissions or data, any material or data sent or received or not sent or received, or any transactions entered into through a CCTV Live site/ services. You specifically agree that CCTV Live is not responsible or liable for any threatening, defamatory, obscene, offensive or illegal content or conduct of any other party or any infringement of another's rights, including intellectual property rights.
You specifically agree that CCTV Live is not responsible for any content sent using and/or included in a CCTV Live site/ services by any third party.
CCTV Live reserves the right to disclose any personal information about you or your use of the CCTV Live sites/services, including its contents.
Because CCTV Live media content is streamed over the internet, several factors, including your viewing computer device system resources as well as your internet connection speed bandwidth, affect the quality of your live media viewing experience.


View bucketlist
SIGN IN →
SIGN UP →
Learn How to
Ballroom Dance
Add
Start
A Family
Add
Name
A Star
Add
Kiss
A girl
Add
Learn
To Sew
Add
Put my Feet
In the Ocean
Add
Fly
First Class
Add
Cliff
Diving
Add
Go to all the
Harry Potter Locations
Add
Add Goals


About Our Team
My name is Avery Pratt. I started teaching myself C# .NET towards the end of 2015 with the hope of building projects related to astronomy and physics. After completing an app that can calculate the efficiency of rockets, I decided to attend Code Fellows in order to broaden my skillset and eventually become a professional programmer. My dream job is to work for a space agency to help humans get to Mars. I still have a long way to go.
Hello my name Conor Clary. I grew up in Texas and lived there until I was 23 when I moved to Boston to co-found two startups. After 3 years in Boston, I sold one of my startups and moved back to Texas before coming up to Seattle for work. Now I'm learning to develop at Codefellows and excited for what the future holds.
Hi! I am Sugey Valencia (sue-hey) I am from Panama City, Panama. I currently live in the rainy city of Seattle. I am an Airforce veteran with a background in medical administration and health care. I enrolled into Codefellows to expand my knowledge in mobile and web development. You can find me in my lab creating beautiful things with HTML, CSS and Java Script!
My name is Erick Mock and I’m from Colorado Springs, Colorado. I graduated from Azusa Pacific University in May 2014 with a Bachelor of Arts degree in Psychology. During my schooling and beyond, I have expanded my skillset as a freelance graphic designer focusing on areas of logo development and data visualizations for print media. Along with my strong interest in research and statistics, particularly in sports, I intend to create dynamic data visualizations for professional sports organizations.


{% extends "base.html" %} {% block title %}{{ block.super }} - Reset Password{% endblock title %} {% block nav-login-classes %}active{% endblock nav-login-classes %} {% block content %} {% if form.errors %}
Your e-mail and password didn't match. Please try again.
{% endif %} {% endblock content %}