This is the reference documentation for input related functions and types. For more task-oriented information, see the Input guide.
Modules | |
| Gamepad axes | |
| Gamepad axes. | |
| Gamepad buttons | |
| Gamepad buttons. | |
| Joystick hat states | |
| Joystick hat states. | |
| Joysticks | |
| Joystick IDs. | |
| Keyboard keys | |
| Keyboard key IDs. | |
| Modifier key flags | |
| Modifier key flags. | |
| Mouse buttons | |
| Mouse button IDs. | |
| Standard cursor shapes | |
| Standard system cursor shapes. | |
Typedefs | |
| typedef struct GLFWcursor | GLFWcursor |
| Opaque cursor object. More... | |
| typedef void(* | GLFWmousebuttonfun) (GLFWwindow *window, int button, int action, int mods) |
| The function pointer type for mouse button callbacks. More... | |
| typedef void(* | GLFWcursorposfun) (GLFWwindow *window, double xpos, double ypos) |
| The function pointer type for cursor position callbacks. More... | |
| typedef void(* | GLFWcursorenterfun) (GLFWwindow *window, int entered) |
| The function pointer type for cursor enter/leave callbacks. More... | |
| typedef void(* | GLFWscrollfun) (GLFWwindow *window, double xoffset, double yoffset) |
| The function pointer type for scroll callbacks. More... | |
| typedef void(* | GLFWkeyfun) (GLFWwindow *window, int key, int scancode, int action, int mods) |
| The function pointer type for keyboard key callbacks. More... | |
| typedef void(* | GLFWcharfun) (GLFWwindow *window, unsigned int codepoint) |
| The function pointer type for Unicode character callbacks. More... | |
| typedef void(* | GLFWcharmodsfun) (GLFWwindow *window, unsigned int codepoint, int mods) |
| The function pointer type for Unicode character with modifiers callbacks. More... | |
| typedef void(* | GLFWdropfun) (GLFWwindow *window, int path_count, const char *paths[]) |
| The function pointer type for path drop callbacks. More... | |
| typedef void(* | GLFWjoystickfun) (int jid, int event) |
| The function pointer type for joystick configuration callbacks. More... | |
| typedef struct GLFWgamepadstate | GLFWgamepadstate |
| Gamepad input state. More... | |
Functions | |
| int | glfwGetInputMode (GLFWwindow *window, int mode) |
| Returns the value of an input option for the specified window. More... | |
| void | glfwSetInputMode (GLFWwindow *window, int mode, int value) |
| Sets an input option for the specified window. More... | |
| int | glfwRawMouseMotionSupported (void) |
| Returns whether raw mouse motion is supported. More... | |
| const char * | glfwGetKeyName (int key, int scancode) |
| Returns the layout-specific name of the specified printable key. More... | |
| int | glfwGetKeyScancode (int key) |
| Returns the platform-specific scancode of the specified key. More... | |
| int | glfwGetKey (GLFWwindow *window, int key) |
| Returns the last reported state of a keyboard key for the specified window. More... | |
| int | glfwGetMouseButton (GLFWwindow *window, int button) |
| Returns the last reported state of a mouse button for the specified window. More... | |
| void | glfwGetCursorPos (GLFWwindow *window, double *xpos, double *ypos) |
| Retrieves the position of the cursor relative to the content area of the window. More... | |
| void | glfwSetCursorPos (GLFWwindow *window, double xpos, double ypos) |
| Sets the position of the cursor, relative to the content area of the window. More... | |
| GLFWcursor * | glfwCreateCursor (const GLFWimage *image, int xhot, int yhot) |
| Creates a custom cursor. More... | |
| GLFWcursor * | glfwCreateStandardCursor (int shape) |
| Creates a cursor with a standard shape. More... | |
| void | glfwDestroyCursor (GLFWcursor *cursor) |
| Destroys a cursor. More... | |
| void | glfwSetCursor (GLFWwindow *window, GLFWcursor *cursor) |
| Sets the cursor for the window. More... | |
| GLFWkeyfun | glfwSetKeyCallback (GLFWwindow *window, GLFWkeyfun callback) |
| Sets the key callback. More... | |
| GLFWcharfun | glfwSetCharCallback (GLFWwindow *window, GLFWcharfun callback) |
| Sets the Unicode character callback. More... | |
| GLFWcharmodsfun | glfwSetCharModsCallback (GLFWwindow *window, GLFWcharmodsfun callback) |
| Sets the Unicode character with modifiers callback. More... | |
| GLFWmousebuttonfun | glfwSetMouseButtonCallback (GLFWwindow *window, GLFWmousebuttonfun callback) |
| Sets the mouse button callback. More... | |
| GLFWcursorposfun | glfwSetCursorPosCallback (GLFWwindow *window, GLFWcursorposfun callback) |
| Sets the cursor position callback. More... | |
| GLFWcursorenterfun | glfwSetCursorEnterCallback (GLFWwindow *window, GLFWcursorenterfun callback) |
| Sets the cursor enter/leave callback. More... | |
| GLFWscrollfun | glfwSetScrollCallback (GLFWwindow *window, GLFWscrollfun callback) |
| Sets the scroll callback. More... | |
| GLFWdropfun | glfwSetDropCallback (GLFWwindow *window, GLFWdropfun callback) |
| Sets the path drop callback. More... | |
| int | glfwJoystickPresent (int jid) |
| Returns whether the specified joystick is present. More... | |
| const float * | glfwGetJoystickAxes (int jid, int *count) |
| Returns the values of all axes of the specified joystick. More... | |
| const unsigned char * | glfwGetJoystickButtons (int jid, int *count) |
| Returns the state of all buttons of the specified joystick. More... | |
| const unsigned char * | glfwGetJoystickHats (int jid, int *count) |
| Returns the state of all hats of the specified joystick. More... | |
| const char * | glfwGetJoystickName (int jid) |
| Returns the name of the specified joystick. More... | |
| const char * | glfwGetJoystickGUID (int jid) |
| Returns the SDL compatible GUID of the specified joystick. More... | |
| void | glfwSetJoystickUserPointer (int jid, void *pointer) |
| Sets the user pointer of the specified joystick. More... | |
| void * | glfwGetJoystickUserPointer (int jid) |
| Returns the user pointer of the specified joystick. More... | |
| int | glfwJoystickIsGamepad (int jid) |
| Returns whether the specified joystick has a gamepad mapping. More... | |
| GLFWjoystickfun | glfwSetJoystickCallback (GLFWjoystickfun callback) |
| Sets the joystick configuration callback. More... | |
| int | glfwUpdateGamepadMappings (const char *string) |
| Adds the specified SDL_GameControllerDB gamepad mappings. More... | |
| const char * | glfwGetGamepadName (int jid) |
| Returns the human-readable gamepad name for the specified joystick. More... | |
| int | glfwGetGamepadState (int jid, GLFWgamepadstate *state) |
| Retrieves the state of the specified joystick remapped as a gamepad. More... | |
| void | glfwSetClipboardString (GLFWwindow *window, const char *string) |
| Sets the clipboard to the specified string. More... | |
| const char * | glfwGetClipboardString (GLFWwindow *window) |
| Returns the contents of the clipboard as a string. More... | |
| double | glfwGetTime (void) |
| Returns the GLFW time. More... | |
| void | glfwSetTime (double time) |
| Sets the GLFW time. More... | |
| uint64_t | glfwGetTimerValue (void) |
| Returns the current value of the raw timer. More... | |
| uint64_t | glfwGetTimerFrequency (void) |
| Returns the frequency, in Hz, of the raw timer. More... | |
| #define GLFW_RELEASE 0 |
The key or mouse button was released.
| #define GLFW_PRESS 1 |
The key or mouse button was pressed.
| #define GLFW_REPEAT 2 |
The key was held down until it repeated.
| typedef struct GLFWcursor GLFWcursor |
| typedef void(* GLFWmousebuttonfun) (GLFWwindow *window, int button, int action, int mods) |
This is the function pointer type for mouse button callback functions. A mouse button callback function has the following signature:
| [in] | window | The window that received the event. |
| [in] | button | The mouse button that was pressed or released. |
| [in] | action | One of GLFW_PRESS or GLFW_RELEASE . Future releases may add more actions. |
| [in] | mods | Bit field describing which modifier keys were held down. |
| typedef void(* GLFWcursorposfun) (GLFWwindow *window, double xpos, double ypos) |
This is the function pointer type for cursor position callbacks. A cursor position callback function has the following signature:
| [in] | window | The window that received the event. |
| [in] | xpos | The new cursor x-coordinate, relative to the left edge of the content area. |
| [in] | ypos | The new cursor y-coordinate, relative to the top edge of the content area. |
GLFWmouseposfun
. | typedef void(* GLFWcursorenterfun) (GLFWwindow *window, int entered) |
This is the function pointer type for cursor enter/leave callbacks. A cursor enter/leave callback function has the following signature:
| [in] | window | The window that received the event. |
| [in] | entered | GLFW_TRUE if the cursor entered the window's content area, or GLFW_FALSE if it left it. |
| typedef void(* GLFWscrollfun) (GLFWwindow *window, double xoffset, double yoffset) |
This is the function pointer type for scroll callbacks. A scroll callback function has the following signature:
| [in] | window | The window that received the event. |
| [in] | xoffset | The scroll offset along the x-axis. |
| [in] | yoffset | The scroll offset along the y-axis. |
GLFWmousewheelfun
. | typedef void(* GLFWkeyfun) (GLFWwindow *window, int key, int scancode, int action, int mods) |
This is the function pointer type for keyboard key callbacks. A keyboard key callback function has the following signature:
| [in] | window | The window that received the event. |
| [in] | key | The keyboard key that was pressed or released. |
| [in] | scancode | The system-specific scancode of the key. |
| [in] | action | GLFW_PRESS , GLFW_RELEASE or GLFW_REPEAT . Future releases may add more actions. |
| [in] | mods | Bit field describing which modifier keys were held down. |
| typedef void(* GLFWcharfun) (GLFWwindow *window, unsigned int codepoint) |
This is the function pointer type for Unicode character callbacks. A Unicode character callback function has the following signature:
| [in] | window | The window that received the event. |
| [in] | codepoint | The Unicode code point of the character. |
| typedef void(* GLFWcharmodsfun) (GLFWwindow *window, unsigned int codepoint, int mods) |
This is the function pointer type for Unicode character with modifiers callbacks. It is called for each input character, regardless of what modifier keys are held down. A Unicode character with modifiers callback function has the following signature:
| [in] | window | The window that received the event. |
| [in] | codepoint | The Unicode code point of the character. |
| [in] | mods | Bit field describing which modifier keys were held down. |
| typedef void(* GLFWdropfun) (GLFWwindow *window, int path_count, const char *paths[]) |
This is the function pointer type for path drop callbacks. A path drop callback function has the following signature:
| [in] | window | The window that received the event. |
| [in] | path_count | The number of dropped paths. |
| [in] | paths | The UTF-8 encoded file and/or directory path names. |
| typedef void(* GLFWjoystickfun) (int jid, int event) |
This is the function pointer type for joystick configuration callbacks. A joystick configuration callback function has the following signature:
| [in] | jid | The joystick that was connected or disconnected. |
| [in] | event | One of GLFW_CONNECTED or GLFW_DISCONNECTED . Future releases may add more events. |
| typedef struct GLFWgamepadstate GLFWgamepadstate |
This describes the input state of a gamepad.
| int glfwGetInputMode | ( | GLFWwindow * | window, |
| int | mode | ||
| ) |
This function returns the value of an input option for the specified window. The mode must be one of GLFW_CURSOR, GLFW_STICKY_KEYS, GLFW_STICKY_MOUSE_BUTTONS, GLFW_LOCK_KEY_MODS or GLFW_RAW_MOUSE_MOTION.
| [in] | window | The window to query. |
| [in] | mode | One of GLFW_CURSOR , GLFW_STICKY_KEYS , GLFW_STICKY_MOUSE_BUTTONS , GLFW_LOCK_KEY_MODS or GLFW_RAW_MOUSE_MOTION . |
| void glfwSetInputMode | ( | GLFWwindow * | window, |
| int | mode, | ||
| int | value | ||
| ) |
This function sets an input mode option for the specified window. The mode must be one of GLFW_CURSOR, GLFW_STICKY_KEYS, GLFW_STICKY_MOUSE_BUTTONS, GLFW_LOCK_KEY_MODS or GLFW_RAW_MOUSE_MOTION.
If the mode is GLFW_CURSOR
, the value must be one of the following cursor modes:
GLFW_CURSOR_NORMAL
makes the cursor visible and behaving normally.GLFW_CURSOR_HIDDEN
makes the cursor invisible when it is over the content area of the window but does not restrict the cursor from leaving.GLFW_CURSOR_DISABLED
hides and grabs the cursor, providing virtual and unlimited cursor movement. This is useful for implementing for example 3D camera controls.If the mode is GLFW_STICKY_KEYS
, the value must be either GLFW_TRUE
to enable sticky keys, or GLFW_FALSE
to disable it. If sticky keys are enabled, a key press will ensure that glfwGetKey returns GLFW_PRESS
the next time it is called even if the key had been released before the call. This is useful when you are only interested in whether keys have been pressed but not when or in which order.
If the mode is GLFW_STICKY_MOUSE_BUTTONS
, the value must be either GLFW_TRUE
to enable sticky mouse buttons, or GLFW_FALSE
to disable it. If sticky mouse buttons are enabled, a mouse button press will ensure that glfwGetMouseButton returns GLFW_PRESS
the next time it is called even if the mouse button had been released before the call. This is useful when you are only interested in whether mouse buttons have been pressed but not when or in which order.
If the mode is GLFW_LOCK_KEY_MODS
, the value must be either GLFW_TRUE
to enable lock key modifier bits, or GLFW_FALSE
to disable them. If enabled, callbacks that receive modifier bits will also have the GLFW_MOD_CAPS_LOCK bit set when the event was generated with Caps Lock on, and the GLFW_MOD_NUM_LOCK bit when Num Lock was on.
If the mode is GLFW_RAW_MOUSE_MOTION
, the value must be either GLFW_TRUE
to enable raw (unscaled and unaccelerated) mouse motion when the cursor is disabled, or GLFW_FALSE
to disable it. If raw motion is not supported, attempting to set this will emit GLFW_PLATFORM_ERROR. Call glfwRawMouseMotionSupported to check for support.
| [in] | window | The window whose input mode to set. |
| [in] | mode | One of GLFW_CURSOR , GLFW_STICKY_KEYS , GLFW_STICKY_MOUSE_BUTTONS , GLFW_LOCK_KEY_MODS or GLFW_RAW_MOUSE_MOTION . |
| [in] | value | The new value of the specified input mode. |
glfwEnable
and glfwDisable
. | int glfwRawMouseMotionSupported | ( | void | ) |
This function returns whether raw mouse motion is supported on the current system. This status does not change after GLFW has been initialized so you only need to check this once. If you attempt to enable raw motion on a system that does not support it, GLFW_PLATFORM_ERROR will be emitted.
Raw mouse motion is closer to the actual motion of the mouse across a surface. It is not affected by the scaling and acceleration applied to the motion of the desktop cursor. That processing is suitable for a cursor while raw motion is better for controlling for example a 3D camera. Because of this, raw mouse motion is only provided when the cursor is disabled.
GLFW_TRUE
if raw mouse motion is supported on the current machine, or GLFW_FALSE
otherwise.| const char * glfwGetKeyName | ( | int | key, |
| int | scancode | ||
| ) |
This function returns the name of the specified printable key, encoded as UTF-8. This is typically the character that key would produce without any modifier keys, intended for displaying key bindings to the user. For dead keys, it is typically the diacritic it would add to a character.
Do not use this function for text input. You will break text input for many languages even if it happens to work for yours.
If the key is GLFW_KEY_UNKNOWN
, the scancode is used to identify the key, otherwise the scancode is ignored. If you specify a non-printable key, or GLFW_KEY_UNKNOWN
and a scancode that maps to a non-printable key, this function returns NULL
but does not emit an error.
This behavior allows you to always pass in the arguments in the key callback without modification.
The printable keys are:
GLFW_KEY_APOSTROPHE
GLFW_KEY_COMMA
GLFW_KEY_MINUS
GLFW_KEY_PERIOD
GLFW_KEY_SLASH
GLFW_KEY_SEMICOLON
GLFW_KEY_EQUAL
GLFW_KEY_LEFT_BRACKET
GLFW_KEY_RIGHT_BRACKET
GLFW_KEY_BACKSLASH
GLFW_KEY_WORLD_1
GLFW_KEY_WORLD_2
GLFW_KEY_0
to GLFW_KEY_9
GLFW_KEY_A
to GLFW_KEY_Z
GLFW_KEY_KP_0
to GLFW_KEY_KP_9
GLFW_KEY_KP_DECIMAL
GLFW_KEY_KP_DIVIDE
GLFW_KEY_KP_MULTIPLY
GLFW_KEY_KP_SUBTRACT
GLFW_KEY_KP_ADD
GLFW_KEY_KP_EQUAL
Names for printable keys depend on keyboard layout, while names for non-printable keys are the same across layouts but depend on the application language and should be localized along with other user interface text.
| [in] | key | The key to query, or GLFW_KEY_UNKNOWN . |
| [in] | scancode | The scancode of the key to query. |
NULL
.| int glfwGetKeyScancode | ( | int | key | ) |
This function returns the platform-specific scancode of the specified key.
If the key is GLFW_KEY_UNKNOWN
or does not exist on the keyboard this method will return -1
.
| [in] | key | Any named key. |
-1
if an error occurred.| int glfwGetKey | ( | GLFWwindow * | window, |
| int | key | ||
| ) |
This function returns the last state reported for the specified key to the specified window. The returned state is one of GLFW_PRESS
or GLFW_RELEASE
. The action GLFW_REPEAT
is only reported to the key callback.
If the GLFW_STICKY_KEYS input mode is enabled, this function returns GLFW_PRESS
the first time you call it for a key that was pressed, even if that key has already been released.
The key functions deal with physical keys, with key tokens named after their use on the standard US keyboard layout. If you want to input text, use the Unicode character callback instead.
The modifier key bit masks are not key tokens and cannot be used with this function.
Do not use this function to implement text input.
| [in] | window | The desired window. |
| [in] | key | The desired keyboard key. GLFW_KEY_UNKNOWN is not a valid key for this function. |
GLFW_PRESS
or GLFW_RELEASE
.| int glfwGetMouseButton | ( | GLFWwindow * | window, |
| int | button | ||
| ) |
This function returns the last state reported for the specified mouse button to the specified window. The returned state is one of GLFW_PRESS
or GLFW_RELEASE
.
If the GLFW_STICKY_MOUSE_BUTTONS input mode is enabled, this function returns GLFW_PRESS
the first time you call it for a mouse button that was pressed, even if that mouse button has already been released.
| [in] | window | The desired window. |
| [in] | button | The desired mouse button. |
GLFW_PRESS
or GLFW_RELEASE
.| void glfwGetCursorPos | ( | GLFWwindow * | window, |
| double * | xpos, | ||
| double * | ypos | ||
| ) |
This function returns the position of the cursor, in screen coordinates, relative to the upper-left corner of the content area of the specified window.
If the cursor is disabled (with GLFW_CURSOR_DISABLED
) then the cursor position is unbounded and limited only by the minimum and maximum values of a double
.
The coordinate can be converted to their integer equivalents with the floor
function. Casting directly to an integer type works for positive coordinates, but fails for negative ones.
Any or all of the position arguments may be NULL
. If an error occurs, all non-NULL
position arguments will be set to zero.
| [in] | window | The desired window. |
| [out] | xpos | Where to store the cursor x-coordinate, relative to the left edge of the content area, or NULL . |
| [out] | ypos | Where to store the cursor y-coordinate, relative to the to top edge of the content area, or NULL . |
glfwGetMousePos
. | void glfwSetCursorPos | ( | GLFWwindow * | window, |
| double | xpos, | ||
| double | ypos | ||
| ) |
This function sets the position, in screen coordinates, of the cursor relative to the upper-left corner of the content area of the specified window. The window must have input focus. If the window does not have input focus when this function is called, it fails silently.
Do not use this function to implement things like camera controls. GLFW already provides the GLFW_CURSOR_DISABLED
cursor mode that hides the cursor, transparently re-centers it and provides unconstrained cursor motion. See glfwSetInputMode for more information.
If the cursor mode is GLFW_CURSOR_DISABLED
then the cursor position is unconstrained and limited only by the minimum and maximum values of a double
.
| [in] | window | The desired window. |
| [in] | xpos | The desired x-coordinate, relative to the left edge of the content area. |
| [in] | ypos | The desired y-coordinate, relative to the top edge of the content area. |
GLFW_CURSOR_DISABLED
, otherwise it will do nothing.glfwSetMousePos
. | GLFWcursor * glfwCreateCursor | ( | const GLFWimage * | image, |
| int | xhot, | ||
| int | yhot | ||
| ) |
Creates a new custom cursor image that can be set for a window with glfwSetCursor. The cursor can be destroyed with glfwDestroyCursor. Any remaining cursors are destroyed by glfwTerminate.
The pixels are 32-bit, little-endian, non-premultiplied RGBA, i.e. eight bits per channel with the red channel first. They are arranged canonically as packed sequential rows, starting from the top-left corner.
The cursor hotspot is specified in pixels, relative to the upper-left corner of the cursor image. Like all other coordinate systems in GLFW, the X-axis points to the right and the Y-axis points down.
| [in] | image | The desired cursor image. |
| [in] | xhot | The desired x-coordinate, in pixels, of the cursor hotspot. |
| [in] | yhot | The desired y-coordinate, in pixels, of the cursor hotspot. |
NULL
if an error occurred.| GLFWcursor * glfwCreateStandardCursor | ( | int | shape | ) |
Returns a cursor with a standard shape, that can be set for a window with glfwSetCursor.
| [in] | shape | One of the standard shapes. |
NULL
if an error occurred.| void glfwDestroyCursor | ( | GLFWcursor * | cursor | ) |
This function destroys a cursor previously created with glfwCreateCursor. Any remaining cursors will be destroyed by glfwTerminate.
If the specified cursor is current for any window, that window will be reverted to the default cursor. This does not affect the cursor mode.
| [in] | cursor | The cursor object to destroy. |
| void glfwSetCursor | ( | GLFWwindow * | window, |
| GLFWcursor * | cursor | ||
| ) |
This function sets the cursor image to be used when the cursor is over the content area of the specified window. The set cursor will only be visible when the cursor mode of the window is GLFW_CURSOR_NORMAL
.
On some platforms, the set cursor may not be visible unless the window also has input focus.
| [in] | window | The window to set the cursor for. |
| [in] | cursor | The cursor to set, or NULL to switch back to the default arrow cursor. |
| GLFWkeyfun glfwSetKeyCallback | ( | GLFWwindow * | window, |
| GLFWkeyfun | callback | ||
| ) |
This function sets the key callback of the specified window, which is called when a key is pressed, repeated or released.
The key functions deal with physical keys, with layout independent key tokens named after their values in the standard US keyboard layout. If you want to input text, use the character callback instead.
When a window loses input focus, it will generate synthetic key release events for all pressed keys. You can tell these events from user-generated events by the fact that the synthetic ones are generated after the focus loss event has been processed, i.e. after the window focus callback has been called.
The scancode of a key is specific to that platform or sometimes even to that machine. Scancodes are intended to allow users to bind keys that don't have a GLFW key token. Such keys have key
set to GLFW_KEY_UNKNOWN
, their state is not saved and so it cannot be queried with glfwGetKey.
Sometimes GLFW needs to generate synthetic key events, in which case the scancode may be zero.
| [in] | window | The window whose callback to set. |
| [in] | callback | The new key callback, or NULL to remove the currently set callback. |
NULL
if no callback was set or the library had not been initialized.| GLFWcharfun glfwSetCharCallback | ( | GLFWwindow * | window, |
| GLFWcharfun | callback | ||
| ) |
This function sets the character callback of the specified window, which is called when a Unicode character is input.
The character callback is intended for Unicode text input. As it deals with characters, it is keyboard layout dependent, whereas the key callback is not. Characters do not map 1:1 to physical keys, as a key may produce zero, one or more characters. If you want to know whether a specific physical key was pressed or released, see the key callback instead.
The character callback behaves as system text input normally does and will not be called if modifier keys are held down that would prevent normal text input on that platform, for example a Super (Command) key on macOS or Alt key on Windows.
| [in] | window | The window whose callback to set. |
| [in] | callback | The new callback, or NULL to remove the currently set callback. |
NULL
if no callback was set or the library had not been initialized.| GLFWcharmodsfun glfwSetCharModsCallback | ( | GLFWwindow * | window, |
| GLFWcharmodsfun | callback | ||
| ) |
This function sets the character with modifiers callback of the specified window, which is called when a Unicode character is input regardless of what modifier keys are used.
The character with modifiers callback is intended for implementing custom Unicode character input. For regular Unicode text input, see the character callback. Like the character callback, the character with modifiers callback deals with characters and is keyboard layout dependent. Characters do not map 1:1 to physical keys, as a key may produce zero, one or more characters. If you want to know whether a specific physical key was pressed or released, see the key callback instead.
| [in] | window | The window whose callback to set. |
| [in] | callback | The new callback, or NULL to remove the currently set callback. |
NULL
if no callback was set or an error occurred.| GLFWmousebuttonfun glfwSetMouseButtonCallback | ( | GLFWwindow * | window, |
| GLFWmousebuttonfun | callback | ||
| ) |
This function sets the mouse button callback of the specified window, which is called when a mouse button is pressed or released.
When a window loses input focus, it will generate synthetic mouse button release events for all pressed mouse buttons. You can tell these events from user-generated events by the fact that the synthetic ones are generated after the focus loss event has been processed, i.e. after the window focus callback has been called.
| [in] | window | The window whose callback to set. |
| [in] | callback | The new callback, or NULL to remove the currently set callback. |
NULL
if no callback was set or the library had not been initialized.| GLFWcursorposfun glfwSetCursorPosCallback | ( | GLFWwindow * | window, |
| GLFWcursorposfun | callback | ||
| ) |
This function sets the cursor position callback of the specified window, which is called when the cursor is moved. The callback is provided with the position, in screen coordinates, relative to the upper-left corner of the content area of the window.
| [in] | window | The window whose callback to set. |
| [in] | callback | The new callback, or NULL to remove the currently set callback. |
NULL
if no callback was set or the library had not been initialized.glfwSetMousePosCallback
. | GLFWcursorenterfun glfwSetCursorEnterCallback | ( | GLFWwindow * | window, |
| GLFWcursorenterfun | callback | ||
| ) |
This function sets the cursor boundary crossing callback of the specified window, which is called when the cursor enters or leaves the content area of the window.
| [in] | window | The window whose callback to set. |
| [in] | callback | The new callback, or NULL to remove the currently set callback. |
NULL
if no callback was set or the library had not been initialized.| GLFWscrollfun glfwSetScrollCallback | ( | GLFWwindow * | window, |
| GLFWscrollfun | callback | ||
| ) |
This function sets the scroll callback of the specified window, which is called when a scrolling device is used, such as a mouse wheel or scrolling area of a touchpad.
The scroll callback receives all scrolling input, like that from a mouse wheel or a touchpad scrolling area.
| [in] | window | The window whose callback to set. |
| [in] | callback | The new scroll callback, or NULL to remove the currently set callback. |
NULL
if no callback was set or the library had not been initialized.glfwSetMouseWheelCallback
. | GLFWdropfun glfwSetDropCallback | ( | GLFWwindow * | window, |
| GLFWdropfun | callback | ||
| ) |
This function sets the path drop callback of the specified window, which is called when one or more dragged paths are dropped on the window.
Because the path array and its strings may have been generated specifically for that event, they are not guaranteed to be valid after the callback has returned. If you wish to use them after the callback returns, you need to make a deep copy.
| [in] | window | The window whose callback to set. |
| [in] | callback | The new file drop callback, or NULL to remove the currently set callback. |
NULL
if no callback was set or the library had not been initialized.| int glfwJoystickPresent | ( | int | jid | ) |
This function returns whether the specified joystick is present.
There is no need to call this function before other functions that accept a joystick ID, as they all check for presence before performing any other work.
| [in] | jid | The joystick to query. |
GLFW_TRUE
if the joystick is present, or GLFW_FALSE
otherwise.glfwGetJoystickParam
. | const float * glfwGetJoystickAxes | ( | int | jid, |
| int * | count | ||
| ) |
This function returns the values of all axes of the specified joystick. Each element in the array is a value between -1.0 and 1.0.
If the specified joystick is not present this function will return NULL
but will not generate an error. This can be used instead of first calling glfwJoystickPresent.
| [in] | jid | The joystick to query. |
| [out] | count | Where to store the number of axis values in the returned array. This is set to zero if the joystick is not present or an error occurred. |
NULL
if the joystick is not present or an error occurred.glfwGetJoystickPos
. | const unsigned char * glfwGetJoystickButtons | ( | int | jid, |
| int * | count | ||
| ) |
This function returns the state of all buttons of the specified joystick. Each element in the array is either GLFW_PRESS
or GLFW_RELEASE
.
For backward compatibility with earlier versions that did not have glfwGetJoystickHats, the button array also includes all hats, each represented as four buttons. The hats are in the same order as returned by glfwGetJoystickHats and are in the order up, right, down and left. To disable these extra buttons, set the GLFW_JOYSTICK_HAT_BUTTONS init hint before initialization.
If the specified joystick is not present this function will return NULL
but will not generate an error. This can be used instead of first calling glfwJoystickPresent.
| [in] | jid | The joystick to query. |
| [out] | count | Where to store the number of button states in the returned array. This is set to zero if the joystick is not present or an error occurred. |
NULL
if the joystick is not present or an error occurred.| const unsigned char * glfwGetJoystickHats | ( | int | jid, |
| int * | count | ||
| ) |
This function returns the state of all hats of the specified joystick. Each element in the array is one of the following values:
| Name | Value |
|---|---|
GLFW_HAT_CENTERED | 0 |
GLFW_HAT_UP | 1 |
GLFW_HAT_RIGHT | 2 |
GLFW_HAT_DOWN | 4 |
GLFW_HAT_LEFT | 8 |
GLFW_HAT_RIGHT_UP | GLFW_HAT_RIGHT | GLFW_HAT_UP |
GLFW_HAT_RIGHT_DOWN | GLFW_HAT_RIGHT | GLFW_HAT_DOWN |
GLFW_HAT_LEFT_UP | GLFW_HAT_LEFT | GLFW_HAT_UP |
GLFW_HAT_LEFT_DOWN | GLFW_HAT_LEFT | GLFW_HAT_DOWN |
The diagonal directions are bitwise combinations of the primary (up, right, down and left) directions and you can test for these individually by ANDing it with the corresponding direction.
If the specified joystick is not present this function will return NULL
but will not generate an error. This can be used instead of first calling glfwJoystickPresent.
| [in] | jid | The joystick to query. |
| [out] | count | Where to store the number of hat states in the returned array. This is set to zero if the joystick is not present or an error occurred. |
NULL
if the joystick is not present or an error occurred.| const char * glfwGetJoystickName | ( | int | jid | ) |
This function returns the name, encoded as UTF-8, of the specified joystick. The returned string is allocated and freed by GLFW. You should not free it yourself.
If the specified joystick is not present this function will return NULL
but will not generate an error. This can be used instead of first calling glfwJoystickPresent.
| [in] | jid | The joystick to query. |
NULL
if the joystick is not present or an error occurred.| const char * glfwGetJoystickGUID | ( | int | jid | ) |
This function returns the SDL compatible GUID, as a UTF-8 encoded hexadecimal string, of the specified joystick. The returned string is allocated and freed by GLFW. You should not free it yourself.
The GUID is what connects a joystick to a gamepad mapping. A connected joystick will always have a GUID even if there is no gamepad mapping assigned to it.
If the specified joystick is not present this function will return NULL
but will not generate an error. This can be used instead of first calling glfwJoystickPresent.
The GUID uses the format introduced in SDL 2.0.5. This GUID tries to uniquely identify the make and model of a joystick but does not identify a specific unit, e.g. all wired Xbox 360 controllers will have the same GUID on that platform. The GUID for a unit may vary between platforms depending on what hardware information the platform specific APIs provide.
| [in] | jid | The joystick to query. |
NULL
if the joystick is not present or an error occurred.| void glfwSetJoystickUserPointer | ( | int | jid, |
| void * | pointer | ||
| ) |
This function sets the user-defined pointer of the specified joystick. The current value is retained until the joystick is disconnected. The initial value is NULL
.
This function may be called from the joystick callback, even for a joystick that is being disconnected.
| [in] | jid | The joystick whose pointer to set. |
| [in] | pointer | The new value. |
| void * glfwGetJoystickUserPointer | ( | int | jid | ) |
This function returns the current value of the user-defined pointer of the specified joystick. The initial value is NULL
.
This function may be called from the joystick callback, even for a joystick that is being disconnected.
| [in] | jid | The joystick whose pointer to return. |
| int glfwJoystickIsGamepad | ( | int | jid | ) |
This function returns whether the specified joystick is both present and has a gamepad mapping.
If the specified joystick is present but does not have a gamepad mapping this function will return GLFW_FALSE
but will not generate an error. Call glfwJoystickPresent to check if a joystick is present regardless of whether it has a mapping.
| [in] | jid | The joystick to query. |
GLFW_TRUE
if a joystick is both present and has a gamepad mapping, or GLFW_FALSE
otherwise.| GLFWjoystickfun glfwSetJoystickCallback | ( | GLFWjoystickfun | callback | ) |
This function sets the joystick configuration callback, or removes the currently set callback. This is called when a joystick is connected to or disconnected from the system.
For joystick connection and disconnection events to be delivered on all platforms, you need to call one of the event processing functions. Joystick disconnection may also be detected and the callback called by joystick functions. The function will then return whatever it returns if the joystick is not present.
| [in] | callback | The new callback, or NULL to remove the currently set callback. |
NULL
if no callback was set or the library had not been initialized.| int glfwUpdateGamepadMappings | ( | const char * | string | ) |
This function parses the specified ASCII encoded string and updates the internal list with any gamepad mappings it finds. This string may contain either a single gamepad mapping or many mappings separated by newlines. The parser supports the full format of the gamecontrollerdb.txt
source file including empty lines and comments.
See Gamepad mappings for a description of the format.
If there is already a gamepad mapping for a given GUID in the internal list, it will be replaced by the one passed to this function. If the library is terminated and re-initialized the internal list will revert to the built-in default.
| [in] | string | The string containing the gamepad mappings. |
GLFW_TRUE
if successful, or GLFW_FALSE
if an error occurred.| const char * glfwGetGamepadName | ( | int | jid | ) |
This function returns the human-readable name of the gamepad from the gamepad mapping assigned to the specified joystick.
If the specified joystick is not present or does not have a gamepad mapping this function will return NULL
but will not generate an error. Call glfwJoystickPresent to check whether it is present regardless of whether it has a mapping.
| [in] | jid | The joystick to query. |
NULL
if the joystick is not present, does not have a mapping or an error occurred.| int glfwGetGamepadState | ( | int | jid, |
| GLFWgamepadstate * | state | ||
| ) |
This function retrieves the state of the specified joystick remapped to an Xbox-like gamepad.
If the specified joystick is not present or does not have a gamepad mapping this function will return GLFW_FALSE
but will not generate an error. Call glfwJoystickPresent to check whether it is present regardless of whether it has a mapping.
The Guide button may not be available for input as it is often hooked by the system or the Steam client.
Not all devices have all the buttons or axes provided by GLFWgamepadstate. Unavailable buttons and axes will always report GLFW_RELEASE
and 0.0 respectively.
| [in] | jid | The joystick to query. |
| [out] | state | The gamepad input state of the joystick. |
GLFW_TRUE
if successful, or GLFW_FALSE
if no joystick is connected, it has no gamepad mapping or an error occurred.| void glfwSetClipboardString | ( | GLFWwindow * | window, |
| const char * | string | ||
| ) |
This function sets the system clipboard to the specified, UTF-8 encoded string.
| [in] | window | Deprecated. Any valid window or NULL . |
| [in] | string | A UTF-8 encoded string. |
| const char * glfwGetClipboardString | ( | GLFWwindow * | window | ) |
This function returns the contents of the system clipboard, if it contains or is convertible to a UTF-8 encoded string. If the clipboard is empty or if its contents cannot be converted, NULL
is returned and a GLFW_FORMAT_UNAVAILABLE error is generated.
| [in] | window | Deprecated. Any valid window or NULL . |
NULL
if an error occurred.| double glfwGetTime | ( | void | ) |
This function returns the current GLFW time, in seconds. Unless the time has been set using glfwSetTime it measures time elapsed since GLFW was initialized.
This function and glfwSetTime are helper functions on top of glfwGetTimerFrequency and glfwGetTimerValue.
The resolution of the timer is system dependent, but is usually on the order of a few micro- or nanoseconds. It uses the highest-resolution monotonic time source on each supported platform.
| void glfwSetTime | ( | double | time | ) |
This function sets the current GLFW time, in seconds. The value must be a positive finite number less than or equal to<PHONE_NUMBER>3.0, which is approximately 584.5 years.
This function and glfwGetTime are helper functions on top of glfwGetTimerFrequency and glfwGetTimerValue.
| [in] | time | The new value, in seconds. |
| uint64_t glfwGetTimerValue | ( | void | ) |
This function returns the current value of the raw timer, measured in 1 / frequency seconds. To get the frequency, call glfwGetTimerFrequency.
| uint64_t glfwGetTimerFrequency | ( | void | ) |
This function returns the frequency, in Hz, of the raw timer.
Last update on Fri Jul 22 2022 for GLFW 3.3.8


