ASSL(3) OpenBSD Programmer's Manual ASSL(3)
NAME
assl - agglomerated SSL
SYNOPSIS
#include <assl.h>
void
assl_initialize(void);
struct assl_context *
assl_alloc_context(enum assl_method method, int flags);
void
assl_set_cert_flags(int flags);
int
assl_load_file_certs(struct assl_context *ctx, char *ca, char *cert, char
*key);
int
assl_connect(struct assl_context *ctx, char *host, char *port, int
flags);
int
assl_serve(char *host, char *port, int flags, void (*callback)(int sock),
void (*intr_cb)(void));
int
assl_accept(struct assl_context *ctx, int sock);
ssize_t
assl_read(struct assl_context *ctx, void *buf, size_t nbytes);
ssize_t
assl_write(struct assl_context *ctx, void *buf, size_t nbytes);
ssize_t
assl_gets(struct assl_context *ctx, char *buf, int size);
ssize_t
assl_puts(struct assl_context *ctx, char *buf, int send_nul);
int
assl_poll(struct assl_context *ctx, int mseconds, short event, short
*revents);
int
assl_close(struct assl_context *ctx);
void
assl_fatalx(char *errstr);
DESCRIPTION
assl_initialize() prepares the library for first use. This function must
be called before any other function is called.
assl_alloc_context() allocates an assl context. A context contains all
SSL/TLS connection specific details. The method parameter indicates what
SSL/TLS type and version to use for the context. Possible method values
are:
ASSL_M_SSLV2 SSL V2 client or server connection.
ASSL_M_SSLV2_CLIENT SSL V2 client connection.
ASSL_M_SSLV2_SERVER SSL V2 server connection.
ASSL_M_SSLV3 SSL V3 client or server connection.
ASSL_M_SSLV3_CLIENT SSL V3 client connection.
ASSL_M_SSLV3_SERVER SSL V3 server connection.
ASSL_M_TLSV1 TLS V1 client or server connection.
ASSL_M_TLSV1_CLIENT TLS V1 client connection.
ASSL_M_TLSV1_SERVER TLS V1 server connection.
ASSL_M_ALL Any version of a client or server connection.
ASSL_M_ALL_CLIENT Any version of a client connection.
ASSL_M_ALL_SERVER Any version of a server connection.
If flags is set to ASSL_F_CHILD then assl_fatalx() will halt execution
using _exit(2) instead of exit(3) per fork(2) requirement. This flag
shall be set for all forked contexts.
If flags is set to ASSL_F_DONT_VERIFY then the library will not perform
peer certificate verification. This is to accommodate clients that don't
wish to use certificates. Using this flag will result in less secure
code and should therefore be used with caution.
The function will return NULL to indicate failure.
assl_set_cert_flags() sets global flags for certificate verification. If
ASSL_GF_IGNORE_SELF_SIGNED is set than the library will ignore self
signed certificates. If ASSL_GF_IGNORE_EXPIRED is set than the library
will ignore expired certificates. This function should be only called
once, right after assl_initialize. Note that due to OpenSSL limitations
these flags can not be set per assl_context.
assl_load_file_certs() loads all required keys and certificates to
authenticate a client or server. cert and key contain the certificate
and key required to authenticate the calling machine to the remote
machine. ca contains the Certificate Authority certificate. All files
must be provided in PEM format. The cert is validated against the key.
Providing a CA is required. The function returns a non-zero value to
indicate failure.
assl_connect() tries to establish an SSL/TLS connection to a host and
port. The function returns a non-zero value to indicate failure. More
precisely, 1 for libc failures and -1 for openssl(1) failures. The
caller is responsible for calling assl_close() to unwind the context. If
flags is set to ASSL_F_NONBLOCK then the socket will be set up as non-
blocking.
assl_serve() is a blocking function that sets up a listening socket that
waits for incoming connections on host and port. Once an incoming
connection is detected it will call callback with the appropriate socket.
It is the responsibility of the callback function to either fork and set
up a context. Both host and port can be NULL. In the host case the
server will listen on all possible IP addresses and in the port case the
server will listen on port 4433. The flags parameter is a bitwise field
and can be set to:
ASSL_F_NONBLOCK Set the socket to non-block.
ASSL_F_CLOSE_SOCKET Close the socket upon return from the
callback. This is to facilitate forking
applications.
To make assl_serve() exit set the global variable assl_stop_serving to
true and interrupt the underlying poll(2) function. If intr_cb is non-
NULL it will be called when the underlying functions are interrupted with
EINTR.
assl_accept() is the equivalent of the accept(2) function with the added
SSL/TLS handshake and certificate validation functionality. This
function should be called from the callback to assl_serve() after a
context has been allocated in said function. The function returns a non-
zero value to indicate failure.
assl_read() will read nbytes into buf from the ctx socket. In blocking
mode the function will not return until nbytes have been read or an error
condition occurred. In non-blocking mode the function will return -1 and
errno = EAGAIN to indicate that there was no data ready to read. All
other errors simply return -1. Upon success the function returns the
number of bytes read. If the connection has been terminated the function
will return 0.
assl_write() will write nbytes from buf to the ctx socket. In blocking
mode the function will not return until nbytes have been written or an
error condition occurred. In non-blocking mode the function will return
-1 and errno = EAGAIN to indicate that data could not be written
immediately. All other errors simply return -1. Upon success the
function returns the number of bytes written. If the connection has been
terminated the function will return 0.
assl_gets() reads at most size - 1 from the given context. Reading stops
when a newline character is found. In non-blocking mode the function
will return -1 and errno = EAGAIN to indicate that data could not be read
immediately. All other errors simply return -1. Upon success the
function returns the number of bytes read. If the connection has been
terminated the function will return 0.
assl_puts() writes the NUL terminated string pointed at in buf to the
context. If the send_nul flag is set then the NUL character is written
to the context as well. In non-blocking mode the function will return -1
and errno = EAGAIN to indicate that data could not be written
immediately. All other errors simply return -1. Upon success the
function returns the number of bytes written. If the connection has been
terminated the function will return 0.
assl_poll() polls the socket in ctx for up to mseconds milliseconds for
event to occur. An mseconds timeout of 0 will return immediately and
INFTIM will block indefinitely. If revents is not NULL it returns the
revents field from the pollfd structure as returned by the poll(2)
command. assl_poll() returns 0 to indicate a timeout condition, -1 for
error conditions and 1 for success. The return value of 1 really is the
number of file descriptors that are ready and this mimics the poll(2)
semantics.
assl_close() function terminates all connections and unwinds all
resources, including context memory. Do not use the context pointer
after calling this function. It is recommended to set the context
pointer to NULL after this call.
assl_fatalx() prints errstr and exits. If the library is compiled with
ASSL_NO_FANCY_ERRORS then it will not record the calling stack. The
error handling code is not thread or re-entrant safe. It was written to
accommodate finite state machines instead.
EXAMPLES
The following code fragment illustrates the client case:
#include "assl.h"
int
main(int argc, char *argv[])
{
struct assl_context *c;
assl_initialize();
c = assl_alloc_context(ASSL_M_TLSV1_CLIENT, 0);
if (c == NULL)
assl_fatalx("assl_alloc_context");
if (assl_load_file_certs(c, "../ca/ca.crt",
"client/client.crt", "client/private/client.key"))
assl_fatalx("assl_load_certs");
if (assl_connect(c, "localhost", ASSL_DEFAULT_PORT,
ASSL_F_BLOCK))
assl_fatalx("assl_connect");
return (0);
}
The following code fragment illustrates the server case:
#include "assl.h"
void serve_callback(int);
void
serve_callback(int s)
{
struct assl_context *c;
c = assl_alloc_context(ASSL_M_TLSV1_SERVER, 0);
if (c == NULL)
assl_fatalx("assl_alloc_context");
if (assl_load_file_certs(c, "../ca/ca.crt",
"server/server.crt", "server/private/server.key"))
assl_fatalx("assl_load_file_certs");
if (assl_accept(c, s))
assl_fatalx("assl_accept");
errx(1, "do something!");
}
int
main(int argc, char *argv[])
{
assl_initialize();
assl_serve(NULL, ASSL_DEFAULT_PORT,
ASSL_F_BLOCK, serve_callback);
return (0);
}
DON'T SEE ALSO
openssl(1)
HISTORY
assl was written by Marco Peereboom<EMAIL_ADDRESS>in order to hide
the awful OpenSSL API. It strives to reuse openssl(1) APIs and provide a
much simpler and sane interface for programmers that are interested in
writing applications that require the SSL/TLS protocol for secure
communications.
Once the API solidifies, individual functions can be replaced with code
that does not rely on openssl(1)
OpenBSD 4.7 June 22, 2010 OpenBSD 4.7


|
Hira Shakeel Team DocSeek Hira Shakeel, a native of the city of Peshawar, is a final year student of Computer Systems Engineering. She believes that it’s an empowering field that will allow her to make a difference to society and change it in a positive way. Her main areas of interest are web development (back end, front end), video codecs, C/C++, and Python. Inspired by civic hacking, she and her Fellowship team is creating DocSeek, an application to help people find their nearest medical care providers.
|
Hina Mehmud Team DocSeek Hina is a final year student of Computer Systems Engineering at UET Peshawar. During her engineering education, she has earned vast knowledge in software development and hardware designing. She is an expert web developer, with an amazing esthetic for design.
|
Umer Farooq Team DocSeek Umer is an Android, C/C++, Java, and Games Developer. He holds a Bachelor's degree in Computer Systems Engineering. He has built web and mobile applications for healthcare in his career. As founder of WinGoku & an Android enthusiast, he has worked on several Android apps, as well as a few OS apps. He loves to help developers on StackOverflow and blog about technology. He is interested in Computer Vision & Machine Learning.
|


- Our Store Lcation Are All Over in UK:
-
1. LONDON
    SouthWrack,Street No B300,Shop No A201, Near George Inn And In Front Of Guy's Hospital.
    Tell No: +31 20 530 5858
    Fax No:+31 20 530 5859
-
2. DUBLIN:
    NorthernQuater,Street No A6010,Shop No A56, Near Eccles And In Front Of Talbot Road.
    Tell No:+31 20 530 5822
    Fax No:+31 20 530 5801
-
3. GALSGOW:
    Westway,Street No AA04,Shop No A407, Near ZSL London ZOO And In Front Of Action In Studio.
    Tell No:+44<PHONE_NUMBER>
    Fax No:+44<PHONE_NUMBER>
-
4. MANCHENSTER:
    Barnet,Street No C414,Shop No R078, Near Great N Way And In Front Of Trent Park.
    Tell No:+32 (0) 2 203 9900
    Fax No:+32 (0) 2 203 9899


This Custom Bajaj Pulsar NS200 ‘Grey Edition’ Looks Striking
by Sahil KukrejaMeet the Bajaj Pulsar NS200 Grey Edition, custom-made by DS Automotive
If the stock Bajaj Pulsar NS200 wasn’t good looking enough, Dhana Sticker (DS Automotive) of Chennai has completely transformed one, making it look even more eye-catchy.
Named as the ‘Grey Edition’, this specific NS200 has been wrapped in a custom blue and grey paint scheme, which will definitely make it stand out from the crowd. The fuel tank of the bike features a matte grey finish, and sports the Pulsar moniker in black.
The bike gets blue back-lit buttons and switches, hence contrasting matte blue wrap has been applied to the tank extensions to match with them. The blue treatment is followed on the rear panels of the bike as well.
The front-end is where this NS200 Grey Edition really stands out. It sports an aftermarket projector headlamp with white and red surrounds, which make it resemble a devil’s eye. The portion of headlight which is not in use, gets black inserts to give it a distinctive look as compared to the regular NS200.
Apart from visual upgrades, the bike retains its mechanical specifications. Powering the Pulsar NS200 is a 199.5 cc, liquid-cooled, four-stroke, SOHC, 4 valve engine, paired to a 6-speed gearbox. The engine offers a maximum power output of 23.17 HP at 9500rpm, and 18.3 Nm of peak torque at 8000rpm.
The Pulsar NS200 gets a single 300 mm petal disc up front and a 230 mm disc at the rear, along with single-channel ABS. The bike also gets a semi-digital instrument cluster. It is expected that Bajaj Auto will be introducing the fuel-injected BS6-compliant engine with the NS200 in the coming months, which will also be shared with the RS200.
The Pulsar moniker continues to be one of the highest-selling bike ranges for Bajaj since its launch back in 2001, and the NS200 deserves most of the credit for paving the way for Bajaj Auto to introduce the sportier RS200. The Pulsar NS200 has a starting price of Rs 1.14 lakh (ex-showroom), and competes against the likes of TVS Apache RTR 200 and KTM Duke 200 in the Indian market.


