used, otherwise the associated resources will be leaking. The generation of the
3D object models is controlled using 'create_objectmodel3d' parameter (disabled
by default). Beware that in special use cases more than one object models can be
generated.
- text_report:
Might be used for internal purposes and during support cases. Should be ignored by all
applications.
|
| 'data_purpose_id' |
--- |
0xFFFFFFFFFFFFFFFF |
integer |
pre-defined |
Tuple of integer values allowing to track data purpose IDs associated to individual control data outputs returned by the last grab operator. Intended for advanced use cases when the data should
be matched with the device configuration. The use of the parameter is application specific
and requires knowledge of the GenICam SFNC data model and specific device.
Not applicable if last successful grab was performed through grab_image/grab_image_async.
In case of grab_data/grab_data_async it returns tuple of the size
corresponding to the number of control data values returned through those operators.
If the ID could not be identified (eg. because the underlying communication protocol does not
provide such information), invalid value will be returned (max value of given integer range).
|
| 'data_region_id' |
--- |
0xFFFFFFFFFFFFFFFF |
integer |
pre-defined |
Tuple of integer values allowing to track region IDs associated to individual control data outputs returned by the last grab operator. Intended for advanced use cases when the data should
be matched with the device configuration. The use of the parameter is application specific
and requires knowledge of the GenICam SFNC data model and specific device.
Not applicable if last successful grab was performed through grab_image/grab_image_async.
In case of grab_data/grab_data_async it returns tuple of the size
corresponding to the number of control data values returned through those operators.
If the ID could not be identified (eg. because the underlying communication protocol does not
provide such information), invalid value will be returned (max value of given integer range).
|
| 'data_source_id' |
--- |
0xFFFFFFFFFFFFFFFF |
integer |
pre-defined |
Tuple of integer values allowing to track source IDs associated to individual control data outputs returned by the last grab operator. Intended for advanced use cases when the data should
be matched with the device configuration. The use of the parameter is application specific
and requires knowledge of the GenICam SFNC data model and specific device.
Not applicable if last successful grab was performed through grab_image/grab_image_async.
In case of grab_data/grab_data_async it returns tuple of the size
corresponding to the number of control data values returned through those operators.
If the ID could not be identified (eg. because the underlying communication protocol does not
provide such information), invalid value will be returned (max value of given integer range).
|
| 'delay_after_stop' |
<milliseconds> |
0 |
integer |
pre-defined |
The time to wait (in milliseconds) between stopping the acquisition on the device (AcquisitionStop command) and USB3 Vision Producer.
|
| 'device' |
' | device:<device id> | unique_name:<unique name> | user_name:<user-defined name> | interface:<interface id> | producer:Usan', '<device id>' |
|
string |
dynamic |
Returns the Device parameter string used when opening the device (open_framegrabber).
|
| 'device_event_handling' |
0, 1 |
1 |
integer |
pre-defined |
Value of the device_event_handling generic parameter specified in open_framegrabber.
The device_event_handling is by default switched on for devices with event
delivery (message channel) support and off for devices without the event
capability. The generic parameter device_event_handling explicitly allows
switching the event handling functionality off even for devices with event
support.
|
| 'device_timestamp_frequency' |
<frequency_hz> |
|
integer |
dynamic |
Frequency of the timestamp counter of the device, in ticks per second (Hz). The frequency might not be known for all devices. The counter is used
for example to attach timestamps to acquired buffers.
Note that on 32-bit systems only the lower 32-bit part of up to 64-bit
timestamp is delivered (unless 'split_param_values_into_dwords' parameter
is enabled).
|
| 'direct_connection' |
'disable', 'enable' |
'disable' |
string |
pre-defined |
Value of the direct_connection generic parameter specified in open_framegrabber.
|
| 'event_data' |
'<genicam_feature>' |
|
string |
pre-defined |
Selects GenICam features to be added to the message queue specified by 'event_message_queue' and 'event_selector'. Features
can be added individually or as a tuple. To remove individual features,
prepend them with a '~'. To clear all currently added features, call
set_framegrabber_param(..., 'event_data', []).
Read more about the usage of this mechanism at
Event Message Queues.
|
| 'event_message_queue' |
0, '<queue_handle>' |
|
handle |
pre-defined |
Selects a message queue to which the acquisition interface should send Feature Change Notifications.
The corresponding GenICam feature needs to be
previously specified by 'event_selector'.
Read more about the usage of this mechanism at
Event Message Queues.
|
| 'event_notification_helper' |
'disable', 'enable' |
'disable' |
string |
pre-defined |
Controls if the acquisition interface should attempt to automatically (un)set 'EventNotification' during set_framegrabber_callback if the callback
is being (un)registered on an SFNC-compliant event. Note that this will only
work if the callback is being registered on the actual event feature (e.g.
'EventExposureEnd'), not on one of the event data features (e.g.
'EventExposureEndTimestamp'). For further information on events, see
Event Data.
|
| 'event_selector' |
'<genicam_feature>' |
|
string |
pre-defined |
Selects a GenICam feature for which the acquisition interface should send
Feature Change Notifications.
They are sent to the message queue specified by 'event_message_queue'.
Read more about the usage of this mechanism at
Event Message Queues.
|
| 'external_trigger' |
<default> |
'false' |
string |
pre-defined |
The value is not used, so a default value is returned. |
| 'field' |
'<default>' |
'progressive' |
string |
pre-defined |
The value is not used, so a default value is returned. |
| 'fileaccess_file_path' |
'<file_path>' |
|
string |
pre-defined |
Specifies full path to a local file (in host filesystem) that should be used for file exchange operations between host and the device,
'do_fileaccess_download', or 'do_fileaccess_upload'.
The current user/process must have sufficient rights to access the file.
Note that all file access related parameters are available only if given
device supports the GenICam file access functionality.
|
| 'fileaccess_remote_name' |
'<file_name>' |
|
string |
pre-defined |
Selects a file on the device that should be subject to one of the file access handling operations, 'do_fileaccess_download', 'do_fileaccess_upload',
or 'do_fileaccess_delete'.
The name must be one of the files implemented by the device - the set
of valid names can be queried using 'fileaccess_remote_name_values'.
Note that all file access related parameters are available only if given
device supports the GenICam file access functionality.
|
| 'fwupdate_file_path' |
'<file_name>' |
|
string |
pre-defined |
Path to the file carrying GenICam compatible firmware update (guf-file). When set, the file will be validated and included firmware updates enumerated.
When invalid or when no updates matching the current device will be found,
error will be raised. If successful, the set of matching updates can be queried
using 'fwupdate_update_selector_values' and the actual update to apply selected
using 'fwupdate_update_selector'. Finally, the selected update can be applied
using 'do_fwupdate_apply'.
Note that all firmware update related parameters are available only in the dedicated
"safe mode", see Firmware Update.
|
| 'fwupdate_update_selector' |
'<firmware_update_label>' |
|
string |
pre-defined |
Selects firmware update that can be applied through 'do_fwupdate_apply'. The selector will become available after selecting a valid firmware update
file in 'fwupdate_file_path'. The options (labels describing the matching
firmware updates found in that file) can be queried using
'fwupdate_update_selector_values'.
Note that all firmware update related parameters are available only in the dedicated
"safe mode", see Firmware Update.
|
| 'fwupdate_wait_after_reset' |
'<timeout>' |
|
integer |
pre-defined |
Additional timeout (in ms) applied before device re-discovery if a device reset is required during the firmware update procedure. The timeout is added to corresponding timeout
specified in the firmware update file itself. Intended to resolve system-specific
problems when the device cannot be safely re-discovered using the original timeout.
Note that all firmware update related parameters are available only in the dedicated
"safe mode", see Firmware Update.
|
| 'generic' |
'', ['num_buffers=<num>', 'direct_connection=<mode>',
'streaming_mode=0',
'device_event_handling=0',
'workarounds=<list>'], -1
|
-1 |
mixed |
pre-defined |
Values of the Generic parameter. |
| 'grab_timeout' |
<milliseconds> |
5000 |
integer |
pre-defined |
Current grab timeout in milliseconds. |
| 'horizontal_resolution' |
0, 1, resolution |
1 |
integer |
pre-defined |
Current value of horizontal resolution. |
| 'image_available' |
0, 1 |
|
integer |
dynamic |
Shows if there is currently an image waiting for delivery by the USB3 Vision Producer.
|
| 'image_contents' |
'unknown', 'image', 'coord_a', 'coord_b', 'coord_c', 'coord_mixed', 'confidence' |
0 |
string |
pre-defined |
Tuple describing logical type of the image data returned by the last grab operator. If the last successful grab was performed through grab_image/grab_image_async, the parameter
returns always single value. In case of grab_data/grab_data_async it returns tuple of the size
corresponding to the number of images returned through those operators.
Possible values are:
- unknown:
The logical type of the image could not be identified, typically this means some kind
of custom, possibly raw data.
- image:
A regular 2D image. The format of the generated HALCON image is affected by the parameters
'bits_per_channel' and 'color_space' if used.
- coord_a:
The output HALCON image contains data corresponding to the 3D "coordinate A" according
to the GenICam 3D model. The interpretation of the coordinate depends on the coordinate
system used by the device: X for Cartesian, theta for spherical and theta for cylindrical
coordinates (refer to GenICam SFNC standard for further details). The data are provided
without any conversion, ignoring the 'bits_per_channel' and 'color_space' parameters.
- coord_b:
The output HALCON image contains data corresponding to the 3D "coordinate B" according
to the GenICam 3D model. The interpretation of the coordinate depends on the coordinate
system used by the device: Y for Cartesian, phi for spherical and Y for cylindrical
coordinates (refer to GenICam SFNC standard for further details). The data are provided
without any conversion, ignoring the 'bits_per_channel' and 'color_space' parameters.
- coord_c:
The output HALCON image contains data corresponding to the 3D "coordinate C" according
to the GenICam 3D model. The interpretation of the coordinate depends on the coordinate
system used by the device: Z for Cartesian, rho for spherical and rho for cylindrical
coordinates (refer to GenICam SFNC standard for further details). The data are provided
without any conversion, ignoring the 'bits_per_channel' and 'color_space' parameters.
- coord_mixed:
Used when the data is recognized as 3D coordinates but the format is unknown. In this
case the data are output in the HALCON image "as is" without any transformations,
the application has to know how to treat the custom data format. The data are provided
without any conversion, ignoring the 'bits_per_channel' and 'color_space' parameters.
- confidence:
The output HALCON image contains data corresponding to the pixel confidence, which
expresses the level of validity of corresponding pixel. The interpretation depends
on the actual underlying pixel format used by the device to represent confidence
(refer to GenICam SFNC standard for further details). The data are provided
without any conversion, ignoring the 'bits_per_channel' and 'color_space' parameters.
|
| 'image_height' |
<height> |
0 |
integer |
pre-defined |
Height of the last acquired image. See acquisition buffer handling.
If there is no valid last buffer available, the last queried value
of the 'Height' parameter of the remote device is returned.
|
| 'image_pixel_format' |
--- |
0 |
integer |
pre-defined |
Tuple of integer values representing the ID of the original pixel formats of the source data used to generate individual image outputs. This is typically the PFNC 32-bit ID of given pixel
format - if unknown or if the data used to generate given image output is not naturally an image,
zero will be reported.
If the source data is a multi-component image (such as RGB or multi-component 3D coordinate format),
the original multi-component pixel format is reported, no matter if all of the components
were used to generate given image output (such as an RGB image) or if the image output reflects
only one of the components (such as individual 3D coordinate planes, output as separate HALCON
images). The original multi-component pixel format might be planar format or not.
Note that the color space and bit depth of the actual HALCON image might significantly differ
from the source format if the user requests color space conversion through the
'bits_per_channel' and 'color_space' parameters.
|
| 'image_purpose_id' |
--- |
0xFFFFFFFFFFFFFFFF |
integer |
pre-defined |
Tuple of integer values allowing to track data purpose IDs associated to individual image outputs returned by the last grab operator. Intended for advanced use cases when the data should
be matched with the device configuration. The use of the parameter is application specific
and requires knowledge of the GenICam SFNC data model and specific device.
If the last successful grab was performed through grab_image/grab_image_async, the parameter
returns always single value. In case of grab_data/grab_data_async it returns tuple of the size
corresponding to the number of images returned through those operators.
If the ID could not be identified (eg. because the underlying communication protocol does not
provide such information), invalid value will be returned (max value of given integer range).
|
| 'image_raw_buffer_padding_bytes' |
--- |
0 |
integer |
pre-defined |
Tuple of integers reporting for raw buffers of type 'blob' (see 'image_raw_buffer_type') the size of unused padding bytes at the end of such grabbed HALCON image. Because
artificial dimensions need to be chosen for the resulting HALCON image in
this case, the size of such image might not exactly equal the size of the
buffer data and thus the padding might be needed. Zero is reported for
buffers of type 'image'. Applies only in case of the 'raw' color format.
See raw output format chapter.
If the last successful grab was performed through grab_image/grab_image_async, the parameter
returns always single value. In case of grab_data/grab_data_async it returns tuple of the size
corresponding to the number of images returned through those operators.
|
| 'image_raw_buffer_type' |
'image', 'blob' |
0 |
string |
pre-defined |
Tuple of strings showing whether the last grabbed HALCON image(s) is created from buffer containing real image data with known properties (in particular image size and pixel
format) or if it is created from a blob of other data (non-image data or
image data of unknown format). Note that in case of the blob data the
dimensions of the HALCON image are meaningless. Applies mainly in case of the
'raw' color format. Possible values are 'image' and 'blob'. See
raw output format chapter.
If the last successful grab was performed through grab_image/grab_image_async, the parameter
returns always single value. In case of grab_data/grab_data_async it returns tuple of the size
corresponding to the number of images returned through those operators.
|
| 'image_region_id' |
--- |
0xFFFFFFFFFFFFFFFF |
integer |
pre-defined |
Tuple of integer values allowing to track region IDs associated to individual image outputs returned by the last grab operator. Intended for advanced use cases when the data should
be matched with the device configuration. The use of the parameter is application specific
and requires knowledge of the GenICam SFNC data model and specific device.
If the last successful grab was performed through grab_image/grab_image_async, the parameter
returns always single value. In case of grab_data/grab_data_async it returns tuple of the size
corresponding to the number of images returned through those operators.
If the ID could not be identified (eg. because the underlying communication protocol does not
provide such information), invalid value will be returned (max value of given integer range).
|
| 'image_source_id' |
--- |
0xFFFFFFFFFFFFFFFF |
integer |
pre-defined |
Tuple of integer values allowing to track source IDs associated to individual image outputs returned by the last grab operator. Intended for advanced use cases when the data should
be matched with the device configuration. The use of the parameter is application specific
and requires knowledge of the GenICam SFNC data model and specific device.
If the last successful grab was performed through grab_image/grab_image_async, the parameter
returns always single value. In case of grab_data/grab_data_async it returns tuple of the size
corresponding to the number of images returned through those operators.
If the ID could not be identified (eg. because the underlying communication protocol does not
provide such information), invalid value will be returned (max value of given integer range).
|
| 'image_width' |
<width> |
0 |
integer |
pre-defined |
Width of the last acquired image. See acquisition buffer handling.
If there is no valid last buffer available, the last queried value
of the 'Width' parameter of the remote device is returned.
|
| 'line_in' |
<default> |
0 |
integer |
pre-defined |
The value is not used, so a default value is returned. |
| 'name' |
'USB3Vision' |
|
string |
pre-defined |
Name of the HALCON interface. |
| 'num_buffers' |
<number> |
4 |
integer |
pre-defined |
Number of buffers used for the image acquisition. |
| 'num_buffers_await_delivery' |
<number> |
|
integer |
dynamic |
Number of (image) buffers waiting for delivery by the USB3 Vision Producer.
|
| 'num_buffers_underrun' |
<number> |
|
integer |
dynamic |
Number of lost buffers due to buffer queue underrun since opening the device. Queue underrun occurs when the USB3 Vision Producer has a new image
data available, but it has no free buffer to store them.
|
| 'port' |
<port> |
-1 |
integer |
pre-defined |
The value is not used, so a default value is returned. |
| 'raw_buffer_padding_bytes' |
|
0 |
integer |
pre-defined |
Deprecated, prefer 'image_raw_buffer_padding_byptes' which supports also grab_data. For raw buffers of type 'blob' (see 'raw_buffer_type') reports the size of
unused padding bytes at the end of such grabbed HALCON image. Because
artificial dimensions need to be chosen for the resulting HALCON image in
this case, the size of such image might not exactly equal the size of the
buffer data and thus the padding might be needed. Zero is reported for
buffers of type 'image'. Applies only in case of the 'raw' color format.
See raw output format chapter.
|
| 'raw_buffer_type' |
'image', 'blob' |
0 |
string |
pre-defined |
Deprecated, prefer 'image_raw_buffer_type' which supports also grab_data. Shows whether the last grabbed HALCON image is created from buffer containing
real image data with known properties (in particular image size and pixel
format) or if it is created from a blob of other data (non-image data or
image data of unknown format). Note that in case of the blob data the
dimensions of the HALCON image are meaningless. Applies mainly in case of the
'raw' color format. Possible values are 'image' and 'blob'. See
raw output format chapter.
|
| 'register_<addr>_<len>' |
|
|
integer |
pre-defined |
Direct register access for reading and writing integers. The value has to be hexadecimal, e.g. 0x0938. Note that only 4 or 8 Byte length values
are accepted.
Caution: This is a dangerous function intended for debugging and special
cases. Usually only features in the XML should be used.
|
| 'revision' |
'<revision>' |
|
string |
pre-defined |
Revision number of the USB3Vision interface. |
| 'split_param_values_into_dwords' |
'disable', 'enable' |
'disable' |
string |
pre-defined |
Enables a special mode allowing the treatment of integer parameters as tuple of two 32-bit integers. For compatibility with the single-parameter mode,
the first tuple element carries always the low 32-bit part of the value,
second element carries the high 32-bit part. It is user's responsibility
to combine the two parts correctly.
This mode is intended especially to help to overcome the problem of 32-bit
HALCON featuring only 32-bit integer parameters but having to face up to
64-bit wide GenICam features.
In this mode, the get_framegrabber_param returns always a tuple of two
integers, set_framegrabber_param accepts both a single parameter or a tuple.
Note that this mode affects only integer parameters and only the GenICam
based ones, not the internal parameters of HALCON USB3Vision
image acquisition interface - with few exceptions, the 'buffer_timestamp',
'buffer_timestamp_ns', 'device_timestamp_frequency' and 'buffer_frameid'
internal parameters.
|
| 'start_async_after_grab_async' |
'disable', 'enable' |
'enable' |
string |
pre-defined |
Status of 'start_async_after_grab_async'. |
| 'start_column' |
<column> |
0 |
integer |
pre-defined |
Unsupported, returns always 0. |
| 'start_row' |
<row> |
0 |
integer |
pre-defined |
Unsupported, returns always 0. |
| 'streaming_mode' |
0, 1 |
1 |
integer |
pre-defined |
Value of the streaming_mode generic parameter specified in open_framegrabber. The streaming_mode is by default switched on for devices with streaming
support and off for peripheral devices (devices without any data streams).
The generic parameter streaming_mode explicitly allows switching the
streaming functionality off, even for devices with streaming support.
|
| 'vertical_resolution' |
0, 1, resolution |
1 |
integer |
pre-defined |
Current value of vertical resolution. |
| 'volatile' |
'disable', 'enable' |
'disable' |
string |
pre-defined |
Current value of the volatile mode. |
| 'workarounds' |
['', 'enable_range_validation' ]
|
'' |
string |
pre-defined |
List of workarounds enabled by the 'workarounds' generic parameter in open_framegrabber. Individual workaround names are separated by spaces.
|
Not supported by this interface.
Not supported by this interface.
This interface supports feature change callbacks via the operators
set_framegrabber_callback and
get_framegrabber_callback.
The callback can be registered for any GenICam based features,
i.e., features published by the device and USB3 Vision Producer
through the GenICam description files. The list of supported
callback targets can be queried by calling
get_framegrabber_param(..., 'available_callback_types', ...).
One of the important use cases for feature change callbacks
is the device event delivery mechanism, see details in
event data and
feature
notifications sections. The 'CallbackType' parameter of
set_framegrabber_callback defines the feature for which the callback is
registered. It is the same plain feature name as used with
set_framegrabber_param, including a possible prefix, such as '[Device]' (refer to
the
parameter naming convention).
The registered callback function would be called whenever a given feature is
potentially changed (including its other properties such as range or access
mode). Note that it does not necessarily always mean that the feature
actually has a new value. If the callback function is set to NULL, the
corresponding callback will be unregistered. Note that the interface keeps
just a single registration for every feature, if you attempt to register a
new callback for a feature that already had a callback registered, the
previous registration will be replaced with the new one.
The signature of the callback function is
Herror (__stdcall *HAcqCallback)(void *AcqHandle, void *Context,
void *UserContext) and uses the following parameters:
- AcqHandle:
Acquisition handle of the corresponding image acquisition instance.
- Context:
Optional context data of the specific callback. Up to now, this
parameter is not used, i.e., Context is set to NULL.
- UserContext:
Optional context data of the specific callback. Up to now,
this parameter is not used, i.e., UserContext is set to NULL.
Note that the execution time of a user-specific callback function must
always be as short as possible since during the execution of a callback
function the handling of further internal callbacks might be blocked.
This can be achieved by removing the current processing from the
user-specific callback function to a separate thread that is controlled
via signals or events. The callback function is executed in the context
of the underlying interface or driver.
grab_image_async returns a single image and starts the next asynchronous grab. See also
grab_image_async,
section about acquisition control and
about grab operators.
Note that the interface converts the acquired image to the
desired image format specified by the parameters 'bits_per_channel' and
'color_space'.
The 'MaxDelay' parameter of the
grab_image_async operator is ignored by the
HALCON USB3Vision acquisition interface, because there is no way to support it
reliably
. If needed, the application needs to
implement alternative functionality on its own.
grab_data starts a new synchronous grab, resulting possibly in tuple of output images and tuple of data outputs of various kind, depending on the input
and configuration. See also
grab_data,
section about acquisition control and
about grab operators. Note that the
interface converts the acquired images to the desired image format
specified by the parameters 'bits_per_channel' and 'color_space'.
The output tuples are described using the 'data_contents', 'image_contents'
and related parameters.
grab_data_async returns acquired images/data and starts the next asynchronous grab. See also
grab_data_async,
section about acquisition control and
about grab operators.
Note that the interface converts the acquired image to the
desired image format specified by the parameters 'bits_per_channel' and
'color_space'.
The output tuples are described using the 'data_contents', 'image_contents'
and related parameters.
The 'MaxDelay' parameter of the
grab_image_async operator is ignored by the
HALCON USB3Vision acquisition interface, because there is no way to support it
reliably
. If needed, the application needs to
implement alternative functionality on its own.
HDevelop Examples
For this interface there are the following examples available:
- usb3vision_2cameras.hdev –
Grabbing images from two cameras.
- usb3vision_do_abort_grab.hdev –
Aborting an ongoing image acquisition.
- usb3vision_fileaccess.hdev -
Example how to upload and download files from GenICam devices.
- usb3vision_fwupdate.hdev -
Example how to apply a firmware update using GenICam's FWUpdate module.
- usb3vision_install_driver.hdev – Installs the necessary
driver for a device and then opens it. This is the same mechanism the
HDevelop Image Acquisition Assistant uses for this purpose.
- usb3vision_parameters.hdev –
Lists all parameters of a device.
- usb3vision_simple.hdev –
A simple example to show the usage of the interface.
- usb3vision_acquisition_events.hdev - Example how to handle events
with additional event data using message queues.
Troubleshooting
In case of problems with the HALCON USB3Vision Interface the following hints might help to solve them.
General:
- Check if the latest revision
of the HALCON USB3Vision interface is used.
- Check the System Requirements.
- Check if the device has the latest firmware.
- Enable low-level error messages in HALCON to query more information
about the problem (and check the output console in HDevelop if applicable).
- If your device is connected via Ethernet and
a firewall is active in the system, it has to be configured in a way
so that all applications expected to be using the GigE Vision devices
(e.g. HDevelop, but also any user-developed applications) have full
access to the connected devices.
GenICam:
- Check if the correct GenICam binaries are in use. HALCON uses the official
binaries in a private installation (folder genicam in the HALCONROOT
directory). If other GenICam binaries are in your path or in some system
path (for Windows e.g. in c:\Windows\System32\ for Linux e.g. in /usr/lib
or similar directories) make sure these are the official ones by comparing
them with the ones in the HALCON installation. Using unofficial binaries
might result in strange problems.
If there are still problems, please contact your local distributor.
The following information is needed for your support request to avoid
unnecessary inquiries.
- Used HALCON and acquisition interface versions.
- Used HALCON architecture (especially 32 or 64 bit).
- Low-level error messages if there are any.
- Camera manufacturer, model and firmware version.
- Details about computer system, like operating system, RAM and CPU.
- Minimal sample code (e.g. HDevelop script) to reproduce the issue.
- Description of observed and expected behavior.
Usage of 3rd party libraries
This interface depends on the following 3rd party libraries. See the files
third_party_copyrights.html and
third_party_licenses.txt
in the HALCON base directory for copyright and license information.
The corresponding sources can be downloaded from the
MVTec WWW server.
Release Notes
- Revision 13.0.6 (Oct 30, 2018):
- Updated underlying GenApi version to latest official release v3.1.
Please note that therefore also the genicam directory of your HALCON
installation will be updated.
The Update includes an accelerated MathParser, improved persistence
in combination with sequencers and a fix where values were available
even though the corresponding feature was not.
- GenICam's File Access is now supported. See the new parameters
'fileaccess_file_path', 'fileaccess_remote_name',
'do_fileaccess_download', 'do_fileaccess_upload',
'do_fileaccess_delete', and the new HDevelop example
usb3vision_fileaccess.hdev.
- GenICam's FWUpdate is now supported. See
Firmware Update and the new HDevelop example
usb3vision_fwupdate.hdev.
- Receiving GenICam events on message queues is now supported, see
Event Message Queues.
So far, GenICam events were only supported via callbacks and thus
not usable in HDevelop. Additionally, one new HDevelop example has been
added to show this functionality usb3vision_acquisition_events.hdev.
- 'do_write_configuration' has been extended to store not only the
current device configuration but also generate persistence files
for all the USB3 Vision Producer modules
(system, interface, device and data stream), see
Parameters – Persisting Device Status.
- Added new parameters 'buffer_timestamp_ns' and
'device_timestamp_frequency' to improve the usability of
'buffer_timestamp' which on its own is unit-agnostic.
- Some generic parameters passed to open_framegrabber were not available
through get_framegrabber_param. This problem has been fixed.
- String parameters longer than 1024 characters were silently cropped by
get_framegrabber_param. This problem has been fixed.
- When 'start_async_after_grab_async' was set 'disable',
the acquisition was stopped on the remote device after each frame.
This problem has been fixed.
- Revision 13.0.5 (Apr 27, 2018):
- The driver installer included in libwdi-usan.dll had a dependency
on Microsoft Visual Studio 2010. This problem has been fixed.
- Added support for the 'Mono4p' pixel format.
- Added support for the 'YCbCr411_8' pixel format.
- Unsupported pixel formats are now tried to be returned in their actual
image dimensions if they are similar enough to a supported Mono format.
Before, all unsupported formats were returned as square images (see
Raw Output Format).
- When 'DeviceUserID' was set to ' ' (a single space), it could not be
used to connect. This problem has been fixed.
- When trying to connect to a busy device using its DeviceUserID,
a misleading low-level error appeared. This problem has been fixed.
- On Unix systems, HALCON crashed when ended without calling
close_framegrabber. This problem has been fixed.
- Updated underlying libusb version from 1.0.16 to 1.0.21.
- Revision 13.0.4 (Nov 28, 2017):
- libusb-1.0-usan.so.0 has been moved to a subdirectory on Linux systems.
- The technical dependency from the HALCON Library has been removed.
- Added new parameter 'event_notification_helper' which enables a helper
to automatically set 'EventNotification' during
set_framegrabber_callback if the callback is being registered on an
SFNC-compliant event. For further information, see
Event Data.
- Added new parameters 'buffer_frameid' and 'image_pixel_format'.
- When calling get_framegrabber_callback on a callback that was not
registered, an error was returned. This problem has been fixed.
- With some cameras, grab_image_async did not start a new acquisition in
'SingleFrame' or 'MultiFrame' mode even though
'start_async_after_grab_async' was enabled.
This problem has been fixed.
- When reaching the 16 bit boundary of the GenCP request ID by
numerous changes of camera parameters, one setting failed.
This problem has been fixed.
- Revision 13.0.3 (May 3, 2017):
- Updated underlying GenApi version to latest official release v3.0.2
which contains some minor bug fixes.
- Revision 13.0.2 (Mar 16, 2017):
- Erroneously, the error code H_ERR_FGWR (#5307)
was returned in case of incomplete images.
This problem has been fixed. Now, the incomplete image is delivered
and the parameter 'buffer_is_incomplete' returns true.
- The system requirements have been updated to libudev.so.1
or higher.
- The interface documentation was extended and now contains
a description of the strings returned by
info_framegrabber(...,'info_boards',...).
- Added new HDevelop example usb3vision_2cameras.hdev that
shows how to use the USB3Vision interface with two cameras.
- Added new HDevelop example usb3vision_do_abort_grab.hdev that
shows how to abort an ongoing image acquisition.
- Revision 13.0.1 (Oct 28, 2016):
- HALCON 13 version of the interface.
- Added support for GenTL 1.5. This mainly means support for 3D data
acquisition, see Using 3D Devices.
Therefore, the operators grab_data/grab_data_async have been implemented,
see Acquisition – Grab Operators.
To control the 3D data acquisition, the following parameters have been
introduced: image_contents, image_source_id, image_region_id,
image_purpose_id, image_raw_buffer_type, image_raw_buffer_padding_bytes,
data_contents, data_source_id, data_region_id, data_purpose_id,
create_objectmodel3d, coordinate_transform_mode, confidence_mode,
confidence_threshold, add_objectmodel3d_overlay_attrib. The integrated
producer Usan has been updated to version
1.0.7
accordingly.
- Revision 6.7 (Jul 14, 2016):
- Updated integrated producer Usan to version 1.0.6 which introduces
more special modes to the parameter 'StreamTransferConfigMode'.
These are intended for cameras that are not compatible
with Usan's default transfer alignment.
- Revision 6.6 (May 13, 2016):
- Updated underlying GenApi version to latest official release v3.0.1.
With the previous version some specific cameras could not be opened
and in the worst case the application also crashed when using such
devices. This problem has been fixed. Please note that therefore also
the genicam directory of your HALCON installation will be updated.
- Updated integrated producer Usan to version 1.0.5 as it was not
possible to use the USB3Vision interface in more than one process
at the same time. This problem has been fixed.
- Under Windows, open_framegrabber crashed if the environment variable
PATH was empty. This problem has been fixed.
- Revision 6.5 (Feb 15, 2016):
- Updated underlying GenApi version to latest official release v3.0,
which enables to open a device much faster and requires less memory.
Please note that therefore also the genicam directory of your HALCON
installation will be updated.
- Added support for the 'Mono10p' and 'Mono12p' pixel formats.
- Added limitation for OS X.
- Added paragraph 'Using internal color conversion' to this document.
- Updated integrated producer Usan to version 1.0.4. Reaching the full
frame rate with small ROI was not possible in combination with a
certain CMOSIS sensor. This problem has been fixed. The new parameters
'StreamMaxTransferSize' and 'StreamTransferConfigMode' have been
introduced to adjust the USB transfers.
- According to this documentation, the fourth value returned by
get_framegrabber_param(..., 'AnyParameter_range', ...)
was a default value. Actually, it is the current value.
Thus, this documentation has been adapted accordingly.
- Revision 6.4 (Oct 30, 2015):
- The system requirements regarding the Visual Studio C++
Redistributable Package have been updated.
- The error code H_ERR_FGABORTED (#5336) is returned by the grab
operators when a grab has been aborted instead of the former H_ERR_FGF
(#5306).
- In case of devices which do not allow to stop acquisition, e.g. due
to a lost connection, the call of the parameter 'do_abort_grab' was
not able to abort the running grab. This problem has been fixed.
Please note that in this case the communication with the device is
somehow broken and re-initialization is strongly advised.
- The documentation about driver requirements and usage with
other interfaces or software has been updated.
- Added support for user-defined names.
Therefore, the strings returned by
info_framegrabber(...'info_boards'...) and
info_framegrabber(...'device'...) have been extended
to include the new entries
unique_name:<unique name> and
user_name:<user-defined name> which corresponds to UserDeviceID.
The content of the new unique_name entry
is the same as the content of the former device entry.
Now, the device entry contains the user-defined name if available
or the unique name.
open_framegrabber now also accepts user-defined names.
- Revision 6.3 (Jun 10, 2015):
- Under Windows, some GenICam dynamic libraries were not loaded/unloaded
correctly and a low-level error was printed. This problem has been
fixed.
- do_abort_grab returned an error if called before the first grab.
This problem has been fixed.
- For 'na' (not available) parameters, neither the range nor the
values property was implemented. This problem has been fixed.
- Parameters 'grab_timeout' and 'delay_after_stop' were missing the range
property. This problem has been fixed.
- The access and visibility properties returned 'undefined' in case
the parameters had no such properties. Now they return an error
if they are not available.
- 'available_param_names' returned not all implemented parameters. Now it
also returns 'na' (not available) parameters in addition to 'ro'
(readonly), 'wo' (writeonly) and 'rw' (readwrite) parameters, but only
when the visibility is not 'invisible'. Note that the access mode of
parameters might change during runtime.
- The documentation of 'num_buffers' was not clear enough about the
need of an extra buffer for internal use. The documentation has been
improved.
- Parameters 'buffer_is_incomplete', 'buffer_timestamp',
'raw_buffer_padding_bytes', 'raw_buffer_type' had fixed access mode
'ro'. In case no buffer has been grabbed yet this is wrong and should
be 'na'. This problem has been fixed.
- The HDevelop example usb3vision_parameters.hdev
has been improved.
- Revision 6.2 (Feb 26, 2015):
- Updated underlying GenApi version to latest official release v2.4.1,
including performance improvements and several minor bug fixes.
Please note that therefore also the genicam directory of your HALCON
installation will be updated.
- Updated integrated producer Usan to version 1.0.3.
- Fixed problems of driver installer under Windows: Win32 was missing
files, Win64 needed debug runtime, driver installer was not signed.
- Addressed limitations of libusbx under Windows to improve usage of
multiple cameras.
- Addressed performance issues in case the camera delivers a higher
frame rate as the application can use.
- Added new parameters and documentation for advanced streaming engine
control and advanced event engine control.
- Added GenICam troubleshooting hint.
- Added support for buffer handling modes 'OldestFirstOverwrite'
and 'NewestOnly'.
- Added generic parameter 'device_event_handling=0' to explicitly
ignore the event channel when a device is opened.
- Made warning about unexpected parameter types more human readable.
- Improved compatibility with other acquisition interfaces which are
using libusbK.
- Revision 6.1 (Oct 31, 2014):
- HALCON 12 version of the interface.
- Support more host controllers for driver installation on Windows.
- Fixed a possible deadlock during initialization on Windows.
- Fixed documentation of parameter 'camera_type'. The .xml extension
option for the configuration file was missing.
- Improved error information returned by set_framegrabber_param when
trying to set a parameter without specifying a value.
- Added missing descriptions of the parameters:
'buffer_reallocation_mode', 'do_load_settings' and 'do_write_settings'.
- Revision 5.2 (Mar 20, 2014):
- Fixed problem when using multiple image acquisition interfaces, which
do not use the same GenApi version, in arbitrary order.
- Fixed crash when using multiple GenApi-based image acquisition
interfaces which use the same GenApi version. In this case, when
closing the last instance of one of the interfaces, GenApi could not
be used by the remaining interfaces anymore. This fix has the side
effect that GenApi cannot be unloaded anymore.
- Improved description of parameter 'clear_buffer'.
- Added libudev system requirement for Linux.
- Revision 5.1 (Jan 31, 2014):
- Added Linux and Mac OS X support.
- Fixed incorrect device speed detection that might fail on Windows 8.1.
- Fixed crash when trying to execute GenICam commands without parameter.
- New parameter 'register_<addr>_<len>' for direct register
access.
- Added support for PFNC pixel format namespace. Please note that
no new conversion routines have been implemented.
- Changed example programs to be more userfriendly.
- Revision 5.0 (Oct 28, 2013):
Legal disclaimer regarding hyperlinks:
This page may provide users with access by hypertext links to external, non-MVTec websites.
Any such access is provided with the understanding that the contents
of non-MVTec sites are beyond the control of MVTec Software GmbH, that
MVTec Software GmbH makes no representations whatsoever about such
sites, and that users shall proceed at their own risk.
MVTec Software GmbH is not responsible for the privacy practices or
the content of external, non-MVTec websites.
Copyright notes:
© Copyright MVTec Software GmbH. All rights reserved.
Unless otherwise stated, the copyright and similar rights in the
contents of this page, including but not limited to all text, designs
and images appearing herein, are copyrighted works owned by MVTec
Software GmbH.
"MVTec Software GmbH" and "HALCON" are registered trademarks of MVTec
Software GmbH.
All other brand names, designs, service marks and trademarks (whether
or not registered) referenced or used herein are the property of their
respective owners.


A history of tests run during the refactoring of a software component
~10.000 lines of code, period ~7 days
Blackbox/Integration tests. Input fed to the component, output tested
Pure unit tests not included, as the whole code was thrown out and replaced
The only thing preserved from the original code was the component API
It shows a very typical evolution of test results during a very typical refactor:
(ups and downs, problems introduced, detected, corrected, code reverts, new tests)
It shows (again) how having tests helps build confidence when making changes to software
It shows (again) how integration tests can help preserve functionality,
even if the concrete implementation of the tested component changes completely
If you click on the graph, you can zoom in, out, or pan to a period of interest
You can also show or hide certain categories
To return to page scroll, simply click somewhere out of the graph
The graph shows the test results, for each test run, in intervals approximated to 15 mins
Some notable events are also marked (refactor start, significant test changes, etc)
Positive changes are marked in green, negative in red
After each test run, I took the results from Jenkins, formatted them as JSON,
and with the help of my beloved vis.js, I created a simple graph to display the info
You can find the code on GitHub
Sure! Go to GitHub, clone the repository, and you can get started
You will need to have Java, Maven and a web server (JBoss, Glassfish, Tomcat, etc) installed
If you only want to play with the graph itself, the data is here
The JavaScript that puts it all together is here
You will also need vis.js


Get placed in your dream job from the comfort of your home.
No need to wait in the queue to be interviewed.
A place where employers come looking for you.


All trails
Spring and Summer 2015, I went to different hiking trials. I have added few to this page. More to come!!! In future this page will have all the trails links!! Page in under construction!!
Middlesex Fall Reservoir
The Middlesex Fells Reservation, more commonly known as The Fells, is located just seven miles north of Boston.
Monadock Mountain
Mt. Monadnock is the centerpiece of the 5,000 acre Monadnock State Park.
Halibut Point State Park
The best of the Massachusetts coastline! Beautiful view! Tide pools to explore! Huge boulders to walk on!
Breakheart Reservation
At 233 feet you are at the top of Breakheart Hil where you will have great views back towards the skyline of boston.
Walden Pond State Park
At 233 feet you are at the top of Breakheart Hil where you will have great views back towards the skyline of boston.
Wachusett Mountain
At 233 feet you are at the top of Breakheart Hil where you will have great views back towards the skyline of boston.
Purgatory Chasm Park
At 233 feet you are at the top of Breakheart Hil where you will have great views back towards the skyline of boston.
Quincy State Park
At 233 feet you are at the top of Breakheart Hil where you will have great views back towards the skyline of boston.


abc
div-1
div-2
xyz
Trường ĐH Công Nghệ TP.HCM
Username:
Username is required
Password:
Password must have minimum 6 characters
Email Adress:
Must be a valid email
Submit
Email
Phone
Address
Comments


|
|
||||||||
|
Version 1.0
This help content updated Tuesday, June 20, 2017
|
|
||||||||
|
Version 1.0
This help content updated Tuesday, June 20, 2017


Equivalent to choosing the Find File command from the File menu in Microsoft Excel version 5.0. Lets you search for files based on criteria such as author or creation date.
Syntax
FIND.FILE?( )
Remarks
This function has a dialog-box form only.
Return to index


| 101 | (A) | and borne in bedeleme vs by of a birde schene |
| 96 | (C) | Borne in Bedleem vs by . of a berde schene |
| 97 | (D) | Born in Bedlem vs by of a bierd shene |
| 95 | (E) | bore in bedleem vs faste by . of a clene mayde . |
| (Ex) | ---- no text ---- | |
| 100 | (L) | & born in bethleem one by of a burde schene |
| 95 | (P) | And borne in Bedelem . of a byrde clene |
| 96 | (U) | And born in bedlem vs by / of a beerd shene |
| (V) | ---- no text ---- |


WITNESS LIST Appropriations Committee (Subcommittee on Education) February 11, 1997-8:00A Budget Overview / Education On: Bugen, Claire (TX School for the Deaf) Camenisch, Walt (TX School for the Deaf) Cathey, Lesli (Comptroller) Cowan, Andrea (Comptroller) Danigole, Scott (LBB) Ferris, Roger (Auditor) Geisman, Cindy (Comptroller) Hasie, Monte (State Bd of Education) Murray, Dean (Permanent School Fundd) Sallop, Marvin (TX School for the Deaf) Smith, Carol (Auditor) Thompson, Barry (A&M) Treadway, Tom (General Services Commi)


Emoji
Salad
the text msg Pictionary party
OMG I totally love you too!!!
OMG I totally love you too!!!
No download needed - play with your friends for free via SMS.
Ready to play?
Ask Emojibot to start a new game:
Standard messaging rates apply.
Got it! Thanks for signing up.


{% extends "base.html" %} {% block content %} {% for service in service_list %}
Try Subscribing to some notifications from the Service or Datasource menu


Vivo IPL 2017
*Winner: Mumbai Indians
*Team Squad: (Captain - Rohit Sharma)
(Click the above pic for viewing the scorecard of the IPL Final 2017)
Rohit Sharma, Kieron Pollard, Lasith Malinga, Harbhajan Singh, Ambati Rayudu, Jasprit Bumrah, Shreyas Gopal, Lendl Simmons, Vinay Kumar, Parthiv Patel, Mitchell McClenaghan, Nitish Rana,
Siddhesh Lad, Jagadeesha Suchith, Hardik Pandya, Jos Buttler, Tim Southee, Jitesh Sharma, Krunal Pandya, Deepak Punia, Saurabh Tiwary, Nicholas Pooran, Mitchell Johnson, Karn Sharma,
Asela Gunaratne, Krishnappa Gowtham, Kulwant Khejroliya
*Runner ups: Rising Pune Supergiants
*Team Squad: (Captain - Steve Smith)
MS Dhoni, Ajinkya Rahane, Steven Smith, Faf du Plessis, Ashok Dinda, Ankush Bains, Rajat Bhatia, Ankit Sharma, Ishwar Pandey, Adam Zampa, Jaskaran Singh, Baba Aparajith, Deepak Chahar,
Usman Khawaja, Mayank Agarwal, Ben Stokes, Manoj Tiwary, Jaydev Unadkat, Rahul Chahar, Daniel Christian, Lockie Ferguson, Saurabh Kumar, Milind Tandon, Rahul Tripathi, Shardul Thakur,
Imran Tahir, Washington Sundar
*Orange Cap Winner: David Warner(AUS) : 14 Matches 641 Runs - Royal Challengers Bangalore
*Purple Cap Winner: Bhuvaneshwar Kumar(IND) : 14 Matches 26 Wickets - Sunrisers Hyderabad
*Player of the Series: Ben Stokes - Rising Pune Supergiants


@@include('../00.global/include-header.html')
Create a dynamic dropdown form that loads its data from a JSON file.
Callback: City Name Here


Hey, We're Online. September 6, 2015 No, we don't sell garbage shirts. No, we don't sell only shirts.


--- layout: post title: Inktober day nine description: Inktober 2019, day nine, "swing" date: '2019-10-09 20:48:12 +0100' categories: - Sketches ---
Day nine, "swing".


{% extends "base.html" %} {% block title %}Logged out{% endblock %} {% block content %}
Thanks for spending some quality time with our website today.


Magister Alminas:
You say you fought with Allector, the fallen angel?
How could he have escaped the prison in the Ivory Tower? He must have had help. But who? It could only be ....
I shouldn't say, I need more proof. I have the Stone of Commune, but it's unstable. You'll need the other fragment.
"How can I get it?"


5.1 File Harvesters
RAMADDA provides a Harvester facility
- Make sure you are logged in as an administrator
- Go to the page and press New Harvester
- Specify some name (e.g., Workshop Data Harvester) and leave the type as Local Files and press Create
- There is pretty good
documentation describing harvesters. We'll just set a couple of things:
- A harvester needs to know what file path to harvest. Specify the workshop data directory
- You then need to specify a Base folder as the destination of the new entries. Select the
Data folder
- Under the Metadata section select "Add full metadata"
- Save your changes
- Run your harvester
- Go back to the main Harvester page
- Press Start for your new harvester
- This may take a little while
- Now, go to your Data folder to see the results


Please make sure that you save this password somewhere safe.
Old Password
New Password
New Password (Again) Password Too Short


Test Drive
Test Drive At Door Step
Test Drive Dealer Point
{{ownerDetails.df['Dealer Address']}}
{{ownerDetails.carmodeldetails.Location}}
{{ownerDetails.dm['Car Owner Email']}}
{{ownerDetails.df['Mobile Number']}}
Apply Test Drive


Understanding how perception arises from a sensory stimulus is a challenge in neuroscience. In this study, we analyzed human electrocorticographic recordings obtained during an auditory task, ran a battery of test and built a machine learning pipeline to predict perceptual behavior. Our research identified signatures of subjective perception and laid the foundation for further building dynamic models that capture the temporal evolution across multiple cortical areas.
Our research focused on building a series of multi-scale mathematical models to investigate the relationship between cell death and the inflammatory process for cartilage degeneration. We proposed three models under different scenarios of injuries, simulated the models, and validated the results with the experimental data. Our research provides helpful information which can not be easily obtained in biological experiments, and eventually lead to biomarker discovery and potential therapies.
I am a computational scientist with interests in mathematical modeling and statistics. For the past five years, I have been working in the fields of mathematical biology and computational neuroscience. I am currently on the job market and looking for new opportunities to turn data into knowledge and understanding.


Inquest into death of Somali schoolgirl, 12, could probe whether she was forced into river where she drowned
by Rod Ardehali For Mailonline- Somali refugee Shukri Yahya Abdi, 12, died after drowning in River Irwell, Bury
- She was found dead in the river wearing full Islamic clothing on June 27, 2019
- Her devastated family said she was being bullied at school and could not swim
- Greater Manchester Police have refuted claims Shukri was pushed into the river
An inquest into the death of a Somali schoolgirl could look into allegations she was 'coerced' into going to the river where she drowned.
Shukri Yahye-Abdi, 12, who was born in Somalia before moving to the UK, was pulled from the River Irwell near Bury town centre on June 27 after her mother had reported her missing.
A pre-inquest review hearing in Heywood on December 9 heard there were claims Shukri, who couldn't swim, was being bullied and was 'coerced' by other girls into going to the river on the day of her death.
Shukri's mother, Zamzam Ture, who appeared at Bury Coroner's Court today, said her daughter was bullied at school, could not swim and was wearing full Islamic dress on the day she died.
Her family insist her death was not an accident, but Greater Manchester Police said the alleged bullying claims 'doesn't match' with their investigation.
Today senior coroner Joanne Kearsley said there was a 'question as to whether alleged bullying was relevant to the inquest'.
In response, Ashley Underwood QC, representing Shukri's family, replied 'considerably'.
He added: 'The other component is the degree to which there was a relationship of violence between the girls and the degree to which we should be permitted to ask the children about the background to the day.'
When Ms Kearsley asked what violence had taken place, she was told there had been an incident of 'pushing' about six months before Shukri's death.
Mr Underwood said there was also 'a question of whether, on the day, there was coercion', with Shukri being persuaded against her will to go to the river.
Mr Kearsley said she would consider the scope of the inquest and report back to all interested parties within seven days.
Reporting restrictions have been put in place preventing the identification of four children Shukri had contact with after leaving school the day she died.
The children were referred to as child one, two, three and four.
The coroner also said she had 'real concerns' whether the children are 'fit enough to give evidence'.
She added: 'I think concerns have been raised by other agencies working with the children.
'I am going to make some enquiries as to whether the children are able to give evidence from a health perspective.'
Ms Kearsley said that if any of the children are to appear before the inquest it will be done via video link.
The inquest was adjourned until late February.
Shukri's loved ones have said she was being bullied at school and say the investigation into her death was treated differently because of their race, background and refugee status.
They claim the police response was laced with institutional racism.
Her devastated family did not speak to reporters today, but the lawyer representing them said Ms Ture was reliving the pain again.
Mr Attiq Malik, said: 'The family are mourning every time something new happens, it really brings it all back.
'It's heart wrenching to see the mother and how upset she gets.
'It's like she's reliving it all again so from that point of view we want it over and done sooner rather than later.
At a press conference in August, the family's solicitor Attiq Malik revealed that an internal inquiry at Broad Oak Sports College, which has since been renamed Hazel Wood High School, found the school were 'not aware of any bullying of Shukri'.
At the same conference, one of Shukri's friends insisted she was being bullied.
She said: 'She wanted friends, she wanted to be accepted. She was lonely. If somebody wanted to be her friend she would do anything.'
Greater Manchester Police said there were no suspicious circumstances surrounding the child's death.
An inquiry by the police watchdog the Independent Office for Police Conduct (IOPC) into the way GMP handled the investigation is ongoing.
'It was necessary to delay matters today to make sure the inquest is a full and proper one.'
Shukri, who came to the UK from Somalia, was described by relatives as a 'sweet, innocent child'.
She was reported missing by her mother just after 7.30pm on June 27 and a short time later police received a separate report that a girl had gone into the River Irwell and had not resurfaced.
Underwater search teams later recovered her body from the river.
Following her death, police said there were no suspicious circumstances and warned people of the dangers of swimming in rivers, lakes and reservoirs in hot weather.
Mustaf Omar Mohamed, Shukri's cousin, told Muslim news website 5 Pillars while the police have repeatedly told the media it was a tragic accident, they do not believe her death was an accident.
'We believe there is more to this story and we don't believe we are getting the answers and support we deserve from the police and the school,' Mr Mohamed said.
'We know that Shukri was being bullied and so do the school and the police. It was name-calling and physical.
'I don't know why she was being bullied but she was a timid, scared, vulnerable girl so she was an easy target. Her mum went to the school to report it and was even in the process of taking her out of the school,' he added.


--- layout: post title: "Visitor as a sum type" description: "The Visitor design pattern is isomorphic to sum types." date: 2018-06-25 14:31 UTC tags: [Software Design, Design Patterns] --- {% include JB/setup %}
{{ page.description }}
This article is part of a series of articles about specific design patterns and their category theory counterparts. In it, you'll see how the Visitor design pattern is equivalent to a sum type.
I think that the most important advantage of a statically typed programming language is that it gives you immediate feedback on your design and implementation work. Granted, that your code compiles may not be enough to instil confidence that you've done the right thing, but it's obvious that when your code doesn't compile, you still have work to do.
A static type system enables you to catch some programming errors at compile time. It prevents you from making obvious mistakes like trying to divide a GUID by a date. Some type systems don't offer much more help than that, while others are more articulate; I think that type systems inhabit a continuous spectrum of capabilities, although that, too, is a simplification.
An often-touted advantage of programming languages like F#, OCaml, and Haskell is that they, in the words of Yaron Minsky, enable you to make illegal states unrepresentable. The way these languages differ from languages like C# and Java is that they have algebraic data types.
In short, algebraic data types distinguishes between product types and sum types. All statically typed language I've seen have product types, which you can think of as combinations of data. Objects with more than a single class fields would be product types.
Sum types (also known as discriminated unions), on the other hand, are types that express mutually exclusive alternatives. Object-oriented programmers might mistake such a statement for sub-classing, but the difference is that object-oriented sub-classing creates a potentially infinite hierarchy of subtypes, while a sum type is statically constrained to a finite number of mutually exclusive cases. This is often useful.
In this article, you'll see that a sum type is isomorphic to a corresponding Visitor.
In a previous article, you saw how to Church-encode a domain-specific sum type. That article, again, demonstrated how to rewrite a domain-specific F# discriminated union as a C# API. The F# type was this PaymentType
sum type:
type PaymentType = | Individual of PaymentService | Parent of PaymentService | Child of originalTransactionKey : string * paymentService : PaymentService
Using Church-encoding in C#, you can arrive at this interface that models the same business problem:
public interface IPaymentType { T Match<T>( Func<PaymentService, T> individual, Func<PaymentService, T> parent, Func<ChildPaymentService, T> child); }
In order to use the API, the compiler obligates you to handle all three mutually exclusive cases defined by the three arguments to the Match
method. Refer to the previous article for more details and code examples. All the C# code is also available on GitHub.
While the C# code works, I think it'd be a fair criticism to say that it doesn't feel object-oriented. Particularly the use of function delegates (Func<PaymentService, T>
, etcetera) seems off. These days, C# is a multi-paradigmatic language, and function delegates have been around since 2007, so it's a perfectly fine C# design. Still, if we're trying to understand how object-oriented programming relates to fundamental programming abstractions, it behoves us to consider a more classic form of object-orientation.
Through a series of refactorings you can transform the Church-encoded IPaymentType
interface to a Visitor. The first step is to use Refactoring's Introduce Parameter Object to turn the three method arguments of Match
into a single object:
public class PaymentTypeParameters<T> { public PaymentTypeParameters( Func<PaymentService, T> individual, Func<PaymentService, T> parent, Func<ChildPaymentService, T> child) { Individual = individual; Parent = parent; Child = child; } public Func<PaymentService, T> Individual { get; } public Func<PaymentService, T> Parent { get; } public Func<ChildPaymentService, T> Child { get; } }
The modified IPaymentType
interface then looks like this:
public interface IPaymentType { T Match<T>(PaymentTypeParameters<T> parameters); }
Clearly, this change means that you must also adjust each implementation of IPaymentType
accordingly. Here's the Match
method of Individual
:
public T Match<T>(PaymentTypeParameters<T> parameters) { return parameters.Individual(paymentService); }
The two other implementations (Parent
and Child
) change in the same way; the modifications are trivial, so I'm not going to show them here, but all the code is available as a single commit.
Likewise, client code that uses the API needs adjustment, like the ToJson
method:
public static PaymentJsonModel ToJson(this IPaymentType payment) { return payment.Match( new PaymentTypeParameters<PaymentJsonModel>( individual : ps => new PaymentJsonModel { Name = ps.Name, Action = ps.Action, StartRecurrent = new ChurchFalse(), TransactionKey = new Nothing<string>() }, parent : ps => new PaymentJsonModel { Name = ps.Name, Action = ps.Action, StartRecurrent = new ChurchTrue(), TransactionKey = new Nothing<string>() }, child : cps => new PaymentJsonModel { Name = cps.PaymentService.Name, Action = cps.PaymentService.Action, StartRecurrent = new ChurchFalse(), TransactionKey = new Just<string>(cps.OriginalTransactionKey) })); }
From argument list isomorphisms we know that an argument list is isomorphic to a Parameter Object, so this step should come as no surprise. We also know that the reverse translation (from Parameter Object to argument list) is possible.
I think it looks a little strange that the functions comprising PaymentTypeParameters<T>
are named Individual
, Parent
, and Child
. Functions do something, so they ought to be named with verbs. This turns out only to be an intermediary step, but I'll add the prefix Run
to all three:
public class PaymentTypeParameters<T> { public PaymentTypeParameters( Func<PaymentService, T> individual, Func<PaymentService, T> parent, Func<ChildPaymentService, T> child) { RunIndividual = individual; RunParent = parent; RunChild = child; } public Func<PaymentService, T> RunIndividual { get; } public Func<PaymentService, T> RunParent { get; } public Func<ChildPaymentService, T> RunChild { get; } }
This doesn't change the structure of the code in any way, but sets it up for the next step.
The definition of PaymentTypeParameters<T>
still doesn't look object-oriented. While it's formally an object, it's an object that composes three function delegates. We've managed to move the function delegates around, but we haven't managed to get rid of them. From object isomorphisms, however, we know that tuples of functions are isomorphic to objects, and that's essentially what we have here. In this particular case, there's no implementation code in PaymentTypeParameters<T>
itself - it's nothing but a group of three functions. You can refactor that class to an interface:
public interface IPaymentTypeParameters<T> { T RunIndividual(PaymentService individual); T RunParent(PaymentService parent); T RunChild(ChildPaymentService child); }
The implementations of Individual
, Parent
, and Child
don't change; only the signature of Match
changes slightly:
public interface IPaymentType { T Match<T>(IPaymentTypeParameters<T> parameters); }
Since this change removes the function delegates, it requires client code to change:
public static PaymentJsonModel ToJson(this IPaymentType payment) { return payment.Match(new PaymentTypeToJsonParameters()); } private class PaymentTypeToJsonParameters : IPaymentTypeParameters<PaymentJsonModel> { public PaymentJsonModel RunIndividual(PaymentService individual) { return new PaymentJsonModel { Name = individual.Name, Action = individual.Action, StartRecurrent = new ChurchFalse(), TransactionKey = new Nothing<string>() }; } public PaymentJsonModel RunParent(PaymentService parent) { return new PaymentJsonModel { Name = parent.Name, Action = parent.Action, StartRecurrent = new ChurchTrue(), TransactionKey = new Nothing<string>() }; } public PaymentJsonModel RunChild(ChildPaymentService child) { return new PaymentJsonModel { Name = child.PaymentService.Name, Action = child.PaymentService.Action, StartRecurrent = new ChurchFalse(), TransactionKey = new Just<string>(child.OriginalTransactionKey) }; } }
The ToJson
method now has to delegate to a private
class that implements IPaymentTypeParameters<PaymentJsonModel>
. In Java and F# you'd be able to pass an object expression, but in C# you have to create an explicit class for the purpose. The implementations of the three methods of the interface still correspond to the three functions the previous incarnations of the code used.
At this point, the Visitor pattern's structure is already in place. The only remaining step is to rename the various parts of the API so that this becomes clear. You can start by renaming the IPaymentTypeParameters<T>
interface to IPaymentTypeVisitor<T>
:
public interface IPaymentTypeVisitor<T> { T VisitIndividual(PaymentService individual); T VisitParent(PaymentService parent); T VisitChild(ChildPaymentService child); }
Notice that I've also renamed the methods from RunIndividual
, RunParent
, and RunChild
to VisitIndividual
, VisitParent
, and VisitChild
.
Likewise, you can rename the Match
method to Accept
:
public interface IPaymentType { T Accept<T>(IPaymentTypeVisitor<T> visitor); }
In Design Patterns, the Visitor design pattern is only described in such a way that both Accept
and Visit
methods have void
return types, but from unit isomorphisms we know that this is equivalent to returning unit. Thus, setting T
in the above API to a suitable unit type (like the one defined in F#), you arrive at the canonical Visitor pattern. The generic version here is simply a generalisation.
For the sake of completeness, client code now looks like this:
public static PaymentJsonModel ToJson(this IPaymentType payment) { return payment.Accept(new PaymentTypeToJsonVisitor()); } private class PaymentTypeToJsonVisitor : IPaymentTypeVisitor<PaymentJsonModel> { public PaymentJsonModel VisitIndividual(PaymentService individual) { return new PaymentJsonModel { Name = individual.Name, Action = individual.Action, StartRecurrent = new ChurchFalse(), TransactionKey = new Nothing<string>() }; } public PaymentJsonModel VisitParent(PaymentService parent) { return new PaymentJsonModel { Name = parent.Name, Action = parent.Action, StartRecurrent = new ChurchTrue(), TransactionKey = new Nothing<string>() }; } public PaymentJsonModel VisitChild(ChildPaymentService child) { return new PaymentJsonModel { Name = child.PaymentService.Name, Action = child.PaymentService.Action, StartRecurrent = new ChurchFalse(), TransactionKey = new Just<string>(child.OriginalTransactionKey) }; } }
You can refactor all the other Church encoding examples I've shown you to Visitor implementations. It doesn't always make the code more readable, but it's possible.
In this article, I've shown how to refactor from a Church-encoded sum type to a Visitor, using the following refactoring steps:
Run
prefix))Algebraic data types enable you to make illegal states unrepresentable. Most programming languages have product types, so it's the lack of sum types that seems to make the difference between languages like C# and Java on the one side, and languages like F#, OCaml, or Haskell on the other side.
You can, however, achieve the same objective with object-oriented design. The Visitor design pattern is equivalent to sum types, so everything you can express with a sum type in, say, F#, you can express with a Visitor in C#.
That's not to say that these two representations are equal in readability or maintainability. F# and Haskell sum types are declarative types that usually only take up a few lines of code. Visitor, on the other hand, is a small object hierarchy; it's a more verbose way to express the idea that a type is defined by mutually exclusive and heterogeneous cases. I know which of these alternatives I prefer, but if I were caught in an object-oriented code base, it's nice to know that it's still possible to model a domain with algebraic data types.


Captain Bezique:
Welcome to the village of Gludin, traveler. I am Captain Bezique of these parts. These days, our village is in a frenzy of construction, restoring the damage from the war with Gracia.
Ask about Gracia
Ask about the war
Ask about the local lord and tax rate.
Quest


An ecommerce company based in New York City sells clothing online and they also have in-store style and clothing advice sessions.
Python, Pandas, Numpy, Seaborn, Scikit-learn
Based on a customer dataset given by the company, find out whether the company should focus on developing
their
mobile app or web app to best serve the customers that will
, in turn, generate the most profit for the company.
Let's begin!
Let's read in the dataset
import pandas as pd
customers = pd.read_csv("ecomm_customers")
list(customers.columns)
import seaborn as sns
sns.heatmap(customers.corr(), annot=True)
sns.jointplot(x="Time on App", y="Yearly Amount Spent", data=customers)
sns.jointplot(x="Time on Website", y="Yearly Amount Spent", data=customers)
from sklearn.model_selection import train_test_split
y = customers['Yearly Amount Spent']
X = customers[['Avg. Session Length', 'Time on App', 'Time on Website', 'Length of Membership']]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
from sklearn.linear_model import LinearRegression
lm = LinearRegression()
lm.fit(X_train, y_train)
predictions = lm.predict(X_test)
from sklearn import metrics
import numpy as np
print("RMSE:", np.sqrt(metrics.mean_squared_error(y_test, predictions)))
coeffs = pd.DataFrame(lm.coef_, X.columns)
coeffs.columns = ['Coefficient']
coeffs
The End.
I hope you enjoyed the reading. <3


See: Description
| Interface | Description |
|---|---|
| CycAddress |
Describes the address of a Cyc server.
|
| CycServerInfo |
Provides basic information about the state and location of the server to which the CycSession is
connected (or was connected.) All data returned should be generated by examining the current
session connection, or retrieved from the server.
|
| CycSession |
An active (or potentially active) session with a Cyc server.
|
| CycSession.SessionListener |
Provides notifications about changes to a CycSession.
|
| CycSessionConfiguration |
Configuration parameters used by the Session API to establish a new
CycSession . |
| CycSessionConfigurationProperties |
This defines the canonical set of names for all
CycSessionConfiguration properties. |
| SessionManager<T extends CycSession> |
The SessionManager is responsible for managing the lifecycle of
CycSession s, from
configuration, to creation, to caching, to cleanup, and providing appropriate CycSessions to API
and application code that requires them. |
| SessionManagerConfiguration |
Configuration parameters for a
SessionManager . |
| SessionManagerConfigurationProperties |
This defines the canonical set of names for all
SessionManagerConfiguration properties. |
| SessionOptions |
A set of modifiable options, such as the name of the cyclist making assertions and the project's
KE purpose.
|
| SessionOptions.DefaultSessionOptions |
An immutable set of options, including the name of the cyclist making assertions, and
the project's KE purpose.
|
| Class | Description |
|---|---|
| ServerAddress |
ServerAddress describes a server's hostname and port.
|
| Enum | Description |
|---|---|
| CycServerReleaseType |
Enum representing Cyc server types.
|
| CycSession.ConnectionStatus |
The connection status of a
CycSession . |
The Session API defines simple, yet flexible configuration-driven management of Cyc sessions -- such as acquiring server addresses, managing connections, etc. -- so that library and application developers don't need to write it into their own code. At the same time, the API is extensible enough developers can reasonably write their own modules to address unique configuration needs.
End users should only need to directly interact with the classes and interfaces defined in com.cyc.session. Interfaces and classes in sub-packages are for implementation providers.
Copyright © 2015–2018 Cycorp, Inc. All rights reserved.


InGames
Home
(current)
About
News
Store Submission
Subscriber Store
Logout
Sign up
Absolute War
Will be available for InGames subscribers starting next month.
The Deadly Sins
InGames
Joy
InGames
Mephisto
BVictor
Dungeon One
InGames
Game name
Dev Name
Game name
Dev Name
Game name
Dev Name
Game name
Dev Name
Game name
Dev Name
Game name
Dev Name
Game name
Dev Name
Game name
Dev Name
Game name
Dev Name
Game name
Dev Name
Game name
Dev Name
Game name
Dev Name
Game name
Dev Name
Game name
Dev Name
Game name
Dev Name
Game name
Dev Name


Starliner flies for the first time, but one of its parachutes failed to deploy
Parachutes are an old technology, but they are very hard to get right.
by Eric BergerOn a cold Monday morning in New Mexico, Boeing's Starliner spacecraft took flight for the first time. Under the power of its main launch abort engines, the capsule accelerated to 650mph in just 5 seconds during a demonstration of its escape system.
The pad abort test marked a critical milestone as Boeing seeks to fly humans to the International Space Station sometime in 2020. During Monday's 75-second test, Starliner appeared to successfully demonstrate its ability to rapidly escape from a problem with its Atlas V rocket during launch.
The test evidently proceeded nominally until the main parachutes deployed—only two rather than three emerged from the capsule as it descended to the desert floor. During the webcast, both Boeing's Jessica Landa and NASA's Dan Huot said the deployment of two parachutes fell within the safety requirements of the system, and that this result was "within the bounds" of this test.
However, the issue of parachutes has bedeviled both Boeing and SpaceX during their development of spacecraft to take humans into orbit for NASA's commercial crew program. Both companies have had failures during their test programs and have had to change their chute designs. Parachutes are an old technology, but they are very hard to get right and represent a single-point failure during a spaceflight.
While it is true that Starliner could return from space with just two of three parachutes functioning, it seems reasonable that NASA will want to spend some time studying this particular failure to fully understand its cause. Boeing has planned an orbital flight test of the Starliner vehicle—there will be no astronauts on board this mission—for December 17. If this test proceeds on schedule, it will send a strong signal that neither NASA nor Boeing is particularly concerned about this parachute failure.
One other notable event during Monday's test was the large amount of orange smoke from dinitrogen tetroxide propellant that emanated from Starliner's Service Module as it came down to the ground. Some of this drifted across the area where the capsule came to rest, potentially fouling the recovery site. It was not immediately clear whether this presented a real issue.
Listing image by NASA TV


--- layout: docpage title: "Documentation" is_homepage: false is_sphinx_doc: true doc-parent: "Cassandra Tools" doc-parent: "SSTable Tools" doc-title: "sstablelevelreset" doc-header-links: ' ' doc-search-path: "../../search.html" extra-footer: ' ' ---
If LeveledCompactionStrategy is set, this script can be used to reset level to 0 on a given set of sstables. This is useful if you want to, for example, change the minimum sstable size, and therefore restart the compaction process using this new configuration.
See http://cassandra.apache.org/doc/latest/operating/compaction.html#leveled-compaction-strategy for information on how levels are used in this compaction strategy.
Cassandra must be stopped before this tool is executed, or unexpected results will occur. Note: the script does not verify that Cassandra is stopped.
ref: https://issues.apache.org/jira/browse/CASSANDRA-5271
sstablelevelreset –really-reset <keyspace> <table>
The really-reset flag is required, to ensure this intrusive command is not run accidentally.
If the keyspace and/or table is not in the schema (e.g., if you misspelled the table name), the script will return an error.
Example:
ColumnFamily not found: keyspace/evenlog.
The script will not set the level if it is already set to 0.
Example:
Skipped /var/lib/cassandra/data/keyspace/eventlog-65c429e08c5a11e8939edf4f403979ef/mc-1-big-Data.db since it is already on level 0
If the level is not already 0, then this will reset it to 0.
Example:
sstablemetadata /var/lib/cassandra/data/keyspace/eventlog-6365332094dd11e88f324f9c503e4753/mc-8-big-Data.db | grep -i level
SSTable Level: 1
sstablelevelreset --really-reset keyspace eventlog
Changing level from 1 to 0 on /var/lib/cassandra/data/keyspace/eventlog-6365332094dd11e88f324f9c503e4753/mc-8-big-Data.db
sstablemetadata /var/lib/cassandra/data/keyspace/eventlog-6365332094dd11e88f324f9c503e4753/mc-8-big-Data.db | grep -i level
SSTable Level: 0


Generic Function TRANSACTION-START-1 Creates and returns a new transaction.
Generic Function TRANSACTION-COMMIT-1 Save all modified objects to disk.
Generic Function TRANSACTION-CHANGED-OBJECT If the given transaction has modified the object with the given object id, this function returns the modified object.
Generic Function TRANSACTION-OLDER-P Returns true iff transaction A is older than transaction B.
Generic Function FIND-CONFLICTING-TRANSACTION Tries to find an open transaction that has modified the object with the given object-id and is older than the given transaction.
Class SERIAL-TRANSACTION-RUCKSACK A serial transaction rucksack allows only one active transaction at a time.
Function TRANSACTION-COMMIT Call transaction-commit-1 to do the real work.
Function CREATE-COMMIT-FILE Write object ids of all dirty objects to the commit file, so recovery can do its job if this transaction never completes.
Function LOAD-COMMIT-FILE Returns two values: a transaction id and a list of object ids (of objects that may be partially committed).
Function VERSION-LIST-POSITION Returns the correct position for a transaction-id in a version-list.
Function SETF OBJECT-VERSION-LIST Let the (previous pointer of the) object in YOUNG-BLOCK point to OLD-BLOCK.


jquery-mobile-960 is a port of 960 grid to jquery mobile
.
It merge the flexibility of 960.gs, and the ease of jquery mobile.
It aims to bring more flexibility to jquery-mobile layout
and thus
make it easier to use on tablets
.
<link href="http://code.jquery.com/mobile/1.0a3/jquery.mobile-1.0a3.min.css" />
<link href="http://jeromeetienne.github.com/jquery-mobile-960/css/jquery-mobile-960.min.css" />

And now you can use normal 960 grid syntax inside jQuery mobile pages
<fieldset class="container_12">
<button type="submit">Button 1</button>

<button type="submit">Button 2</button>

<button type="submit">Button 3</button>
 </fieldset>And without more effort, jQuery Mobile gives you this result. For a complete documentation of 960 syntax, go see its homepage. 960 homepage
The usual demo pages.
Seeing is more convincing than believing
I loved jQuery-mobile ability to make an application by just describing its structure in HTML5. It makes applications real fast to develop.
But jQuery mobile layout is currently rather raw. They only split the width in even parts, providing little controls to the designer. It uses an custom API with names ending with a, b, c or d, ui-block-a for example. Not the classic grid-4 or span-3, so it feel awkward.
All in all, i felt jquery mobile layout was uselessly difficult to use, especially on large screens such as tablets. 960 grids are flexible and well known. So i used ported 960 grids to see if it helps.
jQuery Mobile Grid Docs
jquery-mobile-960
has 2 versions of 960 grids: one is fixed width
of 960px, the other is fluid
. Each version supports 12 and 16 columns.
The code is available on github under MIT license. The author is Jerome Etienne.


Aimed at seismic tomography, the package plots tomographic images, and allows one to interact and query three-dimensional tomographic models. Vertical cross-sectional cuts can be extracted by mouse click. Geographic information can be added easily.
| Version: | 1.1-6 |
| Depends: | R (≥ 2.12) |
| Imports: | RPMG, GEOmap, RSEIS, splancs |
| Published: | 2018-01-18 |
| Author: | Jonathan M. Lees [aut, cre] |
| Maintainer: | Jonathan M. Lees <jonathan.lees at unc.edu> |
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| NeedsCompilation: | no |
| CRAN checks: | RTOMO results |
| Reference manual: | RTOMO.pdf |
| Package source: | RTOMO_1.1-6.tar.gz |
| Windows binaries: | r-devel: RTOMO_1.1-6.zip, r-release: RTOMO_1.1-6.zip, r-oldrel: RTOMO_1.1-6.zip |
| OS X binaries: | r-release: RTOMO_1.1-6.tgz, r-oldrel: RTOMO_1.1-6.tgz |
| Old sources: | RTOMO archive |
Please use the canonical form https://CRAN.R-project.org/package=RTOMO to link to this page.


ShaToya T. Jones
<EMAIL_ADDRESS>|<PHONE_NUMBER> | Orlando, Florida
Portfolio | GitHub | Linkedin
IT, Customer Service, and Education professional. Experienced in HTML5, CSS3, JavaScript, jQuery, Bootstrap, Materialize, Responsive Design, Firebase, Heroku, Node.js, MySQL, MongoDB, Express, Handlebars JS, React, & PHP. Adept at working with diverse teams to implement projects. Extremely motivated and eager to contribute to your company and clients web development.
EDUCATION & CERTIFICATIONS:
University of Central Florida (UCF) – Orlando FL 2/2018
Full Stack Web Development Program
An intensive 24-week long program dedicated to designing and building web applications. Skills learned consisted of HTML5, CSS3, JavaScript, jQuery, Bootstrap, Responsive Design, Firebase, Heroku, Node Js, MySQL, MongoDB, Express, Handlebars JS, React Js, & PHP.
STRAYER UNIVERSITY- Orlando FL
Master of Science in Information Assurance 2020
Certified Internet Web Professional
Internet Business Associate 10/2015
DEVRY UNIVERSITY- Orlando FL
Bachelor of Science in Technical Management: Network Communication Management Major 6/2007
- 3.87 GPA, Summa Cum Laude
APPLICATIONS BUILT:
LIRI (Orlando, FL) 2017
Back End Developer
command line node app to return tweets, song information or movie information.
App logs commands
Node.js, NPM Packages: Request, Spotify, Twitter
Liri Bot
TRAIN SCHEDULER (Orlando, FL) 2017
Front End Developer
A train schedule application that host arrival and departure data.
JavaScript, jQuery, Firebase, Moment.js
Train Scheduler
FRIEND FINDER (Orlando, FL) 2017
Full Stack Application
A full-stack application compatibility-based application (a dating application).
JavaScript, MongoDB, Express, Heroku.
Friend Finder
WORK EXPERIENCE:
Ultimate Medical Academy – Tampa, FL Online Adjunct Instructor 4/15- Present
Instruct and monitor online students in the use and care of equipment and materials to prevent injuries and damage.
Ensure student satisfaction and deliver quality instruction.
Prepare materials and classrooms for class activities.
Post Grades, discussion posts, and returns all assignments in a timely manner.
Monitor and evaluate the students’ work against stated learning outcomes and works with students so that they attain a full achievement level.
Attends school meetings and completes other administrative tasks and duties as assigned.
Orange County Public Schools - Orlando, FL Computer Education Teacher/Instructional Tutor 2/10- 6/2016
Serviced students with emotional and behavioral disorders (EBD) and mental health disorders in the area of career technology and computer education.
Taught students’ employability skills, ethical responsibilities, financial skills, leadership skills, communication skills, relate planning methods to life and career goals, and use of industry/technology principles in the workplace.
Taught students’ computer hardware, software, networking, word processing skills, spreadsheet skills, and using the Internet and the World Wide Web.
Prepared students for the Certified Internet Web (CIW) Professional Internet Business Associate (IBA) certification exam.
Worked with students individually and in small groups reinforcing skills based upon instructional guidelines.
Implemented effective learning strategies to ensure academic success.
Prepared unit plans, lesson plans, and Individual Education Plans for students.
Implemented behavior modification systems to encourage good classroom behavior and classroom management.
Effectively implemented behavior modifications for students as a Program Assistant.
Actively interacted with students as an instructional tutor for reading and math academic skills.
Summer Bay Resorts- Clermont, FL Business Analyst/Application Support Tech 1/07- 11/09
Filled and prioritized incoming problem tickets to resolve application and software issues within servers, databases, and other mission-critical systems.
Fostered strong interdepartmental relationships to ensure efficiency across departmental needs and changes.
Performed hands-on fixes at the desktop level, including installing and upgrading software, installing hardware, implementing file backups, and configuring systems and applications.
Created and deployed feedback mechanisms for end users. Analyze results, make recommendations for support process improvement, and implement changes.
Held responsibility for weekly Quality Control in On-Time ticketing system which tracks end user trouble tickets.
Designed company data closets and racks that are comprised of switches, servers, APC battery backups, personal computers, uninterruptible power supplies, a raid, a network attached storage, central processing units, media converters, cable spacers, patch panels, and power strips with diagrams using Microsoft Visio.
Participated in reconfiguring the Summer Bay Resort’s network system to better support end users.
Created Business Requirements Documents (BRDs) providing the business solution for IT projects.
Coordinated with developers and network operating staff to resolve customer reported bugs and computer configuration issues.
Acted as a liaison for third party vendors in software applications used and supported by the organization.
AFFILIATIONS:
Zeta Phi Beta Sorority, Inc.- Member/ Vice President


First Name
Last Name
Gender
Age
Country of Origin
Submit
Plan A Workout Today!
Check the Leaderboard!
Resources & Contact Us
Tutorial
xfbfb


X
TARHEEL TIC-TAC-TOE
Home
About
Download
Play
Bonus: Matching Game!
Your browser does not support the video tag.
Click to Begin


{% load static %}
Welcome to the Game Collector's Page
{{ user.username }} {% if user.is_authenticated %}
Add a Game
Log Out
{# If they do have entries #} {% if allEntries %}
{% for eachEntry in allEntries %}
{{ eachEntry.name }}
Edit
or
Delete
{% endfor %}
{# If they don't have any games. #} {% else %}
Add some games!!!!!!!!!!
{% endif %} {# This is for users not logged in #} {% else %}
Create a user
or
Log in
{% endif %}


Old Duff Genever 100% Maltwine
Old Duff Genever 100% Maltwine with the Seal of Schiedam is an homage to the style of genever which spread all around the world from the 1500s to the late 1800s, which is when more and more Dutch distillers began using neutral spirit as well as maltwine. Only three 100% maltwine genever brands in existence qualify for the Seal of Schiedam.
To make Old Duff Genever 100% Maltwine, we first mill rye and barley grains in De Vrijheid (The Freedom) windmill, right outside distillery De Tweelingh (“The Twin”) in the historic Dutch distilling town of Schiedam. De Vrijheid was built in 1785, and milling still occurs using wind power and milling stones.
Next we ferment a mash of ⅔ rye and ⅓ malted barley for five days, then distill it – with all the grains as well as the fermented liquid in the pot-still – three times, to create what is called maltwine.
 Nothing else is added but water to adjust the strength to 45% abv, and then it is bottled.
To be awarded the Seal of Schiedam – a paper label sealing the bottle, countersigned by the mayor of Schiedam since 1902 – a 100% maltwine genever must be made in a designated distillery in Holland, based only on grains, distilled only in a pot-still for a minimum of three times, and be bottled at between 43% abv and 48% abv. Additionally, the distillery must be used only to pot-distill genever – it is not permitted to have any other kind of still than a pot-still in the building! Only two such designated distilleries still exist, both in Schiedam – De Tweelingh, and the Genever Museum itself, housed in a former distillery less than half a mile away from De Tweelingh.
Why do we do it this way?
We mill the grain in De Vrijheid windmill because that’s how it was always done – it might be cheaper or more efficient to use a modern mill with a digital readout, but that’s not how genever was made hundreds of years ago. We use lots of rye because it creates an incredible flavour and is historically accurate, even though rye is a difficult grain to work with. Rye tends to foam when fermenting, and requires a long, expensive fermentation period of five days as opposed to 48 hours for most other grains. Rye began to fall out of favour with Dutch distillers in the mid-1700s when they gained access to wheat and corn that were both cheaper and easier to work with. Likewise, hops were once very common in genever, but began to be overshadowed by more glamourous botanicals such as citrus peels and nutmeg, brought back to Holland in the 1600s and 1700s on the ships of the Dutch East India Company (VOC) and the Chartered West Indies Company (GWIC).
[featured drink recipes with link to more]


profile
approach
expertise
people
further information
portfolio
public space
infrastructure
community
private space
landscape planning
contact


Hexahover is 2-6 player bumper-car game I made with two friends as an entry for the 72-hour Ludum Dare 38 game jam competition.
The aim of the game is to bump the other players off the constantly changing playing field in order to be the last one standing.
My main roles for the project included player movement, audio programming, as well as the basic camera movement.
Play the game here: solarbear.itch.io/hexahover
Other team members:


Grand Cayman is the most visited of the Cayman Islands and the best for supplies (but these can be expensive) and services. Good for snorkelling as well as diving.
It is a popular stopover for yachts on passage between Panama and Key West, Florida.
It is also a popular stop for cruise ships and the prices charged reflect that..
Position 19° 18'N, 81° 23'35"W.
Boats are normally directed to one of the orange mooring buoys. Occasionally boats are asked to go directly to the commercial dock near Customs to complete formalities but it is possible to decline to do this if conditions are such that the concrete dock might damage the boat.
Boats must arrive with an outbound clearance from their last port of call.
Immigration will normally come out to the boat in a launch to deliver the necessary paperwork and then guide you to the jetty adjacent to the offices to complete formalities.
Officials are reported to be very polite, helpful and friendly.
Clearing out can be done on shore and all the crew must attend.
Cruisers have reported being fined for failing to fly the "Q" flag upon arrival, dropping an anchor on coral (you must anchor in sandy spots only), or failing to report directly and immediately to George Town (unless advised otherwise by George Town Security).
If there any cruise ships have recently arrived, yachts will need to wait until they have been cleared first.
If there is a strong north westerly wind, then the Authorities may direct you to anchor at Spotts Bay on the southern side of the island (be sure to avoid anchoring in coral!)
Last updated January 2016.
Contact the Port Authority for information on the location of their 10 orange mooring buoys.
There are many moorings around the island and should be used in preference to anchoring if possible. Moorings at dive sites are identified by a white buoy with a blue strip and are available to the public at no charge. Normally they should only be used for an hour or two, but can be used overnight when diving for the day has finished.
Anchoring
There is very limited anchoring off George Town and it is generally uncomfortable due to the movement of the many cruise ships and ferries. North Sound is much calmer and quieter and from here it's possible to hire a car and explore the island.
Beware of the shallow depth (max. 7ft) in North Sound. Inside North Sound there are several anchorages and marinas. Governor's Creek anchorage, on the west side, is both sheltered and convenient for shops. Max. draft 6ft.
Dinghies can be landed almost anywhere, execpt where cruise ship passengers are being landed (due to security concerns).
Marinas
The marina, run by the Cayman Islands Yacht Club, in North Sound, has been extensively re-built and has visitor berthing.
Harbour House Marina and Boatyard is mid way along the South side of North Sound. This is less of a marina and more a yard with tie ups along a channel.
Barcadere Marina is the newest facility in the SW corner of North Sound (opened 2010).
The restaurant, Kaibo, in the NE corner has some berthing, although it is rather remote from the town.
Last updated December 2015.