*** User 2017-05-05 21:04:29.347 ***
21:04:29.347 [info] Disabling blocking sync...
*** User 2017-05-05 21:04:29.351 ***
21:04:29.351 [info] Configured peer_service_manager partisan_default_peer_service_manager on node 'node-1@MacBook-Pro-de-Anne-France'
*** User 2017-05-05 21:04:30.813 ***
21:04:30.813 [info] Enabling membership...
*** User 2017-05-05 21:04:30.814 ***
21:04:30.814 [info] Disabling blocking sync...
*** User 2017-05-05 21:04:30.818 ***
21:04:30.818 [info] Configured peer_service_manager partisan_default_peer_service_manager on node 'node-2@MacBook-Pro-de-Anne-France'
*** User 2017-05-05 21:04:32.292 ***
21:04:32.292 [info] Enabling membership...
*** User 2017-05-05 21:04:32.293 ***
21:04:32.293 [info] Disabling blocking sync...
*** User 2017-05-05 21:04:32.298 ***
21:04:32.297 [info] Configured peer_service_manager partisan_default_peer_service_manager on node 'node-3@MacBook-Pro-de-Anne-France'
*** User 2017-05-05 21:04:32.520 ***
Joining node: 'node-3@MacBook-Pro-de-Anne-France' to 'runner@MacBook-Pro-de-Anne-France' at port 63180
*** User 2017-05-05 21:04:32.520 ***
Joining issued: 'node-3@MacBook-Pro-de-Anne-France' to 'runner@MacBook-Pro-de-Anne-France' at port 63180
*** User 2017-05-05 21:04:32.521 ***
Joining node: 'node-2@MacBook-Pro-de-Anne-France' to 'runner@MacBook-Pro-de-Anne-France' at port 63164
*** User 2017-05-05 21:04:32.521 ***
Joining issued: 'node-2@MacBook-Pro-de-Anne-France' to 'runner@MacBook-Pro-de-Anne-France' at port 63164
*** User 2017-05-05 21:04:32.522 ***
Joining node: 'node-1@MacBook-Pro-de-Anne-France' to 'runner@MacBook-Pro-de-Anne-France' at port 63151
*** User 2017-05-05 21:04:32.522 ***
Joining issued: 'node-1@MacBook-Pro-de-Anne-France' to 'runner@MacBook-Pro-de-Anne-France' at port 63151
*** User 2017-05-05 21:04:32.583 ***
Waiting for join to complete with manager: partisan_default_peer_service_manager
*** User 2017-05-05 21:04:32.584 ***
Finished.
*** CT 2017-05-05 21:04:32.584 *** COVER INFO
Adding nodes to cover test: ['runner@MacBook-Pro-de-Anne-France']
*** CT 2017-05-05 21:04:32.593 *** COVER INFO
Successfully added nodes to cover test: []
*** User 2017-05-05 21:04:32.620 ***
Case finished: stream_test
*** User 2017-05-05 21:04:39.663 ***
21:04:39.663 [info] Application lasp exited with reason: stopped
*** User 2017-05-05 21:04:39.664 ***
21:04:39.664 [info] Application partisan exited with reason: stopped
=== Ended at 2017-05-05 21:04:39
=== successfully completed test case
=== Returned value: ok
Test run history
| Top level test index