|
Neonode zForce(TM) SDK
|
This structure represents the base class of all protocol definitions. More...
#include <Protocol.h>
Public Attributes | |
| Protocol * | Base |
| The immediate base class of this Protocol class. | |
| Connection * | Connection |
| uint64_t | ResponseSerialNumber |
| uint64_t | NotificationSerialNumber |
| void(* | Destructor )(Protocol *self) |
| The destructor for this class. | |
| void(* | DestroyPrivateDeviceData )(Protocol *self, void *privateDeviceData) |
| zForce * | zForce |
| A pointer to the global zForce instance. | |
| bool(* | Connect )(Protocol *self) |
| Perform protocol specific processing upon connection. More... | |
| bool(* | Disconnect )(Protocol *self) |
| Perform protocol specific processing upon disconnection. More... | |
| bool(* | DecodeDataFrame )(Protocol *self, DataFrame *dataFrame) |
| Give a data frame to Protocol for processing. More... | |
| DataFrame *(* | CreateResolutionRequest )(Protocol *self, Device *device, MessageAction action, uint32_t x, bool hasX, uint32_t y, bool hasY, uint32_t z, bool hasZ) |
| Create a Resolution request. More... | |
| DataFrame *(* | CreateTouchActiveAreaRequest )(Protocol *self, Device *device, MessageAction action, uint32_t lowerBoundaryX, uint32_t upperBoundaryX, bool xIsValid, uint32_t lowerBoundaryY, uint32_t upperBoundaryY, bool yIsValid) |
| Create a TouchActiveArea request. More... | |
| DataFrame *(* | CreateReverseTouchActiveAreaRequest )(Protocol *self, Device *device, MessageAction action, bool xIsReversed, bool yIsReversed) |
| Create a ReverseTouchActiveArea request. More... | |
| DataFrame *(* | CreateFlipXYRequest )(Protocol *self, Device *device, MessageAction action, bool axesAreFlipped) |
| Create a FlipXY request. More... | |
| DataFrame *(* | CreateReflectiveEdgeFilterRequest )(Protocol *self, Device *device, MessageAction action, bool isFilterOn) |
| Create a ReflectiveEdgeFilter request. More... | |
| DataFrame *(* | CreateMergeTouchesRequest )(Protocol *self, Device *device, MessageAction action, bool areTouchesMerged) |
| Create a MergeTouches request. More... | |
| DataFrame *(* | CreateDetectionModeRequest )(Protocol *self, Device *device, MessageAction action) |
| Create a DetectionMode request. More... | |
| DataFrame *(* | CreateMcuUniqueIdentifierRequest )(Protocol *self, Device *device, MessageAction action, uint8_t *identifier, uint32_t bufferSize) |
| Create a McuUniqueIdentifier request. More... | |
| DataFrame *(* | CreateEnableRequest )(Protocol *self, Device *device, MessageAction action, bool continuousMode, uint32_t numberOfMessages) |
| Create an Enable request. More... | |
| DataFrame *(* | CreateOperationModesRequest )(Protocol *self, Device *device, MessageAction action, OperationModes modeMask, OperationModes modeValues) |
| Create an OperationModes request. More... | |
| DataFrame *(* | CreateDisableRequest )(Protocol *self, Device *device, MessageAction action) |
| Create a Disable request. More... | |
| DataFrame *(* | CreateFingerFrequencyRequest )(Protocol *self, Device *device, MessageAction action, uint32_t frequency) |
| Create a FingerFrequency request. More... | |
| DataFrame *(* | CreateIdleFrequencyRequest )(Protocol *self, Device *device, MessageAction action, uint32_t frequency) |
| Create an IdleFrequency request. More... | |
| DataFrame *(* | CreateDetectedObjectSizeRestrictionRequest )(Protocol *self, Device *device, MessageAction action, bool maximumSizeEnabled, uint32_t maximumSize, bool minimumSizeEnabled, uint32_t minimumSize) |
| Create a DetectedObjectSizeRestriction request. More... | |
| DataFrame *(* | CreateNumberOfTrackedObjectsRequest )(Protocol *self, Device *device, MessageAction action, uint32_t numberOfTrackedObjects) |
| Create a NumberOfTrackedObjects request. More... | |
| DataFrame *(* | CreateOffsetRequest )(Protocol *self, Device *device, MessageAction action, uint32_t offsetX, bool offsetXIsValid, uint32_t offsetY, bool offsetYIsValid) |
| Create an Offset request. More... | |
| DataFrame *(* | CreateHidDisplaySizeRequest )(Protocol *self, Device *device, MessageAction action, uint32_t sizeX, bool sizeXIsValid, uint32_t sizeY, bool sizeYIsValid) |
| Create a HidDisplaySize request. More... | |
| DataFrame *(* | CreateTouchModeRequest )(Protocol *self, Device *device, MessageAction action, TouchModes touchMode, bool touchModeIsValid, uint32_t clickOnTouchTime, bool clickOnTouchTimeIsValid, uint32_t clickOnTouchRadius, bool clickOnTouchRadiusIsValid) |
| Create a TouchMode request. More... | |
This structure represents the base class of all protocol definitions.
This structure represents the base class of all protocol definitions. The data and functions contained within the structure's fields are the essentials which are common to all such definitions.
| bool( * Protocol::Connect) (Protocol *self) |
Perform protocol specific processing upon connection.
| self | Pointer to the struct itself. |
| Connection* Protocol::Connection |
Each Protocol is linked to one connection.
| DataFrame*( * Protocol::CreateDetectedObjectSizeRestrictionRequest) (Protocol *self, Device *device, MessageAction action, bool maximumSizeEnabled, uint32_t maximumSize, bool minimumSizeEnabled, uint32_t minimumSize) |
Create a DetectedObjectSizeRestriction request.
On error, errno is set.
| self | Pointer to the struct itself. |
| device | Pointer to the Device from which the request originated. |
| action | Indication of what type of action this message refers to. |
| maximumSizeEnabled | Maximum size enabling flag. |
| maximumSize | The maximum object size for detection. |
| minimumSizeEnabled | Minimum size enabling flag. |
| minimumSize | The minimum object size for detection. |
| DataFrame*( * Protocol::CreateDetectionModeRequest) (Protocol *self, Device *device, MessageAction action) |
Create a DetectionMode request.
On error, errno is set.
| self | Pointer to the struct itself. |
| device | Pointer to the Device from which the request originated. |
| action | Indication of what type of action this message refers to. |
| DataFrame*( * Protocol::CreateDisableRequest) (Protocol *self, Device *device, MessageAction action) |
Create a Disable request.
On error, errno is set.
| self | Pointer to the struct itself. |
| device | Pointer to the Device from which the request originated. |
| action | Indication of what type of action this message refers to. |
| DataFrame*( * Protocol::CreateEnableRequest) (Protocol *self, Device *device, MessageAction action, bool continuousMode, uint32_t numberOfMessages) |
Create an Enable request.
On error, errno is set.
| self | Pointer to the struct itself. |
| device | Pointer to the Device from which the request originated. |
| action | Indication of what type of action this message refers to. |
| continuousMode | Set to true for continuous mode. |
| numberOfMessages | When in non-continuous mode, specifies how many Messages to receive before the Device disables itself. May not be 0 when continuousMode == false. |
| DataFrame*( * Protocol::CreateFingerFrequencyRequest) (Protocol *self, Device *device, MessageAction action, uint32_t frequency) |
Create a FingerFrequency request.
On error, errno is set.
| self | Pointer to the struct itself. |
| device | Pointer to the Device from which the request originated. |
| action | Indication of what type of action this message refers to. |
| frequency | The value to set if this is a set action. |
| DataFrame*( * Protocol::CreateFlipXYRequest) (Protocol *self, Device *device, MessageAction action, bool axesAreFlipped) |
Create a FlipXY request.
On error, errno is set.
| self | Pointer to the struct itself. |
| device | Pointer to the Device from which the request originated. |
| action | Indication of what type of action this message refers to. |
| flip | the X and Y axes. |
| DataFrame*( * Protocol::CreateHidDisplaySizeRequest) (Protocol *self, Device *device, MessageAction action, uint32_t sizeX, bool sizeXIsValid, uint32_t sizeY, bool sizeYIsValid) |
Create a HidDisplaySize request.
On error, errno is set.
| self | Pointer to the struct itself. |
| device | Pointer to the Device from which the request originated. |
| action | Indication of what type of action this message refers to. |
| sizeX | The X Size. |
| sizeXIsValid | The X Size is valid, i.e. you want to set it. |
| sizeY | The Y Size. |
| sizeYIsValid | The Y Size is valid, i.e. you want to set it. |
| DataFrame*( * Protocol::CreateIdleFrequencyRequest) (Protocol *self, Device *device, MessageAction action, uint32_t frequency) |
Create an IdleFrequency request.
On error, errno is set.
| self | Pointer to the struct itself. |
| device | Pointer to the Device from which the request originated. |
| action | Indication of what type of action this message refers to. |
| frequency | The value to set if this is a set action. |
| DataFrame*( * Protocol::CreateMcuUniqueIdentifierRequest) (Protocol *self, Device *device, MessageAction action, uint8_t *identifier, uint32_t bufferSize) |
Create a McuUniqueIdentifier request.
On error, errno is set.
| self | Pointer to the struct itself. |
| device | Pointer to the Device from which the request originated. |
| action | Indication of what type of action this message refers to. |
| identifier | Pointer to the Identifier array to set. |
| bufferSize | Buffer size. |
| DataFrame*( * Protocol::CreateMergeTouchesRequest) (Protocol *self, Device *device, MessageAction action, bool areTouchesMerged) |
Create a MergeTouches request.
On error, errno is set.
| self | Pointer to the struct itself. |
| device | Pointer to the Device from which the request originated. |
| action | Indication of what type of action this message refers to. |
| areTouchesMerged | true if the reported touches are merged, otherwise false. |
| DataFrame*( * Protocol::CreateNumberOfTrackedObjectsRequest) (Protocol *self, Device *device, MessageAction action, uint32_t numberOfTrackedObjects) |
Create a NumberOfTrackedObjects request.
On error, errno is set.
| self | Pointer to the struct itself. |
| device | Pointer to the Device from which the request originated. |
| action | Indication of what type of action this message refers to. |
| numberOfTrackedObjects | Tracked object count. |
| DataFrame*( * Protocol::CreateOffsetRequest) (Protocol *self, Device *device, MessageAction action, uint32_t offsetX, bool offsetXIsValid, uint32_t offsetY, bool offsetYIsValid) |
Create an Offset request.
On error, errno is set.
| self | Pointer to the struct itself. |
| device | Pointer to the Device from which the request originated. |
| action | Indication of what type of action this message refers to. |
| offsetX | The X Offset. |
| offsetXIsValid | The X Offset is valid, i.e. you want to set it. |
| offsetY | The Y Offset. |
| offsetYIsValid | The Y Offset is valid, i.e. you want to set it. |
| DataFrame*( * Protocol::CreateOperationModesRequest) (Protocol *self, Device *device, MessageAction action, OperationModes modeMask, OperationModes modeValues) |
Create an OperationModes request.
On error, errno is set.
| self | Pointer to the struct itself. |
| device | Pointer to the Device from which the request originated. |
| action | Indication of what type of action this message refers to. |
| modeMask | Indication of which modes have values in this call. |
| modeValues | Optional values for modes. See the modeMask argument. |
| DataFrame*( * Protocol::CreateReflectiveEdgeFilterRequest) (Protocol *self, Device *device, MessageAction action, bool isFilterOn) |
Create a ReflectiveEdgeFilter request.
On error, errno is set.
| self | Pointer to the struct itself. |
| device | Pointer to the Device from which the request originated. |
| action | Indication of what type of action this message refers to. |
| isFilterOn | true if the filter is on, otherwise false. |
| DataFrame*( * Protocol::CreateResolutionRequest) (Protocol *self, Device *device, MessageAction action, uint32_t x, bool hasX, uint32_t y, bool hasY, uint32_t z, bool hasZ) |
Create a Resolution request.
On error, errno is set.
| self | Pointer to the struct itself. |
| device | Pointer to the Device from which the request originated. |
| action | Indication of what type of action this message refers to. |
| x | X axis value if this is a set action. |
| hasX | X axis value present flag if this is a set action. |
| y | Y axis value if this is a set action. |
| hasY | Y axis value present flag if this is a set action. |
| z | Z axis value if this is a set action. |
| hasZ | Z axis value present flag if this is a set action. |
| DataFrame*( * Protocol::CreateReverseTouchActiveAreaRequest) (Protocol *self, Device *device, MessageAction action, bool xIsReversed, bool yIsReversed) |
Create a ReverseTouchActiveArea request.
On error, errno is set.
| self | Pointer to the struct itself. |
| device | Pointer to the Device from which the request originated. |
| action | Indication of what type of action this message refers to. |
| reverseX | X axis direction reversal flag. |
| reverseY | Y axis direction reversal flag. |
| DataFrame*( * Protocol::CreateTouchActiveAreaRequest) (Protocol *self, Device *device, MessageAction action, uint32_t lowerBoundaryX, uint32_t upperBoundaryX, bool xIsValid, uint32_t lowerBoundaryY, uint32_t upperBoundaryY, bool yIsValid) |
Create a TouchActiveArea request.
On error, errno is set.
| self | Pointer to the struct itself. |
| device | Pointer to the Device from which the request originated. |
| action | Indication of what type of action this message refers to. |
| lowerBoundaryX | X axis value of lower boundary. |
| lowerBoundaryY | Y axis value of lower boundary. |
| upperBoundaryX | X axis value of upper boundary. |
| upperBoundaryY | Y axis value of upper boundary. |
| DataFrame*( * Protocol::CreateTouchModeRequest) (Protocol *self, Device *device, MessageAction action, TouchModes touchMode, bool touchModeIsValid, uint32_t clickOnTouchTime, bool clickOnTouchTimeIsValid, uint32_t clickOnTouchRadius, bool clickOnTouchRadiusIsValid) |
Create a TouchMode request.
On error, errno is set.
| self | Pointer to the struct itself. |
| device | Pointer to the Device from which the request originated. |
| action | Indication of what type of action this message refers to. |
| touchMode | Which Touch Mode the device is in. |
| clickOnTouchTime | The Click on Touch Time. |
| clickOnTouchTimeIsValid | The Click On Touch Time is valid, i.e. you want to set it. |
| clickOnTouchRadius | The Click On Touch Radius. |
| clickOnTouchRadiusIsValid | The Click on Touch Radius is valid, i.e. you want to set it. |
| void( * Protocol::DestroyPrivateDeviceData) (Protocol *self, void *privateDeviceData) |
| bool( * Protocol::Disconnect) (Protocol *self) |
Perform protocol specific processing upon disconnection.
| self | Pointer to the struct itself. |
| uint64_t Protocol::NotificationSerialNumber |
A counter used for giving notifications a unique serial number. Serial numbers start at 1 and strictly increase with each notification.
| uint64_t Protocol::ResponseSerialNumber |
A counter used for giving responses a unique serial number. Serial numbers start at 1 and strictly increase with each response.


|
Aufgabe XVI: Temperatursensor DS1621
2.0
M. Auer, N. Lingg, K. Maier
|
| #define I2C_I2ADR_BITMASK ((0xFF)) |
I2C Slave Address registers bit mask
| #define I2C_I2ADR_GC ((1<<0)) |
I2C Slave Address registers definitionGeneral Call enable bit
| #define I2C_I2CONCLR_AAC ((1<<2)) |
I2C Control Clear register descriptionAssert acknowledge Clear bit
| #define I2C_I2CONCLR_I2ENC ((1<<6)) |
I2C interface Disable bit
| #define I2C_I2CONCLR_SIC ((1<<3)) |
I2C interrupt Clear bit
| #define I2C_I2CONCLR_STAC ((1<<5)) |
START flag Clear bit
| #define I2C_I2CONSET_AA ((0x04)) |
I2C Control Set register descriptionAssert acknowledge flag
| #define I2C_I2CONSET_I2EN ((0x40)) |
I2C interface enable
| #define I2C_I2CONSET_SI ((0x08)) |
I2C interrupt flag
| #define I2C_I2CONSET_STA ((0x20)) |
START flag
| #define I2C_I2CONSET_STO ((0x10)) |
STOP flag
| #define I2C_I2DAT_BITMASK ((0xFF)) |
I2C Data register definitionMask for I2DAT register
| #define I2C_I2DAT_IDLE_CHAR (0xFF) |
Idle data value will be send out in slave mode in case of the actual expecting data requested from the master is greater than its sending data length that can be supported
| #define I2C_I2MASK_MASK | ( | n | ) | ((n&0xFE)) |
I2C Mask Register definitionI2C Mask Register mask field
| #define I2C_I2MMCTRL_BITMASK ((0x07)) |
Mask for I2MMCTRL register
| #define I2C_I2MMCTRL_ENA_SCL ((1<<1)) |
SCL output enable
| #define I2C_I2MMCTRL_MATCH_ALL ((1<<2)) |
Select interrupt register match
| #define I2C_I2MMCTRL_MM_ENA ((1<<0)) |
I2C Monitor mode control register descriptionMonitor mode enable
| #define I2C_I2SCLH_BITMASK ((0xFFFF)) |
I2C SCL HIGH duty cycle Register definitionI2C SCL HIGH duty cycle Register bit mask
| #define I2C_I2SCLL_BITMASK ((0xFFFF)) |
I2C SCL LOW duty cycle Register definitionI2C SCL LOW duty cycle Register bit mask
| #define I2C_I2STAT_M_RX_ARB_LOST ((0x38)) |
Arbitration lost
| #define I2C_I2STAT_M_RX_DAT_ACK ((0x50)) |
Data has been received, ACK has been returned
| #define I2C_I2STAT_M_RX_DAT_NACK ((0x58)) |
Data has been received, NACK has been return
| #define I2C_I2STAT_M_RX_RESTART ((0x10)) |
A repeat start condition has been transmitted
| #define I2C_I2STAT_M_RX_SLAR_ACK ((0x40)) |
SLA+R has been transmitted, ACK has been received
| #define I2C_I2STAT_M_RX_SLAR_NACK ((0x48)) |
SLA+R has been transmitted, NACK has been received
| #define I2C_I2STAT_M_RX_START ((0x08)) |
A start condition has been transmitted
| #define I2C_I2STAT_M_TX_ARB_LOST ((0x38)) |
Arbitration lost in SLA+R/W or Data bytes
| #define I2C_I2STAT_M_TX_DAT_ACK ((0x28)) |
Data has been transmitted, ACK has been received
| #define I2C_I2STAT_M_TX_DAT_NACK ((0x30)) |
Data has been transmitted, NACK has been received
| #define I2C_I2STAT_M_TX_RESTART ((0x10)) |
A repeat start condition has been transmitted
| #define I2C_I2STAT_M_TX_SLAW_ACK ((0x18)) |
SLA+W has been transmitted, ACK has been received
| #define I2C_I2STAT_M_TX_SLAW_NACK ((0x20)) |
SLA+W has been transmitted, NACK has been received
| #define I2C_I2STAT_M_TX_START ((0x08)) |
A start condition has been transmitted
| #define I2C_I2STAT_NO_INF ((0xF8)) |
No relevant information
| #define I2C_I2STAT_S_RX_ARB_LOST_M_GENCALL ((0x78)) |
Arbitration lost in SLA+R/W (GENERAL CALL) as master
| #define I2C_I2STAT_S_RX_ARB_LOST_M_SLA ((0x68)) |
Arbitration lost in SLA+R/W as master
| #define I2C_I2STAT_S_RX_GENCALL_ACK ((0x70)) |
Own SLA+W has been received, ACK returned General call address has been received, ACK has been returned
| #define I2C_I2STAT_S_RX_PRE_GENCALL_DAT_ACK ((0x90)) |
Previously addressed with General Call; Data has been received and ACK has been return
| #define I2C_I2STAT_S_RX_PRE_GENCALL_DAT_NACK ((0x98)) |
Previously addressed with General Call; Data has been received and NOT ACK has been return
| #define I2C_I2STAT_S_RX_PRE_SLA_DAT_ACK ((0x80)) |
General call address has been received, ACK has been returned Previously addressed with own SLV address; Data has been received, ACK has been return
| #define I2C_I2STAT_S_RX_PRE_SLA_DAT_NACK ((0x88)) |
Previously addressed with own SLA; Data has been received and NOT ACK has been return
| #define I2C_I2STAT_S_RX_SLAW_ACK ((0x60)) |
Own slave address has been received, ACK has been returned
| #define I2C_I2STAT_S_RX_STA_STO_SLVREC_SLVTRX ((0xA0)) |
A STOP condition or repeated START condition has been received while still addressed as SLV/REC (Slave Receive) or SLV/TRX (Slave Transmit)
| #define I2C_I2STAT_S_TX_ARB_LOST_M_SLA ((0xB0)) |
Arbitration lost in SLA+R/W as master
| #define I2C_I2STAT_S_TX_DAT_ACK ((0xB8)) |
Own SLA+R has been received, ACK has been returned Data has been transmitted, ACK has been received
| #define I2C_I2STAT_S_TX_DAT_NACK ((0xC0)) |
Data has been transmitted, NACK has been received
| #define I2C_I2STAT_S_TX_LAST_DAT_ACK ((0xC8)) |
Last data byte in I2DAT has been transmitted (AA = 0); ACK has been received
| #define I2C_I2STAT_S_TX_SLAR_ACK ((0xA8)) |
Slave transmit mode Own SLA+R has been received, ACK has been returned
| #define I2C_MONITOR_CFG_MATCHALL I2C_I2MMCTRL_MATCH_ALL |
Select interrupt register match
| #define I2C_MONITOR_CFG_SCL_OUTPUT I2C_I2MMCTRL_ENA_SCL |
I2C monitor control configuration definesSCL output enable
| #define I2C_SETUP_STATUS_ARBF (1<<8) |
Arbitration false
| #define I2C_SETUP_STATUS_DONE (1<<10) |
Status DONE
| #define I2C_SETUP_STATUS_NOACKF (1<<9) |
No ACK returned
| #define I2C_SLAVE_TIME_OUT 0x10000UL |
Time out in case of using I2C slave mode
| #define I2C_STAT_CODE_BITMASK ((0xF8)) |
I2C Status Code definition (I2C Status register)
| #define I2DATA_BUFFER_BITMASK ((0xFF)) |
I2C Data buffer register descriptionI2C Data buffer register bit mask
| #define PARAM_I2C_MONITOR_CFG | ( | n | ) | ((n==I2C_MONITOR_CFG_SCL_OUTPUT) || (I2C_MONITOR_CFG_MATCHALL)) |
| #define PARAM_I2C_SLAVEADDR_CH | ( | n | ) | ((n>=0) && (n<=3)) |


This part is OPTIONAL for our workshop. You don’t need it if you already have a local Docker setup and have your data files ready in your local machine.
Development endpoints incur costs whether or not you are using them. Please delete the endpoints AND notebooks after usage.
In AWS Glue, you can create an environment — known as a development endpoint — that you can use to iteratively develop and test your extract, transform, and load (ETL) scripts. For more info, please refer to Developing Scripts Using Development Endpoints
The advantages of having a development endpoint compared to the local Docker method are:
You can then create a notebook that connects to the endpoint, and use your notebook to author and test your ETL script. When you’re satisfied with the results of your development process, you can create an ETL job that runs your script. With this process, you can add functions and debug your scripts in an interactive manner.
It is also possible to connect your local IDE to this endpoint, which is explained here: Tutorial: Set Up PyCharm Professional with a Development Endpoint
How to create an endpoint and use it from a notebook:
Go to Glue in the console https://console.aws.amazon.com/glue/
byod
It will take a while to create the endpoint.
byod