{{partial "therapy.html" (getCSV "," "therapy.csv")}} {{partial "surgery.html" (getCSV "," "surgery.csv")}}


Demystifying FFmpeg
This is a quick and dirty adaption of my ‘Demystifying FFmpeg’ talk! Includes an embedded version as well as useful links and cut/paste versions of some of the commands used in the slides.
Links:
Slides
Commands used in Slides
Most commands are written using macOS file paths unless otherwise specified. For windows users, substitute ~power.gif
for your output file.**
Slide 5
FFmpeg macOS Homebrew Install:
Install Homebrew by opening Terminal and following homebrew install instructions from https://brew.sh )
Then run:
brew install ffmpeg --with-sdl2
Alternately Download from here (OSX and Windows) https://ffmpeg.org/download.html
Slide 10
Caveat for following slides:
FFmpeg must be installed with freetype and openssl for the following slides. If already installed, run:
brew reinstall ffmpeg --with-freetype --with-openssl
Slides11/17
OSX Command:
ffmpeg -f lavfi -i testsrc = 500x500 -i http://github.com/privatezero/NDSR/raw/master/heman.tiff -filter_complex "[0:v][1:v]overlay=-30:55,drawtext=fontfile=/Library/Fonts/Andale Mono.ttf:text='I have the power':fontcolor=white:fontsize=40:box=1:boxcolor=black" -r 10 -t 5 ~/desktop/power.gif
Windows Command:
ffmpeg -f lavfi -i testsrc = 500x500 -i http://github.com/privatezero/NDSR/raw/master/heman.tiff -filter_complex "[0:v][1:v]overlay=-30:55,drawtext=fontfile=/Windows/Fonts/lucon.ttf:text='I have the power':fontcolor=white:fontsize=40:box=1:boxcolor=black" -r 10 -t 5 ~power.gif
Slide 12
ffmpeg -i http://github.com/privatezero/NDSR/raw/master/heman.tiff ~/desktop/power.gif
Slide 13
ffmpeg -f lavfi -i testsrc ~/desktop/power.gif
Slide 14
ffmpeg -f lavfi -i testsrc -r 10 -t 5 ~/desktop/power.gif
Slide 15
ffmpeg -f lavfi -i testsrc -vf vflip -r 10 -t 5 ~/desktop/power.gif
Slide 16
ffmpeg -f lavfi -i testsrc = 500x500 -i http://github.com/privatezero/NDSR/raw/master/heman.tiff -filter_complex "[0:v][1:v]overlay=-30:55" -r 10 -t 5 ~/desktop/power.gif