Using rtc-media for WebRTC media capture
In the our previous tutorial we looked at what was involved with capturing media in the browser using the vanilla getUserMedia
API.
In this tutorial we will make use of the rtc-media module to do most of the heavy lifting for us. Consider the following code example:
// include the rtc/media module
var media = require('rtc-media');
// now capture media, and once available render to the document body
media().render(document.body);
This example performs exactly the same functionality (with a few additional smarts) as the code in our previous example.


◄ 36th IPHO 2005 ►
Country results • Individual results
| Contestant | Country | Rank | Award |
|---|---|---|---|
| Gábor Halász | Hungary | 1 | Gold Medal |
| Ying-Hsuan Lin | Taiwan | 1 | Gold Medal |
| Han-Hsuan Lin | Taiwan | 3 | Gold Medal |
| Ruslan Akhunzyanov | Russia | 4 | Gold Medal |
| Mingjie Dai | People's Republic of China | 5 | Gold Medal |
| Hanhan Li | People's Republic of China | 6 | Gold Medal |
| Andika Putra | Indonesia | 7 | Gold Medal |
| Evgeny Mozgunov | Russia | 8 | Gold Medal |
| Azar Eyvazov | Azerbaijan | 9 | Gold Medal |
| Roshan Tovrani | Islamic Republic of Iran | 10 | Gold Medal |
| Péter Kómár | Hungary | 11 | Gold Medal |
| Piyush Srivastava | India | 12 | Gold Medal |
| Anton Repko | Slovakia | 13 | Gold Medal |
| Igor Gotlibovych | Germany | 14 | Gold Medal |
| Yuriy Skvortsov | Ukraine | 15 | Gold Medal |
| Ashkan Jafar Poor Koujahi | Islamic Republic of Iran | 16 | Gold Medal |
| Yi-Hong Kuo | Taiwan | 17 | Gold Medal |
| Ali Sucipto T | Indonesia | 18 | Gold Medal |
| Andrei Anghel | Romania | 19 | Gold Medal |
| Hao-Yu Wu | Taiwan | 20 | Gold Medal |
| Yi-Hsuan Lin | Taiwan | 21 | Gold Medal |
| An Li | People's Republic of China | 22 | Gold Medal |
| Emrah Turgut | Turkey | 23 | Gold Medal |
| Ang Jian Peng | Singapore | 24 | Gold Medal |
| Pakpong Chirarattananon | Thailand | 25 | Gold Medal |
| Christian Hofstadler | Austria | 26 | Gold Medal |
| Péter Kiss | Hungary | 27 | Gold Medal |
| Koh Chan Swee | Singapore | 28 | Gold Medal |
| Phuong Dung Nguyen Thi | Vietnam | 29 | Gold Medal |
| Eric Mecklenburg | United States of America | 30 | Gold Medal |
| Lok Man Tsui | Hong Kong | 31 | Gold Medal |
| Aphiwat Kriengwattanakul | Thailand | 32 | Gold Medal |
| Se Woong Lim | Republic of Korea | 33 | Gold Medal |
| Sameer Madan | India | 34 | Gold Medal |
| Mykola Dedushenko | Ukraine | 35 | Gold Medal |
| Ng Wei Xiang Jonathan | Singapore | 36 | Gold Medal |
| Jianglei Yu | People's Republic of China | 37 | Gold Medal |
| Beum Seok Shim | Republic of Korea | 38 | Gold Medal |
| Ivan Gushchin | Russia | 39 | Gold Medal |
| Menyoung Lee | United States of America | 40 | Gold Medal |
| Wujie Huang | People's Republic of China | 41 | Gold Medal |
| Casey Handmer | Australia | 42 | Gold Medal |
| Cristian Proistosescu | Romania | 43 | Gold Medal |
| Ivan Erofeev | Russia | 44 | Gold Medal |
| Teodor Mihai Moldovan | Romania | 45 | Gold Medal |
| Mehmet Akif Çetinkaya | Turkey | 46 | Gold Medal |
| Franco Julio Mangiarotti | Argentina | 47 | Silver Medal |
| Ronnachai Jaroensri | Thailand | 48 | Silver Medal |
| Tejaswi Venumadhav Nerella | India | 49 | Silver Medal |
| Vudtiwat Ngampruetikorn | Thailand | 50 | Silver Medal |
| Daulet Askarov | Kazakhstan | 51 | Silver Medal |
| Seyed Ahmadreza Hosseini | Islamic Republic of Iran | 52 | Silver Medal |
| Oleksandr Lyashchenko | Ukraine | 53 | Silver Medal |
| Sieciech Czajka | Poland | 54 | Silver Medal |
| Si Chien Van | Vietnam | 55 | Silver Medal |
| Andrei Constantin | Romania | 56 | Silver Medal |
| Bogdan Stoica | Romania | 57 | Silver Medal |
| Luka Trifunovic | Serbia and Montenegro | 58 | Silver Medal |
| Timothy Credo | United States of America | 59 | Silver Medal |
| Jakub Zavodny | Slovakia | 60 | Silver Medal |
| Minh Hai Nguyen | Vietnam | 61 | Silver Medal |
| Mehmet Doğan | Turkey | 62 | Silver Medal |
| Torsten Karzig | Germany | 63 | Silver Medal |
| Andrew Gilewsky | Belarus | 64 | Silver Medal |
| Pavel Motloch | Czech Republic | 65 | Silver Medal |
| Hema Chandra Prakash Movva | India | 66 | Silver Medal |
| Yury Fedotov | Russia | 67 | Silver Medal |
| David Yang | Australia | 68 | Silver Medal |
| Nickolas Fortino | United States of America | 69 | Silver Medal |
| Ka Hei Kolen Cheung | Hong Kong | 70 | Silver Medal |
| Rosen Matev | Bulgaria | 71 | Silver Medal |
| Ricardo Martín-Brualla | Spain | 72 | Silver Medal |
| Purnawirman | Indonesia | 73 | Bronze Medal |
| Vladimir Bychkov | Kazakhstan | 74 | Bronze Medal |
| Jian Wu | United Kingdom | 75 | Bronze Medal |
| Hong Seop Choi | Republic of Korea | 76 | Bronze Medal |
| Erik Panzer | Germany | 77 | Bronze Medal |
| Petchara Pattarakijwanich | Thailand | 78 | Bronze Medal |
| Ali Shahad | Islamic Republic of Iran | 79 | Bronze Medal |
| Siyoun Sung | Republic of Korea | 80 | Bronze Medal |
| Akhmed Saidaliyev | Kazakhstan | 81 | Bronze Medal |
| Kastytis Zubovas | Lithuania | 82 | Bronze Medal |
| Elnur Hajiyev | Azerbaijan | 83 | Bronze Medal |
| András Gyenis | Hungary | 84 | Bronze Medal |
| Li Hongyi | Singapore | 85 | Bronze Medal |
| Alexander Zhang | Australia | 86 | Bronze Medal |
| Michael Shalyt | Israel | 87 | Bronze Medal |
| Sivan Ginzburg | Israel | 88 | Bronze Medal |
| Najmaddin Najafov | Azerbaijan | 89 | Bronze Medal |
| Vladimir Vanovschi | Moldova | 90 | Bronze Medal |
| José Mário Silva Filho | Brazil | 91 | Bronze Medal |
| Ognjen Ilic | Serbia and Montenegro | 92 | Bronze Medal |
| Kai Tsun Johnson Lai | Hong Kong | 93 | Bronze Medal |
| Seyed Peiman Nezam Abadi | Islamic Republic of Iran | 94 | Bronze Medal |
| Wa Wing Cheng | Hong Kong | 95 | Bronze Medal |
| Wong Da Wei | Singapore | 96 | Bronze Medal |
| Jevgenij Chmeliov | Lithuania | 97 | Bronze Medal |
| Tigran Nazaryan | Armenia | 98 | Bronze Medal |
| Quang Huy Nguyen | Vietnam | 99 | Bronze Medal |
| Yevgeniy Zagayevskiy | Kazakhstan | 100 | Bronze Medal |
| Andrew Crosby | United Kingdom | 101 | Bronze Medal |
| Ahmet Demir | Turkey | 102 | Bronze Medal |
| Arjun Radhakrishna | India | 103 | Bronze Medal |
| Leonid Pogorelyuk | Israel | 104 | Bronze Medal |
| Aleksandr Pereverzev | Georgia | 105 | Bronze Medal |
| Antonio Majdandžić | Croatia | 106 | Bronze Medal |
| Daniele Fognini | Italy | 107 | Bronze Medal |
| Svilen Iskrov | Bulgaria | 108 | Bronze Medal |
| Vitaliy Lykhachov | Ukraine | 109 | Bronze Medal |
| Nikolay Zhelev | Bulgaria | 110 | Bronze Medal |
| Philippe Bouafia | France | 111 | Bronze Medal |
| Martin David | France | 112 | Bronze Medal |
| Daniel Whalen | United States of America | 113 | Bronze Medal |
| Matija Vidmar | Slovenia | 114 | Bronze Medal |
| Eugeniu Plamadeala | Moldova | 115 | Bronze Medal |
| Jungkyu Cho | Republic of Korea | 116 | Bronze Medal |
| Kornel Maczynski | Poland | 117 | Bronze Medal |
| Dániel Varjas | Hungary | 118 | Bronze Medal |
| Otgonbaatar Myagmar | Mongolia | 119 | Bronze Medal |
| Mariano Marziali Bermúdez | Argentina | 120 | Bronze Medal |
| Luca Barbieri | Italy | 121 | Bronze Medal |
| Siim Ainsaar | Estonia | 122 | Bronze Medal |
| Thibaut Kirchner | France | 123 | Bronze Medal |
| Antony Lee | France | 124 | Bronze Medal |
| Lim Chun Pin | Malaysia | 125 | Bronze Medal |
| José Diogo Magalhaes Rio Fernándes | Portugal | 126 | Bronze Medal |
| Rachel Effeney | Australia | 127 | Bronze Medal |
| Carlos Pardo Martín | Spain | 128 | Bronze Medal |
| Ario Prabowo | Indonesia | 129 | Bronze Medal |
| Mekan Arazmedov | Turkmenistan | 130 | Bronze Medal |
| Thomas Metivier | France | 131 | Bronze Medal |
| Damjan Pelc | Croatia | 132 | Bronze Medal |
| Michael Adrian | Indonesia | 133 | Bronze Medal |
| Alexandr Volosciuc | Moldova | 134 | Bronze Medal |
| Kanstantsin Sakharchuk | Belarus | 135 | Bronze Medal |
| Filip Kos | Croatia | 136 | Honourable Mention |
| Petr Houštěk | Czech Republic | 137 | Honourable Mention |
| Almong Yalinewitz | Israel | 138 | Honourable Mention |
| Namiq Hasanov | Azerbaijan | 139 | Honourable Mention |
| Sultan Imenov | Kyrgyzstan | 140 | Honourable Mention |
| Marcin Grzybowski | Poland | 141 | Honourable Mention |
| Daniel Bozik | Slovakia | 142 | Honourable Mention |
| Stefano Attanasio | Italy | 143 | Honourable Mention |
| Jan Lalinsky | Slovakia | 144 | Honourable Mention |
| Timothy Lee | United Kingdom | 145 | Honourable Mention |
| Tom Molomby | Australia | 146 | Honourable Mention |
| Falk Tandetzky | Germany | 147 | Honourable Mention |
| Petr Morávek | Czech Republic | 148 | Honourable Mention |
| Christopher Young | United Kingdom | 149 | Honourable Mention |
| Aroldo Hernandez Armas | Cuba | 150 | Honourable Mention |
| Islam Hydyrov | Turkmenistan | 151 | Honourable Mention |
| Juan Manuel Lorenzi | Argentina | 152 | Honourable Mention |
| Angelo Russomanno | Italy | 153 | Honourable Mention |
| Tim Wai Yeung | Hong Kong | 154 | Honourable Mention |
| Maksim Hlod | Belarus | 155 | Honourable Mention |
| Eduardo Manuel Dias | Portugal | 156 | Honourable Mention |
| Matus Tejiscak | Slovakia | 157 | Honourable Mention |
| Boris Harutyunyan | Armenia | 158 | Honourable Mention |
| Marko Popovic | Croatia | 159 | Honourable Mention |
| Akram Miriyev | Azerbaijan | 160 | Honourable Mention |
| Stefan Hierz | Austria | 161 | Honourable Mention |
| Dzianis Khmialniuk | Belarus | 162 | Honourable Mention |
| Aleksandr Morozenko | Estonia | 163 | Honourable Mention |
| Ivan Zhivkov Dimitrov | Canada | 164 | Honourable Mention |
| Maksim Jeskevic | Lithuania | 165 | Honourable Mention |
| Audrūnas Gruslys | Lithuania | 166 | Honourable Mention |
| Yakiv Grudtsyn | Ukraine | 167 | Honourable Mention |
| Nuwan Ganganath | Sri Lanka | 168 | Honourable Mention |
| Valery Belayev | Israel | 169 | Honourable Mention |
| Krzysztof Niemkiewicz | Poland | 170 | Honourable Mention |
| Juan Pablo Isaza Aristizabal | Colombia | 171 | Honourable Mention |
| Brett Joseph Teeple | Canada | 172 | Honourable Mention |
| Yslam Orazov | Turkmenistan | 173 | Honourable Mention |
| Andrei Polaz | Belarus | 174 | Honourable Mention |
| Sergio Castellanos | Bolivia | 175 | Honourable Mention |
| Michael McBreen | Canada | 176 | Honourable Mention |
| Federico Bonetti | Italy | 177 | Honourable Mention |
| Otgonbaatar Uuganbayar | Mongolia | 178 | Honourable Mention |
| Sander Kupers | Netherlands | 179 | Honourable Mention |
| Nikolay Hadzhiev | Bulgaria | 180 | Honourable Mention |
| Alen Karabegovic | Croatia | 181 | Honourable Mention |
| Denis Brojan | Slovenia | 182 | Honourable Mention |
| Heleodoro Aaron Alexandre | Brazil | 183 | Honourable Mention |
| Eleni Vryonidou | Cyprus | 184 | Honourable Mention |
| Holger Haas | Estonia | 185 | Honourable Mention |
| Borja Sanz Martín | Spain | 186 | Honourable Mention |
| Yermek Kaipov | Kazakhstan | 187 | Honourable Mention |
| Mattias Linnap | Estonia | 188 | Honourable Mention |
| Simon Viel | Canada | 189 | Honourable Mention |
| Oscar Bennett | United Kingdom | 190 | Honourable Mention |
| Pavel Kučera | Czech Republic | 191 | Honourable Mention |
| Matti Åstrand | Finland | 192 | Honourable Mention |
| Chia Ling Chew | Malaysia | 193 | Honourable Mention |
| Nabeel Rehman Shami | Pakistan | 194 | Honourable Mention |
| Dashdavaa Khureltulga | Mongolia | 195 | Honourable Mention |
| Mikko Ervasti | Finland | 196 | Honourable Mention |
| Dejan Rozgic | Serbia and Montenegro | 197 | Honourable Mention |
| Sergej Markosyan | Armenia | 198 | Honourable Mention |
| Iñigo Barbed Martín | Spain | 199 | Honourable Mention |
| Georgios Skolianos | Greece | 200 | Honourable Mention |
| Arno Tripolt | Austria | 201 | Honourable Mention |
| Dawood Tariq | Pakistan | 202 | Honourable Mention |
| Yoany Rodriguez Hernandez | Cuba | 203 | Honourable Mention |
| Gayan Jayasumana | Sri Lanka | 204 | Honourable Mention |
| Petr Čermák | Czech Republic | 205 | Honourable Mention |
| Denis Golež | Slovenia | 206 | Honourable Mention |
| Eziz Allaberdiyev | Turkmenistan | 207 | Honourable Mention |
| Alexandros Manolakos | Greece | 208 | Honourable Mention |
| Pascal Steger | Switzerland | 209 | Honourable Mention |
| Daniel Müller | Switzerland | 210 | Honourable Mention |
| Veaceslav Abetkin | Moldova | 211 | Honourable Mention |
| Daniel Muñoz Alvarez | Colombia | 212 | Honourable Mention |
| Andria Agadjanov | Georgia | 213 | Honourable Mention |
| Andrius Štikonas | Lithuania | 214 | Honourable Mention |
| Thessa Fokkema | Netherlands | 215 | Honourable Mention |
| Matjaž Gomilšek | Slovenia | 216 | Honourable Mention |
| André Fernando de Castro da Silva | Brazil | 217 | Honourable Mention |
| Aram Kostanyan | Armenia | 218 | Honourable Mention |
| David Oehri | Liechtenstein | 219 | Honourable Mention |
| Javier Infante Bustelo | Spain | 220 | Honourable Mention |
| Kraen Vodder Nielsen | Denmark | 221 | Honourable Mention |
| Asar Hage-Ali | Germany | 222 | Honourable Mention |
| Uriel Alberto Diaz Reynoso | Mexico | 223 | Honourable Mention |
| Eriberto Antonio Roveri | Argentina | 224 | Honourable Mention |
| Goran Lazarevski | North Macedonia | 225 | Honourable Mention |
| Dmitri Derkach | Estonia | 226 | Honourable Mention |
| Georgi Gerganov | Bulgaria | 227 | Honourable Mention |
| Ton van den Bremer | Netherlands | 228 | Honourable Mention |
| Ady Abdelhaq | Ireland | 229 | Honourable Mention |
| Einar Búi Magnússon | Iceland | 230 | Honourable Mention |
| Ho Teck Hsien | Malaysia | 231 | Honourable Mention |
| Emir Ćesović | Bosnia and Herzegovina | ≥232 | |
| Milan Babić | Bosnia and Herzegovina | ≥232 | |
| Adnan Mehonić | Bosnia and Herzegovina | ≥232 | |
| Jasmin Saletović | Bosnia and Herzegovina | ≥232 | |
| Emir Hadžiahmetović | Bosnia and Herzegovina | ≥232 |
Results may be incomplete or incorrect.
Please send the relevant information to the webmaster:
<EMAIL_ADDRESS>If you are a participant you can send a personal page URL to be attached to your name.
If you are a participant you can send a personal page URL to be attached to your name.


| Class | RTF::Style |
| In: |
lib/rtf/style.rb
|
| Parent: | Object |
This is a parent class that all style classes will derive from.
| LEFT_TO_RIGHT | = | :rtl | A definition for a character flow setting. | |
| RIGHT_TO_LEFT | = | :ltr | A definition for a character flow setting. |
Used to determine if the style applies to characters. This method always returns false and should be overridden by derived classes as needed.
# File lib/rtf/style.rb, line 42 42: def is_character_style? 43: false 44: end
Used to determine if the style applies to documents. This method always returns false and should be overridden by derived classes as needed.
# File lib/rtf/style.rb, line 54 54: def is_document_style? 55: false 56: end
Used to determine if the style applies to paragraphs. This method always returns false and should be overridden by derived classes as needed.
# File lib/rtf/style.rb, line 48 48: def is_paragraph_style? 49: false 50: end
Used to determine if the style applies to tables. This method always returns false and should be overridden by derived classes as needed.
# File lib/rtf/style.rb, line 60 60: def is_table_style? 61: false 62: end
This method retrieves the command prefix text associated with a Style object. This method always returns nil and should be overridden by derived classes as needed.
| fonts: | A reference to the document fonts table. May be nil if no fonts are used. |
| colours: | A reference to the document colour table. May be nil if no colours are used. |
# File lib/rtf/style.rb, line 23 23: def prefix(fonts, colours) 24: nil 25: end
This method retrieves the command suffix text associated with a Style object. This method always returns nil and should be overridden by derived classes as needed.
| fonts: | A reference to the document fonts table. May be nil if no fonts are used. |
| colours: | A reference to the document colour table. May be nil if no colours are used. |
# File lib/rtf/style.rb, line 36 36: def suffix(fonts, colours) 37: nil 38: end


Quickstart¶
Configurations¶
Initialization¶
To use logme for your project, you will need to cd into your project root:
$ cd /path/to/project_root
$ logme init
Then you will see a configuration file ‘logme.ini’ created, it looks like this:
[logme]
level = DEBUG
formatter = {asctime} - {name} - {levelname} - {message}
StreamHandler =
active: True
level: DEBUG
FileHandler =
active: True
level: DEBUG
filename: None
NullHandler =
active: False
level: NOTSET
This is the file where you add configurations for your logging. each block of configuration is independent, and you can apply the same configuration blog to different loggers. You can have as many of them as you like.
Note
Toplevel level and formatter are master level handler configurations. This means if the level or/and formatter on each handler are not specified, the handlers will use the master level ones. With that said, level and formatter can be configured on handler level by adding these to each handler.
Few things to keep in mind when making changes to the configuration:
- When you set ‘active’ to True for specific handler, any logger using this configuration will have the handler added.
- Handler names must be the same as the ones in the logging module, including casing.
- All the required arguments passed to specific handler must be specified in the configuration. For example, if I were to add a SocketHandler, I will need to pass in host and port, like so:
SocketHandler =
active: True
level: ERROR
host: <IP_ADDRESS>
port: 3000
Adding a Config¶
To add a config, run the following command in the same project root:
$ logme add my_new_configuration_name
Then you will see a new configuration added onto ‘logme.ini’.
[logme]
level = DEBUG
formatter = {asctime} - {name} - {levelname} - {message}
StreamHandler =
active: True
level: DEBUG
FileHandler =
active: True
level: DEBUG
filename: None
NullHandler =
active: False
level: NOTSET
[my_new_configuration_name]
level = DEBUG
formatter = {asctime} - {name} - {levelname} - {message}
StreamHandler =
active: True
level: DEBUG
FileHandler =
active: True
level: DEBUG
filename: None
NullHandler =
active: False
level: NOTSET
Removing a Config¶
The same way as you add a config, removing a config is very easy too:
$ logme remove my_new_configuration_name
With the above command, the target configuration will be removed from ‘logme.ini’ file.
Using Loggers in Your Project¶
To use loggers in your project, you can simply use logme.log as a decorator or call it as a method, without having to configure each logger manually in your code.
- logme.log() can accepts 3 optional arguments for customize your logger:
- scope: the scope of your logger: class, function or module. You can omit this parameter for class and function. this is required for module level logger
- config: the name of logging config specified in logme.ini, default would be the logme config
- name: the name of the logger, default would be the __name__ of the file where you are calling logme.ini
Logging for functions and methods¶
For functions, you can simple just decorate the function/method in which you want to use the logger, like so:
@logme.log(config='my_custom_conf', name='custom_test_logger')
def dummy_function_custom(name, logger=None):
logger.info('test function logger with custom params')
return logger, name
Note
Be sure to pass in the “logger” as a keyword argument, and you can assign it to None when defining the function
Logging for classes¶
For classes, you can also use the decorator, and an attribute self.logger will be available.
@logme.log
class MyAwesomeClass:
def my_function(self, my_arg):
self.logger.info('this is my log message')
logging for modules¶
Logging modules is slightly different from classes and functions, but it’s just as straight forward. and remember, scope keyword argument must be passed in
module_logger = logme.log(scope='module', name='my_module_logger')