If you use ClusterGB, please make the appropriate citations. Bibtex entries are provided in the hyperlinks for your convenience.
Or (as of writing these docs):
cgb_run_voronoi.py
Huang et al.


ASRU 2019
We evaluted our method using our own Chinese Corpus.
Note: The augmented audios in the training set are also on their ways.


These cameras are deployed by the National Park Service at Glacier National Park and are linked from their webpage.


--- layout: post title: Soulflower Rosemary Soap tags: - Soulflower status: publish type: post published: true meta: _edit_last: '2' _aioseop_title: Soulflower Rosemary Soap review _aioseop_keywords: Soulflower Rosemary Soap review _yoast_wpseo_linkdex: '0' _thumbnail_id: '4560' _yoast_wpseo_focuskw: '' _yoast_wpseo_title: '' _yoast_wpseo_metadesc: '' _yoast_wpseo_metakeywords: '' _yoast_wpseo_meta-robots-noindex: '0' _yoast_wpseo_meta-robots-nofollow: '0' _yoast_wpseo_meta-robots-adv: none _yoast_wpseo_sitemap-include: ! '-' _yoast_wpseo_sitemap-prio: ! '-' _yoast_wpseo_canonical: '' _yoast_wpseo_redirect: '' ---
I have never tasted or sniffed an actual Rosemary... but I have seen it so many times on Masterchef Australia that people just keep running around it. Can someone suggest where to get it...
Price: Rs. 200
Claims: Energize your body and mind with this invigorating soap that reveals cleansed, luminous skin. The mild formula produces a rich, spicy-scented lather that rinses clean & refreshes the senses. The base of pure vegetable oils delicately nurtures skin while stimulating rosemary oil awakens the senses. Not only is rosemary antiseptic, it also helps tone and moisturize your skin. Perfect for all types of skin.
Contains: Rosemary essential oil, rosemary herb, Vitamin E, glycerin, aqua, saponified oils of olive, coconut, castor, palm & palm kernel.
First thing you notice about the soap, is the beautiful pink color. I love such bright color and who won't ?.. Since I have never come across rosemary, I seriously don't know how that smells. But in my words, it is like mild mint or eucalyptus smell, which I totally like. It has a mild and uniform granular texture which provides a gentle scrubbing action. Not very moisturizing for my dry skin and I need a good moisturizer after this.
As many other Soulflower soaps, this one also doesn't melt like crazy in washroom humidity.
If you are looking for an antiseptic soap, which smells good and looks good :P, go grab this one.
Did you love thw way this soap looks?