Unlimited movies, TV
shows and more.
Watch anywhere. Cancel anytime.
Ready to watch?Enter your email to create or restart your membership.
Enjoy on your TV.
Watch on smart TVs, PlayStation, Xbox, Chromecast, Apple TV, Blu-ray players and more.
Download your shows to watch offline.
Save your favourites easily and always have something to watch.
Stranger Things
Downloading...
Watch everywhere.
Stream unlimited movies and TV shows on your phone, tablet, laptop, and TV.
Create profiles for children.
Send children on adventures with their favourite characters in a space made just for them—free with your membership.
Frequently Asked Questions
Netflix is a streaming service that offers a wide variety of award-winning TV shows, movies, anime, documentaries and more – on thousands of internet-connected devices.
You can watch as much as you want, whenever you want, without a single ad – all for one low monthly price. There's always something new to discover, and new TV shows and movies are added every week!
Watch Netflix on your smartphone, tablet, Smart TV, laptop, or streaming device, all for one fixed monthly fee. Plans range from 199 to 799 a month. No extra costs, no contracts.
Watch anywhere, anytime, on an unlimited number of devices. Sign in with your Netflix account to watch instantly on the web at netflix.com from your personal computer or on any internet connected device that offers the Netflix app, including smart TVs, smartphones , tablets, streaming media players and game consoles.
You can also download your favourite shows with the iOS, Android, or Windows 10 app. Use downloads to watch while you're on the go and without an internet connection. Take Netflix with you anywhere.
Netflix is flexible. There are no annoying contracts and no commitments. You can easily cancel your account online in two clicks.
Netflix has an extensive library of feature films, documentaries, TV shows, anime, award-winning Netflix originals, and more. Watch as much as you want, anytime you want.
The Netflix Kids experience is included in your membership to give parents control while kids enjoy family-friendly TV shows and films in their own space.
Kids profiles come with PIN-protected parental controls that let you restrict the maturity rating of content kids can watch and block specific titles you don't want kids to see.


{{result.book_details[0].description}}
Author: {{result.book_details[0].author}}
Publisher: {{result.book_details[0].publisher}}
see more...
Author: {{factor.information.author}}
Publisher: {{factor.information.publisher}}


TSIncludeJS
Super simple fluent TypeScript/JavaScript API to include JavaScript dependencies, instead of adding a bunch of <script... > tags, or when you want something simple instead of for instance RequireJS etc.
Add you script with dependencies like:
<script src="../src/include.js" type="text/javascript" data-boot="tests.js"></script>
where tests.js is your script that defines dependencies and your code.
The sample on http://jonasbr68.github.io/TSIncludeJS/sample/unittesting.html for instance uses a tests.js file like below. With a fluent api you specify dependency/load order, and wrap your dependent code in an anonymous function.
TSIncludeJS.include("https://code.jquery.com/jquery-2.1.4.js")
.include("http://code.jquery.com/qunit/qunit-1.20.0.js")
.done(function () {
QUnit.test("hello test", function (assert) {
assert.ok(1 == 1, "Works!");
});
QUnit.test("jquery test", function (assert) {
assert.ok((typeof $ === "function"), "Works!");
});
});
Or you can completely separate our your code from dependecis, like this The sample on http://jonasbr68.github.io/TSIncludeJS/sample/separate.html Still with a fluent api you specify dependency/load order, and lastly specify the js code you want to run.
TSIncludeJS.include("https://code.jquery.com/jquery-2.1.4.js")
.include("http://code.jquery.com/qunit/qunit-1.20.0.js")
.run("only-tests.js");


Cheese slices parmesan cheese strings. Pepper jack cheese on toast cheddar cheesy grin cheesecake caerphilly queso jarlsberg. Say cheese chalk and cheese chalk and cheese fromage frais cauliflower cheese cheese strings monterey jack cheese and biscuits.
Cheese slices parmesan cheese strings. Pepper jack cheese on toast cheddar cheesy grin cheesecake caerphilly queso jarlsberg. Say cheese chalk and cheese chalk and cheese fromage frais cauliflower cheese cheese strings monterey jack cheese and biscuits.
Cream cheese cheese strings danish fontina. Halloumi st. agur blue cheese airedale gouda halloumi cheese strings cheddar pecorino. Cheesecake bocconcini gouda cream cheese port-salut stilton fromage frais gouda. Smelly cheese the big cheese fondue everyone loves cheese and biscuits dolcelatte.


welcome to my page to know more about me!!!
My Top Ten Rules Of Success
- 1- Motivation
- 2- Patience
- 3- Skill
- 4- Imagination
- 5- Flexibility
- 6- Discipline
- 7- Confidence
- 8- Intelligence
- 9- Parental support
- 10-Creativity
My experience and education summary
- *My name is Hanady Alkhrishah
- *I graduated 2018 from Mutah university
- * My major is Electrical/communication Engineering
- *I have tow years of experience teaching communications engineering
laboratories at Mutah University.


Podio
Work in progress...
This is the unofficial Node client for accessing the Podio API.
Version
1.0
Installation
To "install this package" is still necessary to download the lib from github and install it manually because the "library" is still unstable and because that, is not in "npm".
git clone [git-repo-url]
cd podio-node
npm install
Example
var credentials = {
api_key: 'my_app_name',
api_secret: 'my_api_secret',
services: [
'users',
'contacts'
],
};
var Podio = require('./lib/podio')( credentials );
/**
* Authentication method with credentials
*/
<EMAIL_ADDRESS>'*******', function(accessToken) {
/**
* Used to get the current user.
* @see https://developers.podio.com/doc/users
*/
Podio.users.current(function(user){
console.log('User Id:', this.user_id);
console.log('Mail:', this.mail);
});
/**
* Used to get a list of contacts for the user.
* @see https://developers.podio.com/doc/contacts
*/
Podio.contacts.all(function( contacts ){
console.log('Contacts:', contacts);
});
});
TODO
- More unit tests
- More async tests
- More Docs
- More HTTP's methods POST, PUT and DELETE
- To implement more ways to connect to the API License
(The MIT License)
Copyright (c) 2012 Bruno Agutoli<EMAIL_ADDRESS>Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


tl;dr: Don’t be a Jerk
Reversim Summit 2015 is dedicated to providing a harassment-free conference experience for everyone. We do not tolerate harassment of conference participants in any form. Sexual language and imagery is not appropriate for any conference venue, including talks. Conference participants violating these rules may be sanctioned or expelled from the conference at the discretion of the conference organizers.
See http://confcodeofconduct.com/
Please report code of conduct violations to the team at report@reversim.com.


Type Function Library ads.* Return value None Revision Current Public Release (2013.2076) Keywords ads, advertising Sample code /CoronaSDK/SampleCode/Ads/InMobi /CoronaSDK/SampleCode/Ads/inneractive /CoronaSDK/SampleCode/Ads/iAds See also ads.hide()
ads.show()
begins showing ads at the given screen location on the provided refresh period.
Note: The ad dimensions are in "points" and not pixels. This means that the display size in pixels will be double on a retina/HD device such as the iPhone4.
The iAds "banner" banner type will automatically scale to iPad/iPhone, and to landscape/portrait.
The iAds provider has known issues on iOS6; the banners begin displaying after some delay from the startup, typically 30-60 seconds.
If you're developing a "universal" app, i.e for both iPhone4 and Retina iPad, ads will not dynamically scale to the iPad. If your config.lua
file defines a 480×960 screen, a "480×960" ad will appear proportionally smaller on the iPad compared to the iPhone4. Thus, it's wise to detect the device type and choose the proper ad dimensions.
You must add the following permissions to the build.settings
file to use ads on Android.
Note: Android does not support iAds.
settings =
{
android =
{
usesPermissions =
{
"android.permission.INTERNET",
"android.permission.ACCESS_NETWORK_STATE",
"android.permission.READ_PHONE_STATE",
},
},
}
ads.show( adUnitType [, params] )
String. String indicating the type of ad to show on screen. See "Ad Unit Values" below.
Table. Specify optional parameters. See "Parameter Table Properties" below.
iAds supports the following ad types on all iOS devices:
iAds supports the following ad banner type only on iPad:
InMobi supports the following ad types on all devices:
InMobi supports the following larger ad banners types only on iPad:
inneractive supports the following ad types on all devices:
The banner ad type has a height of 53px and 90px for iPhone and iPad respectively.
Number. The upper left banner position. Defaults to 0. For iAds, this applies only to the "banner" banner type.
Number. The top banner position. Defaults to 0. For iAds, this applies only to the "banner" banner type.
Number. The ad refresh time (in seconds). Defaults to 10 for InMobi. Defaults to 60 for inneractive. Not applicable for iAds.
Boolean. Set to true
for testing account. Defaults to false
. Not applicable for iAds.
local ads = require "ads"
local function adListener( event )
local msg = event.response
if event.isError then
-- Failed to receive an ad, we print the error message returned from the library.
print(msg)
end
end
ads.init( "iads", "myAppId", adListener )
ads.show( "banner", { x=0, y=0 } )
local ads = require "ads"
local function adListener( event )
if event.isError then
-- Failed to receive an ad.
end
end
ads.init( "inmobi", "myAppId", adListener )
ads.show( "banner320x48", { x=0, y=100, interval=60, testMode=false } )
local ads = require "ads"
local function adListener( event )
if event.isError then
-- Failed to receive an ad.
end
end
ads.init( "inneractive", "myAppId", adListener )
ads.show( "banner", { x=0, y=0, interval=60 } )
local ads = require "ads"
local function adListener( event )
if event.isError then
-- Failed to receive an ad.
end
end
ads.init( "admob", "myAppId", adListener )
ads.show( "banner", { x=0, y=0 } )