Next meetup: November 14
RSVP here. Sign up to present here. Location is Jigsaw Renaissance, at 815 Seattle Boulevard South, Room 112, Seattle, WA 98134.
RSVP here. Sign up to present here. Location is Jigsaw Renaissance, at 815 Seattle Boulevard South, Room 112, Seattle, WA 98134.


Profile Details
Following:
Followers:
First Name:
Last Name:
Email:
Phone:
Skills:
Bio:
Post
Type:
Weight:
Created At:
Edit Post
Delete
Body:
Category:
Education
Instructor
Tutoring
Computer
Mobile
Video
Copywriting
Gaming
Board Games
Music
Art
Gadget
Electronics
Books
Action Figures
Marketing
Other
Type:
Service
Product
Available?
Weight
Save Edits
Received Offers
Sent Offers
Rate
Finished Offers
Edit Profile
First Name:
Last Name:
Skills:
Bio:
Phone:
Image url:
Update


| stars {graphics} | R Documentation |
Draw star plots or segment diagrams of a multivariate data set. With one single location, also draws ‘spider’ (or ‘radar’) plots.
stars(x, full = TRUE, scale = TRUE, radius = TRUE, labels = dimnames(x)[[1]], locations = NULL, nrow = NULL, ncol = NULL, len = 1, key.loc = NULL, key.labels = dimnames(x)[[2]], key.xpd = TRUE, xlim = NULL, ylim = NULL, flip.labels = NULL, draw.segments = FALSE, col.segments = 1:n.seg, col.stars = NA, col.lines = NA, axes = FALSE, frame.plot = axes, main = NULL, sub = NULL, xlab = "", ylab = "", cex = 0.8, lwd = 0.25, lty = par("lty"), xpd = FALSE, mar = pmin(par("mar"), 1.1+ c(2*axes+ (xlab != ""), 2*axes+ (ylab != ""), 1, 0)), add = FALSE, plot = TRUE, ...)
x |
matrix or data frame of data.
One star or segment plot will be produced for each row of |
full |
logical flag: if |
scale |
logical flag: if |
radius |
logical flag: in |
labels |
vector of character strings for labeling the plots.
Unlike the S function |
locations |
Either two column matrix with the x and y coordinates used
to place each of the segment plots; or numeric of length 2 when all
plots should be superimposed (for a ‘spider plot’).
By default, |
nrow, ncol |
integers giving the number of rows and columns to use when
|
len |
scale factor for the length of radii or segments. |
key.loc |
vector with x and y coordinates of the unit key. |
key.labels |
vector of character strings for labeling the
segments of the unit key. If omitted, the second component of
|
key.xpd |
clipping switch for the unit key (drawing and
labeling), see |
xlim |
vector with the range of x coordinates to plot. |
ylim |
vector with the range of y coordinates to plot. |
flip.labels |
logical indicating if the label locations should flip up and down from diagram to diagram. Defaults to a somewhat smart heuristic. |
draw.segments |
logical. If |
col.segments |
color vector (integer or character, see
|
col.stars |
color vector (integer or character, see
|
col.lines |
color vector (integer or character, see
|
axes |
logical flag: if |
frame.plot |
logical flag: if |
main |
a main title for the plot. |
sub |
a sub title for the plot. |
xlab |
a label for the x axis. |
ylab |
a label for the y axis. |
cex |
character expansion factor for the labels. |
lwd |
line width used for drawing. |
lty |
line type used for drawing. |
xpd |
logical or NA indicating if clipping should be done, see
|
mar |
argument to |
... |
further arguments, passed to the first call of
|
add |
logical, if |
plot |
logical, if |
Missing values are treated as 0.
Each star plot or segment diagram represents one row of the input
x
. Variables (columns) start on the right and wind
counterclockwise around the circle. The size of the (scaled) column
is shown by the distance from the center to the point on the star or
the radius of the segment representing the variable.
Only one page of output is produced.
Returns the locations of the plots in a two column matrix, invisibly
when plot = TRUE
.
This code started life as spatial star plots by David A. Andrews.
Prior to R 1.4.1, scaling only shifted the maximum to 1, although documented as here.
Thomas S. Dye
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
symbols
for another way to draw stars and other symbols.
require(grDevices) stars(mtcars[, 1:7], key.loc = c(14, 2), main = "Motor Trend Cars : stars(*, full = F)", full = FALSE) stars(mtcars[, 1:7], key.loc = c(14, 1.5), main = "Motor Trend Cars : full stars()", flip.labels = FALSE) ## 'Spider' or 'Radar' plot: stars(mtcars[, 1:7], locations = c(0, 0), radius = FALSE, key.loc = c(0, 0), main = "Motor Trend Cars", lty = 2) ## Segment Diagrams: palette(rainbow(12, s = 0.6, v = 0.75)) stars(mtcars[, 1:7], len = 0.8, key.loc = c(12, 1.5), main = "Motor Trend Cars", draw.segments = TRUE) stars(mtcars[, 1:7], len = 0.6, key.loc = c(1.5, 0), main = "Motor Trend Cars", draw.segments = TRUE, frame.plot = TRUE, nrow = 4, cex = .7) ## scale linearly (not affinely) to [0, 1] USJudge <- apply(USJudgeRatings, 2, function(x) x/max(x)) Jnam <- row.names(USJudgeRatings) Snam <- abbreviate(substring(Jnam, 1, regexpr("[,.]",Jnam) - 1), 7) stars(USJudge, labels = Jnam, scale = FALSE, key.loc = c(13, 1.5), main = "Judge not ...", len = 0.8) stars(USJudge, labels = Snam, scale = FALSE, key.loc = c(13, 1.5), radius = FALSE) loc <- stars(USJudge, labels = NULL, scale = FALSE, radius = FALSE, frame.plot = TRUE, key.loc = c(13, 1.5), main = "Judge not ...", len = 1.2) text(loc, Snam, col = "blue", cex = 0.8, xpd = TRUE) ## 'Segments': stars(USJudge, draw.segments = TRUE, scale = FALSE, key.loc = c(13,1.5)) ## 'Spider': stars(USJudgeRatings, locations = c(0, 0), scale = FALSE, radius = FALSE, col.stars = 1:10, key.loc = c(0, 0), main = "US Judges rated") ## Same as above, but with colored lines instead of filled polygons. stars(USJudgeRatings, locations = c(0, 0), scale = FALSE, radius = FALSE, col.lines = 1:10, key.loc = c(0, 0), main = "US Judges rated") ## 'Radar-Segments' stars(USJudgeRatings[1:10,], locations = 0:1, scale = FALSE, draw.segments = TRUE, col.segments = 0, col.stars = 1:10, key.loc = 0:1, main = "US Judges 1-10 ") palette("default") stars(cbind(1:16, 10*(16:1)), draw.segments = TRUE, main = "A Joke -- do *not* use symbols on 2D data!")


Code of Conduct
Short Version
Write the Docs is dedicated to providing a harassment-free experience for everyone, regardless of gender, sexual orientation, disability, physical appearance, body size, race, or religion. We do not tolerate harassment of event participants in any form. Sexual language and imagery is not appropriate for any event venue, including talks. Event participants violating these rules may be sanctioned or expelled from the event without a refund at the discretion of the event organizers.
 Participants asked to stop any harassing behavior are expected to comply immediately.
Exhibitors & Sponsors
Exhibitors in the expo hall, sponsor or vendor booths, or similar activities are also subject to the anti-harassment policy. In particular, exhibitors should not use sexualized images, activities, or other material. Booth staff (including volunteers) should not use sexualized clothing/uniforms/costumes, or otherwise create a sexualized environment.
Participants
If a participant engages in harassing behavior, the event organizers may take any action they deem appropriate, including warning the offender or expulsion from the event with no refund. If you are being harassed, notice that someone else is being harassed, or have any other concerns, please contact a member of event staff immediately. Event staff can be identified by t-shirts/special badges.
Event staff will be happy to help participants contact hotel/venue security or local law enforcement, provide escorts, or otherwise assist those experiencing harassment to feel safe for the duration of the event. We value your attendance.
Venue & Social Events
We expect participants to follow these rules at all related venues and social events.
Staff Contact Information
Eric Holscher
-<EMAIL_ADDRESS>- +1<PHONE_NUMBER>
Anthony Johnson
-<EMAIL_ADDRESS>- +1<PHONE_NUMBER>
Troy Howard
-<EMAIL_ADDRESS>- +1<PHONE_NUMBER>
Mikey Ariel (EU)
-<EMAIL_ADDRESS>- +420 603 261 361
License
This Code of Conduct was forked from the example policy from the Geek Feminism wiki, created by the Ada Initiative and other volunteers, which is under a Creative Commons Zero license.


cards
| Name |
Description |
Image |
<% game.cards.forEach(function (card) {%>
| <%- card.name %> |
<%- card.description %> |
|
<% })%>
selected cards
<% game.selectedCards.forEach(function (card) {%>
| <%- card.name %> |
<%- card.description %> |
|
<% })%>
players
| name |
score |
status |
<% game.players.forEach(function (player) {%>
| <%- player.name %> |
<%- player.score %> |
<%- player.status %> |
<% })%>


What's all this about?
I've you've been to my talk in London, then you've already got this as homework. If not, allow me to fill in the details:
I was speaking about MySQL's programmatic nature in many aspects (best if you read the slides!). We discussed user defined variables, derived tables, ordering constructs, order of evaluation, time suspension and time calculation.
An issue I presented was that of a very long running query. Say it runs for 20 minutes. It kills your I/O.  It could terminate in 5 seconds from now, and if you kill it now, you lose everything. But it may yet run for 3 more hours!
We discussed a futuristic feature where the query would gracefully terminate after some designated time. However, futuristic wishes do not help us.
A self throttling query
I suggested the idea for a self throttling query. We know how to throttle writing queries, such as DELETE queries: we break them into small chunks, then work each chunk at a time, setting ourselves to sleep in between chunks. This is how --sleep and --sleep-ratio work in oak-chunk-update. It is how --sleep and --sleep-coef work in pt-archiver.
But can the same be done for SELECT queries?
The answer is: yes. And it can be done from within the query itself. And it's your job to do it.
So here are the rules:
- For simplicity, assume the SELECT executes over a single large table.
- We assume no GROUP BY, DISTINCT and the like.
- There can be WHERE, ORDER BY etc.
As an example:
SELECT rental_id, TIMESTAMPDIFF(DAY, rental_date, return_date) AS rental_days FROM sakila.rental
Here is the problem:
- The query takes too much disk I/O
Suggestion: make the query self throttling. We're going to make it run for a longer time, allowing for non-I/O periods within the query. We assume we are not bothered with locks.
Task #1
- Write a self throttling query: rewrite the query above such that for every 1,000 rows, it goes to sleep for 2 seconds.
Task #2
- Improve upon the previous solution: rewrite the query such that for every 1,000 rows, it goes to sleep for the same amount of time it took for those 1,000 rows to execute (effectively doubling the execution time of the query).
Advanced
- There are issues with security, but in principal it is possible to have the query go to sleep when actual disk I/O exceeds some value. Code it!
Prove it
devise a method to prove that sleeps do occur as required.
How to submit a solution?
- Simplest is to add as comment on this post. Use <pre>...</pre> for formatted code.
- You may also email me directly.
I will pick up the best solution according to correctness, elegance and time of submission.
The winners get glory: their names to be mentioned on this blog. Shall we save the discussion on the exact font face and size for later on?
UPDATE: it should have been clear from my talk: no stored routines involved!
UPDATE: solution is on: Self throttling MySQL queries
comments powered by Disqus


{% extends 'base_template.html' %} {% block body %}
"A Basic Income is an income unconditionally granted to all on an individual basis, without means test or work requirement" (Basic Income Earth Network, (BIEN)).
Basic Income is alternately referred to as a guaranteed annual income, citizen's income, citizen's dividend, social dividend, negative income tax, and others.
If you want to contribute to the project, upload a short video to YouTube starting with "If I had a guaranteed basic Income I would..." and talk about how Basic Income would impact you personally -- just be sure to include "#thebigscaryidea" somewhere in the video title so our app can pick it up.


There are two types of commit access: full and partial. Full
means anywhere in the tree, partial means only in that committer's
specific area(s) of expertise. The processes AnkhSVN uses to get
commit access is copied from the Subversion community.
 This proposal is sent only to the other full
committers -- the ensuing discussion is private, so that everyone
can feel comfortable speaking their minds. Assuming there are no
objections, the contributor is granted commit access. The decision
is made by consensus; there are no formal rules governing the
procedure, though generally if someone strongly objects the access
is not offered, or is offered on a provisional basis.
The primary criterion for full commit access is good judgment.
You do not have to be a technical wizard, or demonstrate deep
knowledge of the entire codebase, to become a full committer. You
just need to know what you don't know. If your patches adhere to
the coding guidelines, adhere to all the usual unquantifiable rules
of coding (code should be readable, robust, maintainable, etc.),
and respect the Hippocratic Principle of "first, do no harm", then
you will probably get commit access pretty quickly. The size,
complexity, and quantity of your patches do not matter as much as
the degree of care you show in avoiding bugs and minimizing
unnecessary impact on the rest of the code.
 Usually this means
the full committer has applied several patches to the same area
from the proposed partial committer, and realizes things would be
easier if the person were just committing directly. Approval is not
required from the full committers; it is assumed that sponsors know
what they're doing and will watch the partial committer's first few
commits to make sure everything's going smoothly.
Patches submitted by a partial committer may be committed by that
committer even if they are outside that person's domain. This
requires approval (often expressed as a +1 vote) from at least one
full committer. In such a case, the approval should be noted in the
log message, like so:
Approved by: arild
Any full committer may offer anyone commit access to an
experimental branch at any time. It is not necessary that the
experimental branch have a high likelihood of being merged to trunk
(although that's always a good goal to aim for). It's just as
imporant that the full committer — all the full committers,
actually — view such branches as training grounds for new
developers, by giving feedback on the commits. The goal of these
branches is both to get new code into Subversion and to get new
developers into the project.


Ramaphosa appoints 15 new High Court judges
by Azarrah KarrimPresident Cyril Ramaphosa has appointed 15 new judges in various divisions of the High Court.
In a statement on Monday, Presidency spokesperson Khusela Diko said the Judicial Services Commission had met in October to interview candidates for the High Court bench and the Electoral Court.
The process was chaired by Chief Justice Mogoeng Mogoeng.
Based on the commission's recommendations, the following people have been appointed:
• Justice Ronald Deon Hendricks as a Deputy Judge President of the North West Division of the High Court, with effect from December 1, 2019;
• Advocate Phillip Horatius Sigqolo Zilwa SC as a Judge of the Eastern Cape Division of the High Court, Bisho, with effect from June 1, 2020;
• Advocate Motilal Sunil Rugunanan as a Judge of the Eastern Cape Division of the High Court, Grahamstown, with effect from December 1, 2019;
• Justice Bulelwa Myra Pakati as a Judge of the Eastern Cape Division of the High Court, Port Elizabeth, with effect from January 1, 2020;
• Advicate Nyameko Wellman Gqamana SC as a Judge of the Eastern Cape Division of the High Court, Port Elizabeth, with effect from January 1, 2020;
• Nokuthula Sylvia Daniso SC as a Judge of the Free State Division of the High Court, with effect from January 1, 2020;
• Advocate Avrille Maier-Frawley as a Judge of the Gauteng Division of the High Court, with effect January 1, 2020;
• David Makhoba as a Judge of the Gauteng Division of the High Court, with effect from January 1, 2020;
• Advocate Moleboheng Mamorena Pascalina Mdalana-Mayisela as a Judge of the Gauteng Division of the High Court, with effect from January 1, 2020;
• Shanaaz Christine Mia as a Judge of the Gauteng Division of the High Court, with effect from January 1, 2020;
• Marcus Lekgaloa Senyatsi as a Judge of the Gauteng Division of the High Court, with effect from January 1, 2020;
• Elmarie Van Der Schyff as a Judge of the Gauteng Division of the High Court, with effect from January 1, 2020;
• Advocate Rean Strydom SC as a Judge of the Gauteng Division of the High Court, with effect from January 1, 2020;
• Advocate Deidre Susan Kusevitsky as a Judge of the Western Cape Division of the High Court, with effect from December 1, 2019; and
• Advicate Hayley Maud Slingers as a Judge of the Western Cape Division of the High Court, with effect from December 1, 2019.
"The President has expressed his appreciation to the Judicial Services Commission for identifying Justices who are capable of serving the nation and has expressed his best wishes to the newly appointed Judges in their new roles," Diko said.


Watch: Kevin Gates Names The Best + Worst Things He’s Spent Money On
by Team SOHHLouisiana rapper Kevin Gates has enjoyed the highs and lows money brings with it. The hip-hop veteran recently chopped it up on the best – and worst – things he’s dropped hard-earned cash on in the past. Watch and comment below!


Previous Releases
Version 0.3.4
What's new?
- Bug fixes
-
Correction of bugs reported from previous versions.
- Incorrect parsing of IDL defintions.
Version 0.3.3
What changed?
- Minor changes for compatibility with new Lua version.
- Changes in the package for conformance with Lua 5.1 and LuaSocket 2.0.
Version 0.3.2
What changed?
- Fragmented socket stream bug fix (concurrent mode only).
- Correction of bug on handling of stream data received in chunks due to large messages or small network bandwith.
Version 0.3.1
What's new?
- Naming Service
- An implementation of a Naming Service in Lua using the OiL ORB.
- Support for IDL pre-processor directives
- LuaIDL now provides native support for pre-processor directives. It used to depend on a command-line C pre-processor.
What changed?
- Field
_anyval
for values of typeany
. - Values of type
any
are mapped to a table that stores at field_anyval
the actual value of theany
.
Version 0.3
What's new?
- Cooperative Concurrency
- Support for concurrent request handling and method invocation by the use of co-routines implemented by Lua. See demo 'concurrency' for more details.
- Customization
- Better module organization enabling the use of reduced versions of OiL. See demo 'minimal' for more details.
- Dynamic Adaptaion
- Support for ORB adaptation due to changes on interface definitions. See demo 'adapt' for more details.
- Remote Interface Repository
- Support for retrieving interface definitions from a remote IR. Use the operations
oil.setIR(ir)
andoil.getIR()
to define the remote IR to be used. - Integrated Interface Repository
- All definitions handled by OiL are accessible though the IR interfaces of CORBA. Use operation
oil.getLIR()
to get a reference for the integrated IR - Interface Probing Operations
- Objects exported by OiL implement the operations
_is_a
and_interface
for probing object interface definitions. - Absolute Name Support
- Support for the use of interface absolute name on
oil.newproxy
,oil.newobject
andoil.narrow
operations. - Explicit ORB Initialization
- OiL Main ORB can be explicitly initialized by the operation
oil.init(config)
. However, it is still implicitly initialized at invocation of oil.newproxy or oil.newobject operations. - Pre-Compiled Libraries
- Makefiles can create a library with all Lua scripts precompiled, so it can be embedded into applications or dynamically loaded using the package model of Lua 5.1.
- IOR File Operations
- Addition of operations for reading and writing IOR stored in files.
- Lua 5.1 alpha
- Conformance to Lua 5.1 alpha
What changed?
- Operation _get_ior
- Changed to _ior to avoid name conflict with a possible attribute named 'ior'.
- Get stringfied IOR
- Should be oil.ior.encode(objref) instead of oil.ior.encode(objref._ior).
Version 0.2
What's new?
- Bug fixes
-
Correction of bugs reported from previous versions.
- Alignment of double values
- Corbaloc references
- Support for object references in the corbaloc format.
- Existency Probing Operation
- Both OiL proxies and objects implement the
_non_existent
operation (as well as its alias _not_existent). - IDL from Strings
- Support for loading IDL definitions from strings by operation
oil.loadidl(idlcode)
. - Lua 5.1 work6
- Conformance to Lua 5.1 work6
What changed?
- Loading IDL Operations
- Operation
oil.loadidl(filepath)
changed tooil.loadidlfile(filepath)
. The operationoil.loadidl(idlcode)
is used to load IDL definitions from strings
Version 0.1
What's new?
- Installation Package
- Makefiles for compilation of the bit manipulation library and installation of Lua files, both in Unix and Windows systems.
- Verbose Feature
- Debugging messages over different aspects of the ORB.
- Lua Packages
- Implementation in conformance with the new package model for Lua 5.1.
What changed?
- Project Name
- Project changes name to OiL. Used to be called O2 and Orbinho.
- Major Review
- Implementation completely revisited. Correction of problems and performance improvement. Gains measure up to 20%.
- Main API
- Major changes on the OiL API. Particularly, all operations are stored in proper namespace tables.
- Type Mapping
- The mapping of CORBA constructed types changed completely to improve marshalling performance.


-
Syntax errors: won't even run
-
Runtime errors: runs but crashes
-
Logic errors: runs fine but doesn't do what you wanted
Good Habits for Avoiding Bugs
Write short bits of code at a time & run the code frequently
Try bits of code in Python shell first
Plan your code before you start writing
Close things as soon as you open them
Organization: Classes and methods should each have a single responsibility
Don't repeat yourself (DRY)
Use a good text editor & use its shortcuts
Using meaningful names (for variables, functions, classes)
Use best practices (eg. avoid global variables)
- Read the error messages
- message (all of it!)
- line number
- stack trace
Print things to the screen
Experiment in Python shell
Rubber duck debugging: explain the problem to someone else
"Sanity check": try something drastic, simple, and predictable to verify your understanding
Use a debugger to set breakpoints


It can be said, that when the universe converges all possibilities to a single night of magnificence, that all those present will be affected in different and profound ways. For me and many of my friends, this occurrence took place in the last summer of the old millennium, on a warm July night at wreck beach.
We had all come here on previous nights in the summer, and discovered that it was a very reliable and safe place to purchase psychedelic, and other such drugs. Being that it was a clear night, and with nothing else to do, me and several other friends decided to head down to the beach to see what was happening.
Upon arrival, we all purchased a few grams of northern lights, which is an exceptionally good strain of Mary Jane. After sharing this herb with each other and few travelling musicians from Arizona, I decided that tonight I wanted to have my second experience with the magic mushrooms. This was also the case for a few others in the group, and we departed the circle in order to scan the beach for a suitable dealer. We ended up buying from a large African man with several earrings, who offered to sell them at a buy three grams – get one free rate, at five dollars a gram. This being a very good deal, we all agreed, and I purchased three grams. This would normally be more than enough for a dose, but because I got an extra gram for free I decided to go for it all and eat four.
Returning to the now crackling campfire where the rest of my friends were, I listened to the mellow rhythms of the drums and smoked another bowl as I anticipated the excitement of the night to come. As the sun began it’s beautiful sunset in the distance, I felt the first real effects of the mushrooms. I remarked to my friends that I was feeling a little bit surreal and someone replied that in half an hour I would be very high.
I started to get scared that I had perhaps eaten to many shrooms, and that I might freak out and have a bad trip, but I grounded myself and remained calm. Then, just as the sun slipped behind the horizon, a lightning storm in the distance erupted into a frenzy of glory. Lightning came crashing down into the ocean over by Delta. “This is so crazy!” I remarked as we began to walk towards a log that was pointing out into the ocean. We all walked along the log to the end and we were surrounded by water on both sides, and when I stepped onto the water, expecting to “pull a Jesus” and surprise everyone, I found myself knee deep in the ocean.
That is when things really started to get fun. I could feel myself merging with the ocean, and could feel myself as I washed onto the beaches of Japan in endless waves. Just then, the lightning flashed, and brought me back to where I was, and I felt like I could feel an electrical charge go through me when the lightning hit the water. Thinking that perhaps this was not such a good idea to stand there, I started walking back to the growing campfire where I could hear drums and singing and guitar. It took my by then tripped out friends and I quite a while to get back, as we had to maneuver around the many large sand snakes, which I realize no to be logs.
When we got back to the campfire, I noticed there were many people there, all of different races and backgrounds, who all got along on the common basis of love for music, campfires, sunsets, entheogens, and lightning. The music started to take on a life of it’s own and wrap me around it and show me the forgotten corners of my mind. I have never felt such a pure connection to everything that is, and time and space and myself disappeared and all that was left was what I can only assume to be what we call God. This was the peak of my experience and I have drawn inspiration from it to this very day. Remembering that moment is what gets me through a lot of though days.
Well, after many hours of extreme fun and excitement and an incident involving a talking Bengal tiger made of galaxies, the visual effects began to diminish, and the sun began to rise. We all gathered again, climbed the stairs back to the city, and took the long bus ride home to normal reality. This was by far one of the best nights of my life and something that has changed my awareness significantly for the better. If that is illegal than arrest me, but I’ll never forget that experience.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


The User Interface (UI) is made of Web Components.
The UI is enclosed by a single xf-form
element. There are two kinds of components - simple controls and
container controls. Controls are bound to data items via their bind
attribute.
Fore comes with a consistent, ready-made set of the most important components. However it is assumed that the collection grows driven by need.
Fore does not allow to directly use native controls like input
or select
.
Instead these are wrapped into components with a xf- prefix (xf-input, xf-select,...).
The reason for that is simple: it allows to attach the necessary logic for the consistent handling of state and makes sure that the control plays by the rules. This could have been applied to the native controls either but to the price of added complexity in the codebase.
In Fore the xf-abstract-control
implements the core of the data-binding and property updating already.
All controls inherit from XfAbstractControl
class and usually require minimal code to eventually
attach custom eventhandlers or apply custom behavior for updating. New Components can thereby be added with very
little effort.
Container components may contain other container or simple components.
| Component | Description |
| xf-dialog | shows a modal dialogbox |
| xf-group | groups a set of controls. As groups can be bound they can change their relevance to hide/show parts of the UI. |
| xf-repeat | Repeat binds to a set of values generating user interface controls for each of them. |
| xf-switch | Defines parts of the user interface to be switchable on and off displaying on of them at a given time. |
| xf-case | Container for a single view defined by a xf-switch . |
| Component | Description |
| xf-button | wrapper for native HTML button |
| xf-input | wrapper for native HTML input control |
| xf-material-button | Material Design button |
| xf-material-input | Material Design input control |
| xf-material-select | Material Design select control |
| xf-output | outputs a value |


MySQL Backend
This notes detail the MySQL backend for the Roundup issue tracker.
Prerequisites
To use MySQL as the backend for storing roundup data, you also need to install:
- MySQL RDBMS 4.0.18 or higher - http://www.mysql.com.  If you’re running < 4.0.18 (but not <4.0) then you’ll need to use BDB to pass all unit tests. Edit the roundup/backends/back_mysql.py file to enable DBD instead of InnoDB.
- Python MySQL interface - http://sourceforge.net/projects/mysql-python
Running the MySQL tests
Roundup tests expect an empty MySQL database. Two alternate ways to provide this:
If you have root permissions on the MySQL server, you can create the necessary database entries using the follwing SQL sequence. Use mysql on the command line to enter:
CREATE DATABASE rounduptest; USE rounduptest; GRANT ALL PRIVILEGES ON rounduptest.* TO rounduptest@localhost IDENTIFIED BY 'rounduptest'; FLUSH PRIVILEGES;
If your administrator has provided you with database connection info, see the config values in ‘test/db_test_base.py’ about which database connection, name and user will be used.
The MySQL database should not contain any tables. Tests will not drop the database with existing data.
Showing MySQL who’s boss
If things ever get to the point where that test database is totally hosed, just:
$ su -
# /etc/init.d/mysql stop
# rm -rf /var/lib/mysql/rounduptest
# /etc/init.d/mysql start
and all will be better (note that on some systems, mysql is spelt mysqld).


A collection of small generative art experiments
Description style:
Standard
Techy
Journo
-
Shards
repainting images with random strokes
approximating images with a low-sample Monte Carlo simulation
will AI make artists obsolete?
-
Swirl
an ever-changing dance of colors
cycling through the HTML5 canvas composition operations
California teen goes into seizure looking at this
-
Strings
various line arrangements for the same points
visualizing random permutations of a random set of points
You will not believe what you can do with a piece of thread!


OpenSolaris
Collectives
Discussions
Documentation
Download
Source Browser
Free CD
Log-in
|
en
Project tickless
:
Tasks
>
clock() and lbolt
Top Menu
View
:
Comments
Attachments
History
Information
View Source
Print
:
Print preview
Export as PDF
Export as RTF
Export as HTML
Export as XAR
Attachments for
clock() and lbolt
No attachments for this document
Search
Project tickless Pages
Testing
clock() and lbolt
Files
Tasks
Event based load avg
clock() and lbolt
Tick Accounting
Time Adjustment
Subsites
Code Reviews
Code Repositories
Package Search
Bugster
Bugzilla
Test Machines
Planet
Mailing Lists
Elections & Polls
ARC Case Logs
Source Juicer
Package Factory
User Authentication


neon
genesis
evangelion
Episode:
Random
It looks best in Google Chrome™
Made by
Rezuaq
(
Sibert Aerts
)
Neon Genesis Evangelion created by uhhhh
my boy Hideaki Anno
Check out the source code on github
Current randomness:
.


Minimum opening balance
Lock-in period
Type
Is Apply Withdrawal fee for transfers?
Balance Required For Interest Calculation
Is Enforce minimum balance?
Minimum balance
Is Overdraft Allowed?
Maximum Overdraft Amount Limit
Nominal annual interest for overdraft
Min Overdraft Required For Interest Calculation
Is Withhold tax applicable?
Tax Group
Is Enable Dormancy Tracking?
Number of Days to Inactive sub-status
Number of Days to Dormant sub-status
Number of Days to Escheat


If this checkbox is selected, IntelliJ IDEA Maven Modules will be created for each module included in the pom.xml file of an aggregative project, provided that its packaging is set to 'pom'.


menu
search
Search
Sign in
arrow_drop_down
Sign in
Register
shopping_cart
search
Search
Sign in
arrow_drop_down
Sign in
Register
LUGGAGE
TRAVEL ACCESSORIES
CLOTHINGS
SPECIAL PACKAGES
PACKING TIPS
LUGGAGE
TRAVEL ACCESSORIES
CLOTHINGS
SPECIAL PACKAGES
PACKING TIPS
30% off Travel Bags
Excellent Multitasker
Shop now
30% off Travel Bags
Excellent Multitasker
Shop now
Best Carry On
The One You Always Want
Shop now
Best travel set
All the makeups you need
Shop now
Packing Tips >>
Everything you should know to travel efficiently
Packing for outdoor advantrue >>
4 ways to pack for your kids >>
How to organize your eletronics >>
Business trips in a carry on >>


College courses I should have taken 2009/04/09
Yesterday, I read through A List Apart’s 2008 Survey and the Relevance of Education [1] section tricked me into reflecting on my time at Wash U. My professors taught me all about performance and time complexity, data structures, operating systems, circuits and hardware architecture (I am a hardware designer by education). All of this, save the direct design of new hardware, has been immensely helpful in my first two years as a Real Boy™.
Since yes-or-no questions are kind of boring, I reflected further on what my college education lacked — courses I wish I’d taken. While I was working for Flickr and recruiting for Yahoo!, I spent a part of each visit to Wash U encouraging the Computer Science department to get serious about web programming. The result was an ostensibly senior-level course that guided students through LAMP, Rails, databases and JavaScript plus the protocols/standards they build upon: HTTP, HTML and CSS. It was a great addition to the program and I hope it’s still around. Though I’ve not kept up my course-list evangelism, I now have several more courses I wish I’d taken.
Network algorithms
The algorithms course that I took focused on efficient computation on a single node. Wash U offered an Advanced Algorithms course that, in retrospect, I should have taken. I hope such a course covers network-aware algorithms like map/reduce, gossip and P2P protocols, queuing and distributed hash tables (Chord [2], etc.). These topics become required knowledge when you start talking about “Internet scale” anything.
Managing disk I/O
This course definitely doesn’t exist. Academics are big fans
of pretending they have infinite I/O capacity but they do students a
disservice by hand-waving one of the largest time-sinks in all of
computing. I have learned a lot by reading papers and blog posts
produced by my more experienced peers and even more by
trial-and-error. Topics for such a course include write-ahead logs
(and all of the other things InnoDB does), aio
and its effect
on performance plus some time to address concurrency as it pertains to
disk performance. Engineering school should prepare people for reality
and I can’t thing of anything more real than iowait
.
Lock-less data structures
I’m not certain this doesn’t exist at Wash U. The
Drizzle mailing list [3]
made mention of lock-free data structures, a topic I haven’t given
much thought to beyond using concurrent_hash_map
from the
Intel TBB [4]. Not
surprisingly, the design of these libraries is difficult and
theoretical — you have to prove correctness since so
much is left to chance. Academics love proofs, right?
OS kernels
I took Wash U’s senior-level Operating Systems course but never
got around to taking the graduate-level version. The former focused
on libc
, system calls, threading and writing programs that
behave like UNIX programs. The latter dives into the Linux kernel
itself. I don’t anticipate becoming a kernel hacker anytime
soon but having deep knowledge on the design of the Linux kernel would
definitely make me a better software architect.
More econ
I took up through intermediate microeconomics and wish I had learned more. I don’t have the solutions to the world’s problems and I still wouldn’t even if I knew more but I would understand the expert’s opinions more thoroughly.
Anything I’m missing? I’m curious what others wish they’d taken in college, especially those who have been at it professionally for more than two years.


HC declines to discharge ‘Maasthi Gudi’ film producer
Court says there is material evidence against him
by Special CorrespondentThe Karnataka High Court has upheld the trial court’s order of refusing to discharge Sundar P. Gowda, producer of Kannada film Maasthi Gudi, in connection with the drowning of two actors during the shooting of the film in the backwaters of Tippagondanahalli reservoir in November 2016.
Justice B.A. Patil said that no good grounds were put forward to interfere with the August 17, 2019 order of the Additional District and Sessions Court, Ramanagaram, which had refused to discharge him from the case while pointing that there is material evidence against him to proceed with the trial by framing charges.
The High Court also noticed that allegations made in the charge sheet that the petitioner had not taken sufficient precautions during the shooting, and the climax scene where two villains were made to jump into the reservoir from a helicopter was forced on them after packing up of shooting, are required to be tried during trial.


Solid‐state molecular structure of 2; 24 ellipsoids are drawn at the 40 % probability level; H atoms are omitted for clarity; selected bond lengths [Å] and bond angles [°]: P1‐P2: 2.3149(14), C1‐P1‐C5: 92.99(17), C6‐P2‐C10: 99.58(19), fold angle C1‐P1‐C5: 32.64, fold angle C6‐P2‐C10: 14.79.


Welcome to text-summarization’s documentation!¶
Introduction¶
This project is an auto text summarization build in python with Spacy and Universal Sentence Encoder on Flask framework.
Automatic summarization is the process of shortening a text document with software, in order to create a summary with the major points of the original document. -Wikipedia
This project was inspired by work of Praveen Dubey in Understand Text Summarization and create your own summarizer in python.
The summarization uses the Universal Sentence Encoder[1] with the deep learning framework of TensorFlow, SpaCy for linguistic and NetworkX for ranking. The project itself is a RestAPI script build with Flask framework.
The algorithm steps are as follows:
Read the given text and splitting it into sentences using SpaCy.
Generate sentences pairs cosine similarity score based on their dimensional vectors with TensorFlow graph and the Universal Sentence Encoder as an embedding layer (see network architecture picture below).
Generate similarity matrix across the sentences and rank them using NetworkX implementation of PageRank.
Sort the rank sentences and pick the top ones according the user’s input.
TensorFlow graph with the Universal Sentence Encoder¶
References¶
[1] Daniel Cer, Yinfei Yang, Sheng-yi Kong, Nan Hua, Nicole Limtiaco, Rhomni St. John, Noah Constant, Mario Guajardo-Céspedes, Steve Yuan, Chris Tar, Yun-Hsuan Sung, Brian Strope, Ray Kurzweil. Universal Sentence Encoder. arXiv:1803.11175, 2018.


"Colombia has more than 45 years of export experience in the flower chain. It's the first supplier for the United States and the second largest exporter of fresh flowers to the world.
With more than 1,500 varieties of flowers identified and more than 7,000 hectares cultivated, Colombia has the ideal conditions for the cultivation of a wide variety of flowers and allows the production of them throughout the year due to the fertile soil and climatic conditions."
In the visualization below it's presented the colombian flowers exportation information since january 2006 to february 2018. The data was published by colombian Ministry of Agriculture in the open data web page for colombia www.datos.gov.co.
filter_list Hover your mouse over the departments and country names to get more information and use the following select box to filter the results by year.
Dataset Type: Network.
Items(Nodes): Place (Colombian departments and Countries)
Link: Department → Country
Attributes:


@* * Copyright 2023 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @import include._ @import uk.gov.hmrc.thirdpartydeveloperfrontend.domain.models.controllers.Crumb @import uk.gov.hmrc.thirdpartydeveloperfrontend.domain.models.controllers.ApplicationViewModel @import uk.gov.hmrc.thirdpartydeveloperfrontend.domain.models.developers.DeveloperSession @import uk.gov.hmrc.thirdpartydeveloperfrontend.controllers @import uk.gov.hmrc.thirdpartydeveloperfrontend.controllers.DeleteRedirectConfirmationForm @this(devMain: DevMainWithFormErrors, leftHandNav: LeftHandNav) @(applicationViewModel: ApplicationViewModel, form: Form[DeleteRedirectConfirmationForm], redirectUri: String)(implicit request: play.api.mvc.Request[Any], loggedIn: DeveloperSession, messages: Messages, applicationConfig: ApplicationConfig, navSection: String = "redirects") @application = @{applicationViewModel.application} @devMain( form, title = "Delete a redirect URI", userFullName = loggedIn.loggedInName, breadcrumbs = Seq( Crumb.application(application), Crumb.viewAllApplications, Crumb.home ), leftNav = Some(leftHandNav(Option(applicationViewModel), Option(navSection))), developerSession = Some(loggedIn) ) {
@redirectUri
@helper.form(action = controllers.routes.Redirects.deleteRedirectAction(application.id), Symbol("class") -> "form") {


The semi-independant island of Rodrigues lies about 560 km east of the main island of Mauritius. It is surrounded by a reef.
It is recommended to approach Rodrigues from the east whenever possible. Approaching from the northeast, north, or northwest Will result in a very long slog to windward.
The capital, Port Mathurin, is on the eastern end of the north coast. Port Sud Est and Hermitage Island are on the southern side.
Position 19° 40'53"S, 63° 25'04"E (port entrance)
For full details of Mauritius Formalities go here.
Clearance can be obtained in Port Mathurin on Rodrigues island. This clearance is only valid during the stay in Rodrigues and one must clear in again on arrival in Mauritius (or clear in again in Rodrigues if you have already cleared into Mauritius).
A Shipping Agent is NOT required for clearance in Rodrigues.
Call "Rodrigues Coastguard" on VHF channel 16 when several miles out and advise of ETA. Call them again on your approach. Note that night time arrivals are not permitted to enter port. In this case you will need to anchor off until daylight.
The Coastguard will phone the Port Captain on your behalf to get permission for you to enter the harbour.
Tie up to the commercial dock on arrival. If a supply ship is at the dock you will have to anchor off until it departs. Wait for the officials. Health, Coast Guard, Customs, Immigration and the Port Captain will all come to the boat. All the officials are reported to be very friendly.
Clearing-In
Upon arrival you can request a 30, 60, or 90 day tourist visit. If you wish to stay longer, ask Immigration, who are normally very helpful. Under most circumstances yachts are permitted to stay in Rodrigues/Mauritius waters for a maximum of 90 days. A bond worth 10% of the value of the yacht is required for boats staying longer.
This detailed report by SV YOLO who visited Rodrigues in May 2015 gives some very useful clearance and passage information for the Island. Note however that since this report was made a new Port Captain has started here who seems to not want to leave his office and rarely answers on the VHF.
If you intend to go to Port Sud Est, advise the local authorities upon arrival.
Clearing-Out
You must clear-out of Rodrigues if you are heading off to Mauritius, Saint Brandon, or another country. At least 24 hours prior to leaving, inform Immigration at their office in the police station next to the courthouse that you plan to depart.
If you are lucky, they will contact the Coastguard for you, then Customs (who are on the 1st floor above the Bank of Mauritius office). With both of these arrange a meeting and they will attend the office at the port entrance at the pre-arranged time to clear you out.
If clearing out during the weekend, holidays, or prior to 0900 on week days, be prepared to pay overtime charges.
Note that after clearing out you nor your crew can leave the yacht and you must depart before sunset. Call the Port Captain on VHF Ch. 16 to request permisison to depart (he may or may not answer).
The meteorological office is extremely helpful and forecasts are made available free of charge to departing yachts.
Fees
Monday to Friday (normal business hours):
Health: 647 MR (approx. $18 USD)
All other agencies are free.
Saturday, Sunday, and Holidays (overtime charges):
Health: Fees as above plus approx. $30 USD
Customs, after 12:00 Saturday: $45 USD
Customs, Sundays and holidays: $55 USD
Note: Some officials will expect a "consideration" of about $8 USD for clearing out prior to 0830 on a weekday.
Last updated June 2016.
Port Mathurin
The port has been dredged and the buoyage no longer accords with some charts. Also, be aware that some electronic charts may not be accurate.
Port Mathurin is closed at night and the Port Captain does NOT permit ANY vessels to enter or depart the port at night. If you find your arrival is in the dark, you can anchor in the bay just outside the channel leading to the harbour. Here there is a sandy bottom and good protection from all directions, except the north (see photo provided by SY Flow - Nov. 2013).
Some yachts remain tied to the commercial dock after clearance which is free, however you will have to move to the anchorage for a day or two when the weekly supply vessel comes in every other week.
The anchorage outside the approach channel is safer if intending a long stay on the hook, but open to the North and a long dinghy ride into town.
The anchorage inside the port where boats head when the supply boat visits, is approx. 100m to the north of the wharf in 9m of water, mud bottom, and can hold approx. 12 yachts. Strong winds from the west, north, or east can whip through the anchorage however holding here is good. The anchorage is surrounded by a drying reef and concrete walls and a current runs through the anchorage as well, so take care not to drag your anchor.
Port Sud Est
Anchorage west of Hermitage island in 8-10m in sand. Good holding. Well protected from SE swells by extensive reef barrier.
Last updated July 2015.


By encouraging children to make short, fun and practical programmes, we supplement KS2 & KS3 maths and computing with real world skills such as design. A canonical example is teaching children about angles, length, functions and some basic algebra by showing them how to get a Robot Turtle to move around a table-top. Our Labs cover a number of text and non-text based languages, introduce several key concepts in maths, computing and design to get kids making fun new projects. Coding really is the new lego.
70% of primary school teachers say they feel uncomfortable teaching the new computing syllabus that started in 2014. We want to change this, and show how computing can be both intuitive and magical at the same time. Our workshops cover an introduction to computer science history, help teachers to build their first programme and explain basic concepts along the way, and finally we introduce some tools for using in class.
Turing Lab believes that a quality computer science education should be available to every child, not just a lucky few. We believe that learning to code is valuable, and possible, for everyone! This means that we work with children and teachers from all backgrounds and abilities, working with schools to ensure we provide an inclusive education for all.
Turing Lab believes that education should be less about memorizing facts, or learning how to use particular tools and technologies. Instead it’s important to realise that programming is more that just writing code in any particular language - it is a way of thinking that is both creative and logical. We teach key concepts and skills that span across curriculums.
Turing Lab believes that you cannot learn computing or maths by simply reading about it. We teach the way we learn best; encouraging students to spend time practicing computer science by building things and engaging in discovery by pulling things apart. This encourages curiosity which we have seen motivates children into doing this themselves.


En/Disable the mobile Wifi Access Point of the device.
You can define a custom WiFi AP name and a password as credentials for other people.
It automatically disabled WiFi if it was enabled.
This method is available for Android 6 or older only!
Example - WiFi Access Point
function OnStart()
{
lay = app.CreateLayout( "linear", "VCenter,FillXY" );
tgl = app.CreateToggle( "WiFi Access Point", -1, 0.1 );
tgl.SetOnTouch( tgl_OnTouch );
lay.AddChild( tgl );
app.AddLayout( lay );
}
function tgl_OnTouch( enable )
{
if( enable ) app.SetWifiApEnabled( true, "DS Wifi AP", "mypass" );
else app.SetWifiApEnabled( false );
}


'Navshree',an organisation related to the traditional Dhol Tasha troupe was
established in 2017 with the intention by Mr. Mahesh (Founder), to bring
people from all sections of the society together for our beloved ' BAPPA'.
'Navshree', was formed by few experienced shoulders with 3 Dhols, 1 Tashas and 1
Dhwajs.The count today has reached 35+ Dhols,10+ Tashas and 6+ Dhwajs.'Navshree',at
the very beginning had 10 members aged from 10 to 65.The count today has reached a
whooping 40 members and still counting. The troupe has seen a rise in the number of
women participation in the past years.