|
AWBuildVersion
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
4 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
117 b |
8 kb |
8 kb |
Current version number of the AdventureWorks sample database.
|
|
DatabaseLog
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
8 |
1,566 |
1 |
0 |
1 |
0 |
0 |
1 |
4,294,968,329 b |
6,232 kb |
48 kb |
Audit table tracking all DDL changes made to the AdventureWorks database. Data is captured by the database trigger ddlDatabaseTriggerLog.
|
|
ErrorLog
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
9 |
0 |
1 |
0 |
1 |
0 |
0 |
2 |
16,788 b |
0 kb |
0 kb |
Audit table tracking errors in the the AdventureWorks database that are caught by the CATCH block of a TRY...CATCH construct. Data is inserted by stored procedure dbo.uspLogError when it is executed from inside the CATCH block of a TRY...CATCH construct.
|
|
Department
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
4 |
16 |
2 |
0 |
1 |
0 |
1 |
4 |
410 b |
8 kb |
24 kb |
Lookup table containing the departments within the Adventure Works Cycles company.
|
|
Employee
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
16 |
290 |
5 |
1 |
9 |
2 |
6 |
23 |
1,348 b |
56 kb |
120 kb |
Employee information such as salary, department, and title.
|
|
EmployeeAddress
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
4 |
290 |
2 |
0 |
4 |
2 |
0 |
4 |
32 b |
16 kb |
32 kb |
Cross-reference table mapping employees to their address(es).
|
|
EmployeeDepartmentHistory
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
6 |
296 |
3 |
0 |
8 |
3 |
0 |
6 |
31 b |
16 kb |
48 kb |
Employee department transfers.
|
|
EmployeePayHistory
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
5 |
316 |
1 |
0 |
5 |
1 |
0 |
4 |
29 b |
16 kb |
16 kb |
Employee pay history.
|
|
JobCandidate
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
4 |
13 |
2 |
0 |
2 |
1 |
0 |
5 |
2,147,483,662 b |
128 kb |
32 kb |
Résumés submitted to Human Resources by job applicants.
|
|
Shift
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
5 |
3 |
3 |
0 |
1 |
0 |
1 |
4 |
225 b |
8 kb |
40 kb |
Work shift lookup table.
|
|
Address
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
8 |
19,614 |
4 |
0 |
2 |
1 |
5 |
9 |
692 b |
2,240 kb |
2,504 kb |
Street address information for customers, employees, and vendors.
|
|
AddressType
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
4 |
6 |
3 |
0 |
1 |
0 |
2 |
5 |
228 b |
8 kb |
40 kb |
Types of addresses stored in the Address table.
|
|
Contact
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
15 |
19,972 |
4 |
0 |
2 |
0 |
6 |
17 |
2,147,484,788 b |
4,576 kb |
1,960 kb |
Names of each employee, customer contact, and vendor contact.
|
|
ContactType
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
3 |
20 |
2 |
0 |
1 |
0 |
2 |
5 |
212 b |
8 kb |
24 kb |
Lookup table containing the types of contacts stored in Contact.
|
|
CountryRegion
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
3 |
238 |
2 |
0 |
1 |
0 |
2 |
8 |
220 b |
16 kb |
32 kb |
Lookup table containing the ISO standard codes for countries and regions.
|
|
StateProvince
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
8 |
181 |
4 |
0 |
3 |
2 |
2 |
10 |
256 b |
16 kb |
64 kb |
State and province lookup table.
|
|
BillOfMaterials
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
9 |
2,679 |
3 |
0 |
8 |
3 |
0 |
9 |
55 b |
160 kb |
200 kb |
Items required to make bicycles and bicycle subassemblies. It identifies the heirarchical relationship between a parent product and its components.
|
|
Culture
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
3 |
8 |
2 |
0 |
1 |
0 |
1 |
2 |
232 b |
8 kb |
24 kb |
Lookup table containing the languages in which some AdventureWorks data is stored.
|
|
Document
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
10 |
9 |
2 |
0 |
2 |
0 |
1 |
3 |
4,294,969,163 b |
344 kb |
24 kb |
Product maintenance documents.
|
|
Illustration
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
3 |
5 |
1 |
0 |
1 |
0 |
1 |
1 |
2,147,483,658 b |
184 kb |
8 kb |
Bicycle assembly diagrams.
|
|
Location
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
5 |
14 |
2 |
0 |
3 |
0 |
2 |
4 |
219 b |
8 kb |
24 kb |
Product inventory and manufacturing locations.
|
|
Product
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
25 |
504 |
4 |
0 |
15 |
4 |
14 |
20 |
517 b |
104 kb |
120 kb |
Products sold or used in the manfacturing of sold products.
|
|
ProductCategory
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
4 |
4 |
3 |
0 |
1 |
0 |
1 |
3 |
228 b |
8 kb |
40 kb |
High-level product categorization.
|
|
ProductCostHistory
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
5 |
395 |
1 |
0 |
5 |
1 |
0 |
4 |
36 b |
24 kb |
16 kb |
Changes in the cost of a product over time.
|
|
ProductDescription
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
4 |
762 |
2 |
0 |
1 |
0 |
1 |
3 |
1,628 b |
144 kb |
56 kb |
Product descriptions in several languages.
|
|
ProductDocument
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
3 |
32 |
1 |
0 |
4 |
2 |
0 |
1 |
16 b |
8 kb |
8 kb |
Cross-reference table mapping products to related product documents.
|
|
ProductInventory
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
7 |
1,069 |
1 |
0 |
6 |
2 |
0 |
4 |
73 b |
56 kb |
16 kb |
Product inventory information.
|
|
ProductListPriceHistory
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
5 |
395 |
1 |
0 |
5 |
1 |
0 |
5 |
36 b |
24 kb |
16 kb |
Changes in the list price of a product over time.
|
|
ProductModel
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
6 |
128 |
5 |
0 |
1 |
0 |
3 |
8 |
4,294,967,520 b |
144 kb |
48 kb |
Product model classification.
|
|
ProductModelIllustration
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
3 |
7 |
1 |
0 |
4 |
2 |
0 |
1 |
16 b |
8 kb |
8 kb |
Cross-reference table mapping product models and illustrations.
|
|
ProductModelProductDescriptionCulture
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
4 |
762 |
1 |
0 |
6 |
3 |
0 |
2 |
40 b |
32 kb |
16 kb |
Cross-reference table mapping product descriptions and the language the description is written in.
|
|
ProductPhoto
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
6 |
101 |
1 |
0 |
1 |
0 |
1 |
1 |
4,294,967,706 b |
2,240 kb |
16 kb |
Product images.
|
|
ProductProductPhoto
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
4 |
504 |
1 |
0 |
4 |
2 |
0 |
1 |
16 b |
16 kb |
40 kb |
Cross-reference table mapping products and product photos.
|
|
ProductReview
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
8 |
4 |
2 |
0 |
3 |
1 |
0 |
3 |
15,828 b |
16 kb |
56 kb |
Customer reviews of products they have purchased.
|
|
ProductSubcategory
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
5 |
37 |
3 |
0 |
2 |
1 |
1 |
3 |
232 b |
8 kb |
40 kb |
Product subcategories. See ProductCategory table.
|
|
ScrapReason
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
3 |
16 |
2 |
0 |
1 |
0 |
1 |
2 |
210 b |
8 kb |
24 kb |
Manufacturing failure reasons lookup table.
|
|
TransactionHistory
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
9 |
113,443 |
3 |
0 |
3 |
1 |
0 |
9 |
48 b |
6,304 kb |
3,192 kb |
Record of each purchase order, sales order, or work order transaction year to date.
|
|
TransactionHistoryArchive
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
9 |
89,253 |
3 |
0 |
2 |
0 |
0 |
4 |
48 b |
4,960 kb |
2,568 kb |
Transactions for previous years.
|
|
UnitMeasure
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
3 |
38 |
2 |
0 |
1 |
0 |
4 |
2 |
220 b |
8 kb |
24 kb |
Unit of measure lookup table.
|
|
WorkOrder
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
10 |
72,591 |
3 |
2 |
6 |
2 |
1 |
8 |
52 b |
4,192 kb |
1,832 kb |
Manufacturing work orders.
|
|
WorkOrderRouting
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
12 |
67,131 |
2 |
0 |
10 |
2 |
0 |
7 |
73 b |
5,552 kb |
1,040 kb |
Work order details.
|
|
ProductVendor
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
11 |
460 |
3 |
0 |
11 |
3 |
0 |
9 |
68 b |
40 kb |
48 kb |
Cross-reference table mapping vendors with the products they supply.
|
|
PurchaseOrderDetail
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
11 |
8,845 |
2 |
2 |
8 |
2 |
0 |
8 |
61 b |
512 kb |
168 kb |
Individual products associated with a specific purchase order. See PurchaseOrderHeader.
|
|
PurchaseOrderHeader
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
13 |
4,012 |
3 |
1 |
9 |
3 |
1 |
11 |
74 b |
336 kb |
144 kb |
General purchase order information. See PurchaseOrderDetail.
|
|
ShipMethod
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
6 |
5 |
3 |
0 |
3 |
0 |
2 |
5 |
244 b |
8 kb |
40 kb |
Shipping company lookup table.
|
|
Vendor
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
8 |
104 |
2 |
1 |
2 |
0 |
4 |
5 |
4,369 b |
16 kb |
32 kb |
Companies from whom Adventure Works Cycles purchases parts or other goods.
|
|
VendorAddress
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
4 |
104 |
2 |
0 |
5 |
3 |
0 |
3 |
20 b |
8 kb |
24 kb |
Cross-reference mapping vendors and addresses.
|
|
VendorContact
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
4 |
156 |
3 |
0 |
5 |
3 |
0 |
5 |
20 b |
8 kb |
40 kb |
Cross-reference table mapping vendors and their employees.
|
|
ContactCreditCard
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
3 |
19,118 |
1 |
0 |
4 |
2 |
0 |
1 |
16 b |
480 kb |
16 kb |
Cross-reference table mapping customers in the Contact table to their credit card information in the CreditCard table.
|
|
CountryRegionCurrency
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
3 |
109 |
2 |
0 |
4 |
2 |
0 |
2 |
32 b |
8 kb |
24 kb |
Cross-reference table mapping ISO currency codes to a country or region.
|
|
CreditCard
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
6 |
19,118 |
2 |
0 |
1 |
0 |
2 |
2 |
315 b |
1,496 kb |
776 kb |
Customer credit card information.
|
|
Currency
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
3 |
105 |
2 |
0 |
1 |
0 |
3 |
2 |
220 b |
8 kb |
24 kb |
Lookup table containing standard ISO currencies.
|
|
CurrencyRate
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
7 |
13,532 |
2 |
0 |
3 |
2 |
1 |
2 |
60 b |
768 kb |
400 kb |
Currency exchange rates.
|
|
Customer
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
6 |
19,185 |
4 |
0 |
3 |
1 |
4 |
7 |
46 b |
824 kb |
1,176 kb |
Current customer information. Also see the Individual and Store tables.
|
|
CustomerAddress
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
5 |
19,220 |
2 |
0 |
5 |
3 |
0 |
4 |
36 b |
864 kb |
552 kb |
Cross-reference table mapping customers to their address(es).
|
|
Individual
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
4 |
18,484 |
5 |
1 |
3 |
2 |
0 |
11 |
2,147,483,662 b |
24,680 kb |
144 kb |
Demographic data about customers that purchase Adventure Works products online.
|
|
SalesOrderDetail
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
11 |
121,317 |
3 |
1 |
8 |
3 |
0 |
7 |
175 b |
9,880 kb |
5,312 kb |
Individual products associated with a specific sales order. See SalesOrderHeader.
|
|
SalesOrderHeader
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
27 |
31,465 |
5 |
1 |
16 |
9 |
2 |
14 |
909 b |
5,616 kb |
2,432 kb |
General sales order information.
|
|
SalesOrderHeaderSalesReason
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
3 |
27,647 |
1 |
0 |
4 |
2 |
0 |
1 |
16 b |
688 kb |
16 kb |
Cross-reference table mapping sales orders to sales reason codes.
|
|
SalesPerson
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
9 |
17 |
2 |
0 |
8 |
2 |
4 |
10 |
68 b |
8 kb |
24 kb |
Sales representative current information.
|
|
SalesPersonQuotaHistory
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
5 |
163 |
2 |
0 |
4 |
1 |
0 |
3 |
44 b |
16 kb |
32 kb |
Sales performance tracking.
|
|
SalesReason
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
4 |
10 |
1 |
0 |
1 |
0 |
1 |
1 |
412 b |
8 kb |
8 kb |
Lookup table of customer purchase reasons.
|
|
SalesTaxRate
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
7 |
29 |
3 |
0 |
3 |
1 |
0 |
4 |
237 b |
8 kb |
40 kb |
Tax rate lookup table.
|
|
SalesTerritory
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
10 |
10 |
3 |
0 |
5 |
0 |
5 |
10 |
472 b |
8 kb |
40 kb |
Sales territory lookup table.
|
|
SalesTerritoryHistory
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
6 |
17 |
2 |
0 |
6 |
2 |
0 |
3 |
48 b |
8 kb |
24 kb |
Sales representative transfers to other sales territories.
|
|
ShoppingCartItem
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
6 |
3 |
2 |
0 |
3 |
1 |
0 |
3 |
228 b |
8 kb |
24 kb |
Contains online customer orders until the order is submitted or cancelled.
|
|
SpecialOffer
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
11 |
16 |
2 |
0 |
5 |
0 |
1 |
6 |
1,476 b |
8 kb |
24 kb |
Sale discounts lookup table.
|
|
SpecialOfferProduct
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
4 |
538 |
3 |
0 |
4 |
2 |
2 |
3 |
32 b |
24 kb |
64 kb |
Cross-reference table mapping products to special offer discounts.
|
|
Store
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
6 |
701 |
4 |
1 |
3 |
2 |
1 |
7 |
2,147,483,878 b |
808 kb |
80 kb |
Customers (resellers) of Adventure Works products.
|
|
StoreContact
|
Mar 19 2009 9:08PM |
Mar 19 2009 9:08PM |
5 |
753 |
4 |
0 |
5 |
3 |
0 |
6 |
36 b |
40 kb |
120 kb |
Cross-reference table mapping stores and their employees.
|


Welcome!
This is our 10x engineer winner!
🎉🎉🎉🥳🥳🥳
Congratulations to Albert!
Albert has infinite patience and superhuman work ethic.
He truly exemplifies every element of Xendit culture but he is super humble,
unfailingly kind,
and always willing to help others with anything they need. Yang Yang
A lot of people ask me why I have as my status, well... only those who know knows.
If you want to know you need to know and to know you need to .
He's Xendit's secret weapon, he's there in the shadows delivering without fail.
He's an inspiration to us all. All hail Albert! Umar Rasydan
Albert is truly a great person - always willing to help and assist anyone in the team.
His enthusiasm and passion for what he is doing is very contagious
that it inspires the whole team. Really grateful to be working alongside him Jon Trinidad
I used to believe, 10x Engineer doesn't exist like what this website say, http://10x.engineer
.
But then, I met Albert, the myth version of the engineers.
Who can do every 1x Engineer does, and can beyond that.
He help everybody and doesn't care about himself.
An engineer only exist on fairy tale, but it's real. And it's on Xendit.
And now I can proudly say that I'm the first person in the world who found 10x engineer, named Albert! Iman Tumorang - The first man who found 10x Engineer in the world
Having testing sessions with all the members of the team.
Working with team members to debug their code.
Creating multiple pipelines and implementing tools to increase developer productivity
Highly effective communicator and coordinator. Shaun Yee - Digipay Engineer
Albert is always ready to help with whatever the team needs,
even if it means diverging from his already tight schedule.
He cares about the team when he’s constantly asking us to sleep,
even when he doesn’t sleep enough. Joseph Niel Tuazon - Direct Debit Engineer
Albert always there to help (even on weekends).
Also always try to automate everything, so everything flows easier and faster.
And he doesn’t really need sleep Brian - Digipay Engineer


Caitlyn Jenner's mother Esther has come out to say she won't be watching her daughter on I'm A Celeb.
The reality star made her debut on the show over the weekend and was the first to take on a bush tucker trial.
Her mother however, admits, "That's not entertainment to me."
As per MailOnline, Esther opens up about her daughter's latest excursion in a world exclusive interview.
She explains, "We have the survivor show here in the United States, I never watched it. I've skimmed over it, or seen previews and I decided that I don't really care for that.
"I know it's very popular in England and Australia, I don't know maybe people like to see other people uncomfortable or frightened or whatever, I don't like that."
She goes on, "I like to see people peaceful, happy. That's not entertainment to me, to see somebody frightened.
"I think she could spend a lot more pleasant times on the golf course! I've tried not to think of Caitlyn being over there. It's three weeks, a long time to go without hearing from her."
It seems Caitlyn and Esther have a strong mother/daughter relationship.
Esther reveals, "When she's in the States she calls me almost every day. I've got to live without hearing from her."
Like any mother, Esther worries her daughter could get hurt in the jungle, "I have no idea why she's doing this.
"I don't ask her questions to get into her mind or how she feels about this or that. My big worry is she may get bitten by a snake or a poisonous insect."
She added: "I don't want you to say anything that's going to frighten or upset me, I'm better off not to know. We can see it her in the United States. I don't need to torture myself, if it's frightening, I don't want to know.
"I'll just be waiting for when she can call me again when it's over. I'm sure I'll hear about it on the news."
Despite her disapproval of the show, she thinks Caitlyn has a chance at winning the show, she said: "The thing about Caitlyn, and I know her well, is that she has a lot of determination."
I'm A Celebrity Get Me Out of Here continues tonight from 9pm on Virgin Media One and ITV.


{% extends 'portal.html' %} {% load add_class %} {% load selectable_tags %} {% load crispy_forms_tags %} {% block title %} {{assessment}} | Summary text | Modify | HAWC {% endblock title %} {% block breadcrumbs %}
Are you sure you want to delete this text?
Warning: This will remove any nested-texts attached to this object as well!


EdLab Seminars
EdLab Seminars bring speakers from around the corner and around the world to the Gottesman Libraries in a continuing exploration of new possibilities for advancing education for the post-industrial, information-centric world. These weekly seminars are open to guests interested in learning more about a range of EdLab programs and services. For more information click here.
EdLab Summer Internships for High School Students, College Students, and Teachers
The summer internship program provides students in college or high school and teachers at all career stages with an opportunity to learn how to do advanced production work in the field of education. EdLab interns can be involved in software development, media design, video production, publishing, and research and consulting activities. For more information click here.
Engagement Opportunities for PK-16 Teachers and Students
EdLab at Teachers College is committed to developing deep on-going opportunities for engagement with teachers and students in the PK-16 education sector as part of its mission of developing the infrastructure for education in the post-industrial, information-based era. EdLab welcomes inquiries from teachers and students interested in the future of education and the creation of new possibilities for teaching and learning. Current activities that might involve teachers and students are listed below, but we welcome new ideas for other types of collaboration from PK-16 students, teachers, and administrators.
Advancing Change Agendas with the EdLab Collaborative Solutions Group
The Collaborative Solutions Group at EdLab offers a range of uniquely customized consulting and planning services to schools, school districts, and other educational organizations seeking to meet the increasing demands for education in the post-industrial age. The CSG works to with clients to develop high-impact development opportunities to advance a variety of change agendas. For more information click here.
EdLab/HBO Watch It & Learn Events
In partnership with HBO, the EdLab Collaborative Solutions Group will work with schools to develop an educational event drawing on an HBO film or documentary television program. EdLab/HBO learning events typically involve activities in the classroom along with visits to the HBO screening facilities in mid-town Manhattan. For more information click here.


Class PackageManagerImpl
Manages the package repository of a Puli project.
- Puli\Manager\Package\PackageManagerImpl implements Puli\Manager\Api\Package\PackageManager
Namespace: Puli\Manager\Package
Author: Bernhard Schussek<EMAIL_ADDRESS>Since: 1.0
Located at Package/PackageManagerImpl.php
Author: Bernhard Schussek<EMAIL_ADDRESS>Since: 1.0
Located at Package/PackageManagerImpl.php
public
|
#
__construct(
Loads the package repository for a given project. |
public
|
#
installPackage( string $installPath, string|null $name = null, string $installerName = Puli\Manager\Package\InstallInfo::DEFAULT_INSTALLER_NAME, string $env = Puli\Manager\Package\Environment::PROD )
Installs the package at the given path in the repository. |
public
|
|
public
|
|
public
|
#
removePackages( Webmozart\Expression\Expression $expr )
Removes all packages matching the given expression. |
public
|
|
public
|
|
public
|
|
public
|
|
public
|
#
findPackages( Webmozart\Expression\Expression $expr )
Returns all packages matching the given expression. |
public
boolean
|
|
public
boolean
|
#
hasPackages( Webmozart\Expression\Expression $expr = null )
Returns whether the manager has any packages. |
public
|


I've taken a look at the Epic Character Build "Kukri Master" and I've seen several variations on that design here. I can't really tell, by looking at the numbers, how much more damaging or effective one build is over the other. I'm wondering if any of the of the other Kukri Master variations outdamage the Epic Build or come close. Do any of the dex versions come close or surpass the damage of the original Epic Build?
Rangers win any melee damage contest. Here are two Ranger builds that utilize Kukri:
Click Here Click Here
They're not DEX based however. _________________ "With Europe liberated, the people of the world turned their attention to that old devil, the United States of America [...] We taught that monster of old the true meaning of freedom." Star Wreck
Thanks for the response Finneous. Both of those builds look good. However neither has Dev. Crit. It seems like a duel Kukri weilder is made to be a Dev Critter as well. So I can see that both of those Ranger builds will do more damage per hit than the Epic Build Kukri Master but will they be as effective at just plain killing creatures?
Sorry for poor wording on my part. I'm still far from understanding the game mechanics
Hm. Both builds are fully capable of fitting in Dev-Crit should you want, since they are both STR based. You just gotta figure out what to let go of. _________________ I see the fear you have inside, you can run but never hide.
I run the Pre-Epic Builders guild. Join and share your experience.


Planet Biotechnology produced the first plant-made antibody, or “plantibody”, ever tested in a clinical trial. We are focused on discovering, developing and commercializing new antibody-based therapeutic and preventative products through cultivation of genetically modified green plants to meet significant underserved medical needs.
Scientists at Planet Biotechnology identify and develop promising antibodies and receptor/ligand-Fc fusion proteins for the treatment and prevention of disease. Planet's anti-infective programs focus on tick-borne diseases, coronaviruses, and multi-drug resistant pathogens. The Company uses a plant-based expression system to rapidly produce its antibody and receptor/ligand-Fc products.
We have developed proprietary sequences and methods for expressing antibodies at unprecedentedly high levels in both transiently and stably transformed tobacco plants. We routinely achieve expression of IgG1 at levels between 0.5 and 3 grams/kg of plant biomass in our laboratory and greenhouses. These high levels of expression, along with our proprietary purification methods, result in high yield and purity of the final product.
We have considerable experience expressing human and chimeric IgA and IgG antibodies, immunoadhesins, nanobodies, and other proteins. Planet Biotechnology is a DARPA contractor (contract no. HR001113D-0004) for production of recombinant proteins in Nicotiana benthamiana.
We have developed proprietary sequences and methods for expressing antibodies at unprecedentedly high levels in both transiently and stably transformed tobacco plants. We routinely achieve expression of IgG1 at levels between 0.5 and 3 grams/kg of plant biomass in our laboratory and greenhouses. These high levels of expression, along with our proprietary purification methods, result in high yield and purity of the final product.


Velocity Calculator
Three fields should be filled and one should be empty to calculate result.
×
Enter any three qunatity to evaluate the fourth one.
Initial Velocity
m/s
km/hr
Acceleration
m/s^2
km/hr^2
Time
sec
hour
Final Velocity
m/s
km/hr
Calculate


Test FCA framework
This uses the example on https://en.wikipedia.org/wiki/Formal_concept_analysis to test the building of a concept lattice


Ruizean Markets's MT4 trading server uses the New York NY4 Equinix data centre to provide customers with the fast execution speeds. The Equinix data centre caters to major companies in the banking and trading industries, offering lightning fast speeds, low latency, top level security and high performance.
What is Equinix NY4?
Equinix NY4 (New York) is the data centre for more than 60 stock exchanges, 400+ trading companies and more than 150 financial service providers. Equinix is known as the world's most reliable data centre, allowing financial market participants to interact in a low latency environment, ensuring ultra-high-speed data transmissions and providing the fastest execution speeds for end users.
The Equinix NY4 Advantage
Ruizean Markets MetaTrader4 is linked with the New York NY4 data centre, The dedicated links between our MetaTrader4 and the Equinix servers, gives our customers the opportunity to take advantage of ultra-low latency and ultra-fast execution speeds.
An ultra-low latency trading environment is vital to providing super-fast execution speeds to our customers across the globe.


Select a Voice
{{voice.Name}} ({{voice.LanguageName}})
{{voice.Name}} ({{voice.LanguageName}})
{{voices[selection.index].Name}} ({{voices[selection.index].LanguageName}})
Speak
Redo
Clear
Save
History
Enter some text to turn into speech and it will show up here
{{entry.text}}
Saved Phrases
{{entry.text}}
{{toastMessage}}


Finland: Sanna Marin to become world's youngest PM at 34
Left-wing Sanna Marin, transport minister, to head women-led coalition following Antti Rinne's resignation.
Finland's left-wing Social Democrats, who lead a five-party coalition government, have picked 34-year-old Minister of Transport and Communications Sanna Marin to become the country's youngest-ever prime minister next week, taking over after the resignation of Antti Rinne.
Rinne resigned earlier this week after coalition member the Centre Party said it had lost confidence in him following his handling of a postal strike.
More:
"We have a lot of work ahead to rebuild trust," Marin told reporters after winning a narrow vote among the party leadership.
Antti Lindtman, head of the party's parliamentary group, was runner-up.
"We have a joint government programme which glues the coalition together," Marin said.
New Zealand Prime Minister Jacinda Ardern is 39, Ukrainian Prime Minister Oleksiy Honcharuk is 35, while North Korea's leader, Kim Jong Un is reportedly 35.
Marin will head Finland's women-led coalition, which includes Left Alliance's Li Anderson, 32; the Green League's Maria Ohisalo, 34; the Centre Party's Katri Kulmuni, 32 and Anna-Maja Henriksson, the 55-year-old leader of the Swedish People's party.
According to the Guinness World Records, Malaysia's Mahathir bin Mohamad, now 94, is the oldest sitting prime minister.
The coalition, which took office just six months ago, has agreed to continue with its programme after Rinne announced he was stepping down at the demand of the Centre Party.
The timing of the change in leadership is awkward for Finland, which holds the rotating presidency of the European Union until the end of the year, playing a central role in efforts to hammer out a new budget for the bloc.