ESTBeaconConnection Class Reference
| Inherits from | NSObject |
| Declared in | ESTBeaconConnection.h |
Overview
The ESTBeaconConnection
class defines the interface for interacting with a single Estimote beacon. It enables you to connect to the device, retrieve properties and change its configuration settings.
The ESTBeaconConnection instance can be initialized using CLBeacon object or mac address being unique identifier of particular device. Fetch required beacon details you can use:
startRangingBeaconsInRegion:
- which is a CoreLocation based scan and deliversCLBeacon
objects.startEstimoteBeaconsDiscovery
- which is a CoreBluetooth based scan and deliversESTBluetoothBeacon
object containing mac address.
Properties become editable once connected to the beacon. See connect for more details about connecting to the beacon. You will also need to assign a delegate to be notified about connection and disconnection events. The delegate needs to conform to the ESTBeaconConnectionDelegate
protocol.
Tasks
Other Methods
-
delegate
property -
identifier
property -
connectionStatus
property -
+ connectionWithProximityUUID:major:minor:delegate:
-
+ connectionWithBeacon:delegate:
-
+ connectionWithMacAddress:delegate:
-
+ connectionWithIdentifier:delegate:
-
– initWithProximityUUID:major:minor:delegate:startImmediately:
-
– initWithBeacon:delegate:startImmediately:
-
– initWithMacAddress:delegate:startImmediately:
-
– initWithIdentifier:delegate:startImmediately:
Connection handling
Device identification
-
macAddress
property -
name
property -
location
property -
latitude
property -
longitude
property -
indoorLocationIdentifier
property -
indoorLocationName
property -
color
property -
peripheral
property -
broadcastingScheme
property
iBeacon settings
-
proximityUUID
property -
motionProximityUUID
property -
major
property -
minor
property -
power
property -
advInterval
property -
eddystoneNamespace
property -
eddystoneInstance
property -
eddystoneURL
property -
hardwareVersion
property -
firmwareVersion
property -
rssi
property
Power management
-
batteryLevel
property -
batteryType
property -
remainingLifetime
property -
basicPowerMode
property -
smartPowerMode
property -
estimoteSecureUUIDState
property -
motionUUIDState
property
Sensors handling
-
motionState
property -
temperatureState
property -
conditionalBroadcastingState
property -
motionDetectionState
property
Reading methods for sensors
-
– readTemperatureWithCompletion:
-
– readAccelerometerCountWithCompletion:
-
– resetAccelerometerCountWithCompletion:
Writing methods for broadcasting settings
Writing methods for iBeacon settings
-
– writeName:completion:
-
– writeProximityUUID:completion:
-
– writeMajor:completion:
-
– writeMinor:completion:
-
– writeAdvInterval:completion:
-
– writePower:completion:
Writing methods for Google beacons
-
– writeEddystoneDomainNamespace:completion:
-
– writeEddystoneHexNamespace:completion:
-
– writeEddystoneInstance:completion:
-
– writeEddystoneURL:completion:
Writing methods for power management
Writing methods for security features
Writing methods for sensors
-
– writeMotionDetectionEnabled:completion:
-
– writeMotionUUIDEnabled:completion:
-
– writeCalibratedTemperature:completion:
Writing methods for GPS location
Writing methods for Cloud Tags setting of a device
Reset to factory settings
-
– resetToFactorySettingsWithCompletion:
-
– getMacAddressWithCompletion:
-
– findPeripheralForBeaconWithTimeout:completion:
Firmware update
Properties
advInterval
The advertising interval of the beacon in ms.
@property (readonly, nonatomic) NSNumber *advInterval
See Also
Declared In
ESTBeaconConnection.h
basicPowerMode
A flag indicating availability and status of the Basic Power Mode.
@property (readonly, nonatomic) ESTBeaconPowerSavingMode basicPowerMode
Availability
Estimote OS A2.1
See Also
Declared In
ESTBeaconConnection.h
batteryLevel
The battery charge level for the beacon.
@property (readonly, nonatomic) NSNumber *batteryLevel
Discussion
Battery level ranges from 0 (fully discharged) to 100 (fully charged).
Declared In
ESTBeaconConnection.h
batteryType
The battery model.
@property (readonly, nonatomic) ESTBeaconBatteryType batteryType
See Also
Declared In
ESTBeaconConnection.h
broadcastingScheme
Broadcasting scheme of device.
@property (readonly, nonatomic) ESTBroadcastingScheme broadcastingScheme
Declared In
ESTBeaconConnection.h
color
The color of the beacon.
@property (readonly, nonatomic) ESTColor color
Discussion
This value is stored and retrieved from the Estimote Cloud, which means it might be unavailable under certain circumstances - e.g. no Internet connectivity.
Declared In
ESTBeaconConnection.h
conditionalBroadcastingState
A flag indicating which type of broadcasting is enabled
@property (readonly, nonatomic) ESTBeaconConditionalBroadcasting conditionalBroadcastingState
Availability
Estimote OS A3.0.0
Declared In
ESTBeaconConnection.h
connectionStatus
The connection status between the user device and the beacon.
@property (readonly, nonatomic) ESTConnectionStatus connectionStatus
Declared In
ESTBeaconConnection.h
delegate
Delegate object receiving callbacks.
@property (nonatomic, weak) id<ESTBeaconConnectionDelegate> _Nullable delegate
Declared In
ESTBeaconConnection.h
eddystoneInstance
Instance ID of Google Eddystone - part of device identification.
@property (readonly, nonatomic) NSString *eddystoneInstance
Declared In
ESTBeaconConnection.h
eddystoneNamespace
Namespace ID of Google Eddystone - part of device identification.
@property (readonly, nonatomic) NSString *eddystoneNamespace
Declared In
ESTBeaconConnection.h
eddystoneURL
URL advertised by Google Eddystone device in URL mode.
@property (readonly, nonatomic) NSString *eddystoneURL
Declared In
ESTBeaconConnection.h
estimoteSecureUUIDState
A flag indicating status of Estimote Secure UUID.
@property (readonly, nonatomic) ESTBeaconEstimoteSecureUUID estimoteSecureUUIDState
Availability
Estimote OS 2.2
See Also
Declared In
ESTBeaconConnection.h
firmwareVersion
The firmware version of the beacon.
@property (readonly, nonatomic) NSString *firmwareVersion
Declared In
ESTBeaconConnection.h
hardwareVersion
The hardware version of the beacon.
@property (readonly, nonatomic) NSString *hardwareVersion
Declared In
ESTBeaconConnection.h
identifier
Identifier of the device that you aim to connect. Based on the method you used to initialize it may contain: - Device Mac address - Device iBeacon properties formatted as follows: ProximityUUUID:Major:Minor
@property (nonatomic, strong, readonly) NSString *identifier
Declared In
ESTBeaconConnection.h
indoorLocationIdentifier
The identifier of indoor location beacon belongs to.
@property (readonly, nonatomic) NSString *indoorLocationIdentifier
Discussion
This value is stored and retrieved from the Estimote Cloud.
Declared In
ESTBeaconConnection.h
indoorLocationName
The name of indoor location beacon belongs to.
@property (readonly, nonatomic) NSString *indoorLocationName
Discussion
This value is stored and retrieved from the Estimote Cloud.
Declared In
ESTBeaconConnection.h
latitude
The latitude of beacon’s GPS location.
@property (readonly, nonatomic) NSNumber *latitude
Discussion
This value is stored and retrieved from the Estimote Cloud.
Declared In
ESTBeaconConnection.h
location
The dictionary containing geocoding data for beacon’s GPS location.
@property (readonly, nonatomic) NSDictionary *location
Discussion
This value is stored and retrieved from the Estimote Cloud.
Declared In
ESTBeaconConnection.h
longitude
The longitude of beacon’s GPS location.
@property (readonly, nonatomic) NSNumber *longitude
Discussion
This value is stored and retrieved from the Estimote Cloud.
Declared In
ESTBeaconConnection.h
macAddress
The MAC address of the beacon.
@property (readonly, nonatomic) NSString *macAddress
Declared In
ESTBeaconConnection.h
major
The most significant value in the beacon.
@property (readonly, nonatomic) NSNumber *major
See Also
Declared In
ESTBeaconConnection.h
minor
The least significant value in the beacon.
@property (readonly, nonatomic) NSNumber *minor
See Also
Declared In
ESTBeaconConnection.h
motionDetectionState
A flag indicating if accelerometer is enabled.
@property (readonly, nonatomic) ESTBeaconMotionDetection motionDetectionState
Availability
Estimote OS A2.1
Declared In
ESTBeaconConnection.h
motionProximityUUID
The proximity ID of the beacon when it’s in motion.
@property (readonly, nonatomic) NSUUID *motionProximityUUID
Availability
Estimote OS 2.0
Discussion
This default to the same value as the proximityUUID
. Setting it to a different value enables you to detect whether a beacon is in motion or not without a need to connect to the beacon. This can be achieved in two ways:
When ranging beacons - if the beacon is in motion, the
proximityUUID
property will be equal to themotionProximityUUID
. Note that themotionProximityUUID
property is not available unless connected to the beacon, so you need to know its value in advance.When monitoring regions - you can have two separate regions, one with the regular
proximityUUID
and one with themotionProximityUUID
. Enter and exit notifications will then correspond to the beacon starting and stopping to move.
Warning: This feature is disabled by default. The option to enable it will be made available in an upcoming update to the SDK.
Declared In
ESTBeaconConnection.h
motionState
A flag indicating if the beacon is in motion or not.
@property (readonly, nonatomic) ESTBeaconMotionState motionState
Discussion
This value changes:
from NO to YES immediately after a still beacon starts moving,
from YES to NO after a beacon stops moving and remains still for 2 seconds.
Declared In
ESTBeaconConnection.h
motionUUIDState
A flag indicating if motion UUID is enabled.
@property (readonly, nonatomic) ESTBeaconMotionUUID motionUUIDState
Availability
Estimote OS A2.1
See Also
Declared In
ESTBeaconConnection.h
name
The name of the beacon.
@property (readonly, nonatomic) NSString *name
Discussion
This value is stored and retrieved from the Estimote Cloud.
Declared In
ESTBeaconConnection.h
peripheral
The underlying Bluetooth peripheral device.
@property (readonly, nonatomic) CBPeripheral *peripheral
Declared In
ESTBeaconConnection.h
power
The power of the beacon’s radio signal in dBm.
@property (readonly, nonatomic) NSNumber *power
Discussion
This is a char
value, so the proper way to retrieve it is [beacon.power charValue]
.
See Also
Declared In
ESTBeaconConnection.h
proximityUUID
The proximity ID of the beacon.
@property (readonly, nonatomic) NSUUID *proximityUUID
See Also
Declared In
ESTBeaconConnection.h
remainingLifetime
Remaining lifetime in days, based on current battery level, advertising interval and broadcasting power values
@property (readonly, nonatomic) NSNumber *remainingLifetime
Declared In
ESTBeaconConnection.h
rssi
The received signal strength of the beacon, measured in decibels.
@property (readonly, nonatomic) NSNumber *rssi
Declared In
ESTBeaconConnection.h
Class Methods
connectionWithBeacon:delegate:
Static method initializing connection object with Estimote beacon
+ (instancetype)connectionWithBeacon:(CLBeacon *)beacon delegate:(id<ESTBeaconConnectionDelegate> _Nullable)delegate
Parameters
- beacon
discovered beacon
- delegate
delegate reference
Return Value
beacon connection object
Declared In
ESTBeaconConnection.h
connectionWithIdentifier:delegate:
Static method initializing connection object with Estimote beacon
+ (instancetype)connectionWithIdentifier:(NSString *)identifier delegate:(id<ESTBeaconConnectionDelegate> _Nullable)delegate
Parameters
- identifier
discovered beacon object identifier
- delegate
delegate reference
Return Value
beacon connection object
Declared In
ESTBeaconConnection.h
connectionWithMacAddress:delegate:
Static method initializing connection object with Estimote beacon
+ (instancetype)connectionWithMacAddress:(NSString *)macAddress delegate:(id<ESTBeaconConnectionDelegate> _Nullable)delegate
Parameters
- macAddress
discovered beacon object MAC address
- delegate
delegate reference
Return Value
beacon connection object
Declared In
ESTBeaconConnection.h
connectionWithProximityUUID:major:minor:delegate:
Static method initializing connection object with Estimote beacon
+ (instancetype)connectionWithProximityUUID:(NSUUID *)proximityUUID major:(CLBeaconMajorValue)major minor:(CLBeaconMinorValue)minor delegate:(id<ESTBeaconConnectionDelegate> _Nullable)delegate
Parameters
- proximityUUID
discovered beacons Proximity UUID
- major
discovered beacons Major
- minor
discovered beacons Minor
- delegate
delegate reference
Return Value
beacon connection object
Declared In
ESTBeaconConnection.h
Instance Methods
cancelConnection
Cancels connection procedure
- (void)cancelConnection
Declared In
ESTBeaconConnection.h
checkFirmwareUpdateWithCompletion:
Checks if an updated firmware is available.
- (void)checkFirmwareUpdateWithCompletion:(ESTObjectCompletionBlock)completion
Parameters
- completion
A block that is called when the check has been completed.
The completion block receives the following parameters:
ESTFirmwareInfoVO value
- Indicates whether an update is available. If so, it also holds additional information about the update.NSError *error
- If an error occurred, this error object describes the error. If the operation completed successfully, the value isnil
.
Discussion
The result of the check is available as a ESTFirmwareInfoVO
class in the completion block and has the following properties:
BOOL isUpdateAvailable
- YES if an update is available, NO if there’s no update available. In the latter case, all the other properties of this structure will benil
.NSString *hardwareVersion
- The version of hardware this firmware update is dedicated for.NSString *firmwareVersion
- The version of the firmware available for update.NSString *changelog
- Changes introduced in the new version.
Declared In
ESTBeaconConnection.h
disconnect
Performs disconnect procedure for connected device.
- (void)disconnect
Declared In
ESTBeaconConnection.h
findPeripheralForBeaconWithTimeout:completion:
Allows to find CBPeripheral device using CBCentralManager scan.
- (void)findPeripheralForBeaconWithTimeout:(NSUInteger)timeout completion:(ESTObjectCompletionBlock)completion
Parameters
- timeout
timeout of scan operation
- completion
completion block returning reference to ESTBeaconConnection object performing operation.
Declared In
ESTBeaconConnection.h
getMacAddressWithCompletion:
Allows to get MAC address.
- (void)getMacAddressWithCompletion:(ESTStringCompletionBlock)completion
Parameters
- completion
completion block returning reference to ESTBeaconConnection object performing operation.
Declared In
ESTBeaconConnection.h
initWithBeacon:delegate:startImmediately:
Method initializing connection object with Estimote beacon with delegate object support
- (instancetype)initWithBeacon:(CLBeacon *)beacon delegate:(id<ESTBeaconConnectionDelegate> _Nullable)delegate startImmediately:(BOOL)startImmediately
Parameters
- beacon
discovered beacon
- delegate
delegate to handle callbacks
- startImmediately
indicates if created object should start connection immediately
Return Value
beacon connection object
Declared In
ESTBeaconConnection.h
initWithIdentifier:delegate:startImmediately:
Method initializing connection object with beacon with delegate object support
- (instancetype)initWithIdentifier:(NSString *)identifier delegate:(id<ESTBeaconConnectionDelegate> _Nullable)delegate startImmediately:(BOOL)startImmediately
Parameters
- identifier
discovered beacon object identifier
- delegate
delegate to handle callbacks
- startImmediately
indicates if created object should start connection immediately
Return Value
beacon connection object
Declared In
ESTBeaconConnection.h
initWithMacAddress:delegate:startImmediately:
Method initializing connection object with beacon with delegate object support
- (instancetype)initWithMacAddress:(NSString *)macAddress delegate:(id<ESTBeaconConnectionDelegate> _Nullable)delegate startImmediately:(BOOL)startImmediately
Parameters
- macAddress
discovered beacon object MAC address
- delegate
delegate to handle callbacks
- startImmediately
indicates if created object should start connection immediately
Return Value
beacon connection object
Declared In
ESTBeaconConnection.h
initWithProximityUUID:major:minor:delegate:startImmediately:
Method initializing connection object with Estimote beacon with delegate object support
- (instancetype)initWithProximityUUID:(NSUUID *)proximityUUID major:(CLBeaconMajorValue)major minor:(CLBeaconMinorValue)minor delegate:(id<ESTBeaconConnectionDelegate> _Nullable)delegate startImmediately:(BOOL)startImmediately
Parameters
- proximityUUID
discovered beacons Proximity UUID
- major
discovered beacons Major
- minor
discovered beacons Minor
- delegate
delegate to handle callbacks
- startImmediately
indicates if created object should start connection immediately
Return Value
beacon connection object
Declared In
ESTBeaconConnection.h
readAccelerometerCountWithCompletion:
Retrieves the number of times the beacon has been in motion since the last resetAccelerometerCountWithCompletion:
.
- (void)readAccelerometerCountWithCompletion:(ESTNumberCompletionBlock)completion
Parameters
- completion
A block that is called when the counter has been retrieved.
The completion block receives the following parameters:
NSNumber *value
- The value of the counter.NSError *error
- If an error occurred, this error object describes the error. If the operation completed successfully, the value isnil
.
Declared In
ESTBeaconConnection.h
readTemperatureWithCompletion:
Retrieves the temperature of surrounding environment reported by the beacon.
- (void)readTemperatureWithCompletion:(ESTNumberCompletionBlock)completion
Parameters
- completion
A block that is called when the temperature has been retrieved from the beacon.
The completion block receives the following parameters:
NSNumber *value
- The temperature in Celsius degrees.NSError *error
- If an error occurred, this error object describes the error. If the operation completed successfully, the value isnil
.
Declared In
ESTBeaconConnection.h
resetAccelerometerCountWithCompletion:
Resets the counter - number of times the beacon has been in motion since the last reset.
- (void)resetAccelerometerCountWithCompletion:(ESTUnsignedShortCompletionBlock)completion
Parameters
- completion
A block that is called when the counter has been reset.
The completion block receives the following parameters:
NSNumber *value
- The new value of the counter.NSError *error
- If an error occurred, this error object describes the error. If the operation completed successfully, the value isnil
.
Declared In
ESTBeaconConnection.h
resetToFactorySettingsWithCompletion:
Resets the beacon’s major
, minor
, proximityUUID
, broadcasting power
and advInterval
to factory settings.
- (void)resetToFactorySettingsWithCompletion:(ESTCompletionBlock)completion
Parameters
- completion
A block that is called when the settings have been reset.
The completion block receives the following parameters:
NSError *error
- If an error occurred, this error object describes the error. If the operation completed successfully, the value isnil
.
Discussion
Warning: This method does not reset the motionProximityUUID
. You can reset it yourself to the default value of ESTIMOTE_PROXIMITY_UUID
using the <writeMotionProximityUUID:completion:>
method.
Declared In
ESTBeaconConnection.h
startConnection
Initiates connection procedure
- (void)startConnection
Declared In
ESTBeaconConnection.h
startConnectionWithAttempts:connectionTimeout:
Initiates connection procedure with additional params
- (void)startConnectionWithAttempts:(NSInteger)attempts connectionTimeout:(NSInteger)timeout
Parameters
- attempts
number of connection attempts
- timeout
timeout of single connection
Declared In
ESTBeaconConnection.h
updateFirmwareWithProgress:completion:
Updates the beacon’s firmware.
- (void)updateFirmwareWithProgress:(ESTProgressBlock)progress completion:(ESTCompletionBlock)completion
Parameters
- progress
A block that is called throughout the update process to report on the progress.
The progress block receives the following parameters:
NSInteger value
- A percentage value (0-100) indicating the update progress.NSString *description
- A description of the current stage of the update.NSError *error
- If an error occurred, this error object describes the error. If the operation completed successfully, the value isnil
.
- completion
A block that is called when the update has been completed.
The completion block receives the following parameters:
NSError *error
- If an error occurred, this error object describes the error. If the operation completed successfully, the value isnil
.
Declared In
ESTBeaconConnection.h
valueObject
Returns value object for current ESTBeaconConnection
object.
- (ESTBeaconVO *)valueObject
Declared In
ESTBeaconConnection.h
writeAdvInterval:completion:
Sets the advertising interval, i.e. advInterval
.
- (void)writeAdvInterval:(unsigned short)interval completion:(ESTUnsignedShortCompletionBlock)completion
Parameters
- interval
The new
advInterval
in milliseconds. The value must be in range from 100 to 2000.
- completion
A block that is called when the new
advInterval
has been set.The completion block receives the following parameters:
unsigned short value
- The newadvInterval
.NSError *error
- If an error occurred, this error object describes the error. If the operation completed successfully, the value isnil
.
Declared In
ESTBeaconConnection.h
writeBasicPowerModeEnabled:completion:
Enables or disables the basicPowerMode
.
- (void)writeBasicPowerModeEnabled:(BOOL)enable completion:(ESTBoolCompletionBlock)completion
Parameters
- enable
YES to enable, NO to disable the Basic Power Mode.
- completion
A block that is called when the Basic Power Mode has been enabled or disabled.
The completion block receives the following parameters:
BOOL value
- YES if the Basic Power Mode has been enabled, NO if the Basic Power Mode has been disabled.NSError *error
- If an error occurred, this error object describes the error. If the operation completed successfully, the value isnil
.
Declared In
ESTBeaconConnection.h
writeBroadcastingScheme:completion:
Changes broadcasting scheme for device. Broadcasting scheme describes set settings defining what kind of data and how often is broadcasting.
- (void)writeBroadcastingScheme:(ESTBroadcastingScheme)broadcastingScheme completion:(ESTUnsignedShortCompletionBlock)completion
Discussion
Possible options are: - ESTBroadcastingSchemeEstimote - broadcasts iBeacon packets with customizable Advertising interval. Default advertising interval (950ms) value is set after method invocation. - ESTBroadcastingSchemeIBeacon - broadcasts iBeacon packets with iBeacon Advertising interval. - ESTBroadcastingSchemeEddystoneURL - broadcasts Eddystone-URL packets with customizable interval. Default advertising interval (500ms) value is set after method invocation. - ESTBroadcastingSchemeEddystoneUID - broadcasts Eddystone-UID packets with customizable interval. Default advertising interval (500ms) value is set after method invocation.
Declared In
ESTBeaconConnection.h
writeCalibratedTemperature:completion:
Calibrates the beacon’s thermometer sensor.
- (void)writeCalibratedTemperature:(NSNumber *)temperature completion:(ESTNumberCompletionBlock)completion
Parameters
- temperature
The reference temperature in Celsius degrees.
- completion
A block that is called when the calibration has been completed.
The completion block receives the following parameters:
NSNumber *value
- The current temperature in Celsius degrees, after the calibration.NSError *error
- If an error occurred, this error object describes the error. If the operation completed successfully, the value isnil
.
Discussion
Beacons are basically calibrated out of the box, but additional manual calibration is recommended in order to minimize measurement error. When the sensor is not calibrated, measurement error is ±4 ℃. After calibration it’s ±2 ℃.
To perform calibration you need to keep the beacon at room temperature for a couple of minutes. Use a separate thermometer to read the actual value (in Celsius degrees) and pass it to this method.
Declared In
ESTBeaconConnection.h
writeConditionalBroadcastingType:completion:
Changes the conditional broadcasting type. Note that the accelerometer must be enabled for this feature to work i.e. you must set Motion Detection Flag in order to use this feature. Possible options are: - ESTBeaconConditionalBroadcastingOff - the default mode, beacon is broadcasting all the time - ESTBeaconConditionalBroadcastingMotionOnly – beacon only advertises when it’s in motion. Note that UUID used in advertising packet depends on Motion UUID Flag state. - ESTBeaconConditionalBroadcastingFlipToStop – beacon does not advertise when it’s stationary and facing gecko pad up. If the beacon is moving or oriented differently it acts normally.
- (void)writeConditionalBroadcastingType:(ESTBeaconConditionalBroadcasting)conditionalBroadcasting completion:(ESTBoolCompletionBlock)completion
Parameters
- conditionalBroadcasting
Conditional broadcasting mode to be set in the beacon.
- completion
A block that is called when the belly mode has been enabled or disabled.
Availability
Estimote OS A3.0.0
Declared In
ESTBeaconConnection.h
writeEddystoneDomainNamespace:completion:
Sets Google beacon Namespace ID. Value should be provided as a domain formatted string (FQDN) according to Google beacon best practices. Method automatically produce SHA-1 hash. First 10 bytes of produced hash are used as Namespace ID.
- (void)writeEddystoneDomainNamespace:(NSString *)eddystoneNamespace completion:(ESTStringCompletionBlock)completion
Parameters
- eddystoneNamespace
Google beacon Namespace ID
- completion
A block that is called when the Namespace has been changed or error occurred.
Declared In
ESTBeaconConnection.h
writeEddystoneHexNamespace:completion:
Sets Google beacon Instance ID. Value should be provided as a Hexadecimal string representing 6 bytes (12 character string - 2 chars for 1 byte).
- (void)writeEddystoneHexNamespace:(NSString *)eddystoneNamespace completion:(ESTStringCompletionBlock)completion
Parameters
- completion
A block that is called when the Instance ID has been changed or error occurred.
- gInstance
Google beacon Instance ID
Declared In
ESTBeaconConnection.h
writeEddystoneInstance:completion:
Sets Google beacon Instance ID. Value should be provided as a Hexadecimal string representing 6 bytes (12 character string - 2 chars for 1 byte).
- (void)writeEddystoneInstance:(NSString *)eddystoneInstance completion:(ESTStringCompletionBlock)completion
Parameters
- completion
A block that is called when the Instance ID has been changed or error occurred.
- gInstance
Google beacon Instance ID
Declared In
ESTBeaconConnection.h
writeEddystoneURL:completion:
Sets Eddystone URL. Defined URL is provided in advertising packet when ESTBeaconPacketTypeEddystoneURL is selected as a packet type.
- (void)writeEddystoneURL:(NSString *)eddystoneURL completion:(ESTStringCompletionBlock)completion
Parameters
- eddystoneURL
Eddystone URL
- completion
A block that is called when the URL has been changed or error occurred.
Declared In
ESTBeaconConnection.h
writeEstimoteSecureUUIDEnabled:completion:
Enables Estimote Secure UUID.
- (void)writeEstimoteSecureUUIDEnabled:(BOOL)enable completion:(ESTBoolCompletionBlock)completion
Parameters
- enable
Yes to enable, No to disable Estimote Secure UUID.
- completion
Block with operation result.
Declared In
ESTBeaconConnection.h
writeLatitude:longitude:completion:
Saves GPS latitude and longitude in Estimote Cloud. After successful save lat and log is set in beacon connection object.
- (void)writeLatitude:(NSNumber *)latitude longitude:(NSNumber *)longitude completion:(ESTCompletionBlock)completion
Parameters
- latitude
GPS latitude
- longitude
GPS longitude
- completion
completion block fired on operation completion
Declared In
ESTBeaconConnection.h
writeMajor:completion:
Sets the major
value.
- (void)writeMajor:(unsigned short)major completion:(ESTUnsignedShortCompletionBlock)completion
Parameters
- major
The new
major
value.
- completion
A block that is called when the new
major
value has been set.The completion block receives the following parameters:
unsigned short value
- The newmajor
value.NSError *error
- If an error occurred, this error object describes the error. If the operation completed successfully, the value isnil
.
Declared In
ESTBeaconConnection.h
writeMinor:completion:
Sets the minor
value.
- (void)writeMinor:(unsigned short)minor completion:(ESTUnsignedShortCompletionBlock)completion
Parameters
- minor
The new
minor
value.
- completion
A block that is called when the new
minor
value has been set.The completion block receives the following parameters:
unsigned short value
- The newminor
value.NSError *error
- If an error occurred, this error object describes the error. If the operation completed successfully, the value isnil
.
Declared In
ESTBeaconConnection.h
writeMotionDetectionEnabled:completion:
Enables or disables the accelerometer allowing to detect if beacon is in motion.
- (void)writeMotionDetectionEnabled:(BOOL)enable completion:(ESTBoolCompletionBlock)completion
Parameters
- enable
YES to enable, NO to disable the accelerometer.
- completion
A block that is called when the accelerometer has been enabled or disabled.
The completion block receives the following parameters:
BOOL value
- YES if the accelerometer has been enabled, NO if the accelerometer has been disabled.NSError *error
- If an error occurred, this error object describes the error. If the operation completed successfully, the value isnil
.
Availability
Estimote OS A2.1
Declared In
ESTBeaconConnection.h
writeMotionUUIDEnabled:completion:
Enables or disables the motion UUID.
- (void)writeMotionUUIDEnabled:(BOOL)enable completion:(ESTBoolCompletionBlock)completion
Parameters
- enable
YES to enable, NO to disable the motion UUID.
- completion
A block that is called when the motion UUID has been enabled or disabled.
The completion block receives the following parameters:
BOOL value
- YES if the motion UUID has been enabled, NO if the motion UUID has been disabled.NSError *error
- If an error occurred, this error object describes the error. If the operation completed successfully, the value isnil
.
Availability
Estimote OS A2.1
Declared In
ESTBeaconConnection.h
writeName:completion:
Sets the name
of the beacon.
- (void)writeName:(NSString *)name completion:(ESTStringCompletionBlock)completion
Parameters
- name
The new name of the beacon.
- completion
A block that is called when the new name has been set.
The completion block receives the following parameters:
NSString *value
- The new name of the beacon.NSError *error
- If an error occurred, this error object describes the error. If the operation completed successfully, the value isnil
.
Declared In
ESTBeaconConnection.h
writePower:completion:
Sets the broadcasting power
.
- (void)writePower:(ESTBeaconPower)power completion:(ESTPowerCompletionBlock)completion
Parameters
- power
The new broadcasting
power
. Must be one of the ESTBeaconPower values.
- completion
A block that is called when the new broadcasting power has been set.
The completion block receives the following parameters:
ESTBeaconPower value
- The new broadcastingpower
.NSError *error
- If an error occurred, this error object describes the error. If the operation completed successfully, the value isnil
.
Declared In
ESTBeaconConnection.h
writeProximityUUID:completion:
Sets the proximityUUID
.
- (void)writeProximityUUID:(NSString *)pUUID completion:(ESTStringCompletionBlock)completion
Parameters
- pUUID
The new
proximityUUID
.
- completion
A block that is called when the new
proximityUUID
has been set.The completion block receives the following parameters:
NSString *value
- The newproximityUUID
.NSError *error
- If an error occurred, this error object describes the error. If the operation completed successfully, the value isnil
.
Discussion
Warning: If you change the proximityUUID
, you might want to consider changing the motionProximityUUID
as well. If you don’t, the beacon will broadcast two different proximityUUIDs
depending on whether its in motion or not!@
Declared In
ESTBeaconConnection.h
writeSmartPowerModeEnabled:completion:
Enables or disables the smartPowerMode
.
- (void)writeSmartPowerModeEnabled:(BOOL)enable completion:(ESTBoolCompletionBlock)completion
Parameters
- enable
YES to enable, NO to disable the Smart Power Mode.
- completion
A block that is called when the Smart Power Mode has been enabled or disabled.
The completion block receives the following parameters:
BOOL value
- YES if the Smart Power Mode has been enabled, NO if the Smart Power Mode has been disabled.NSError *error
- If an error occurred, this error object describes the error. If the operation completed successfully, the value isnil
.
Declared In
ESTBeaconConnection.h


Ruby Classes
Classing up the Real World with Ruby
May 31, 2014
When we talk about classes in ruby, we are not talking about your favorite course in school. We are talking about how ruby is designed to help you mimic the real world through the use of templates and blueprints (i.e., classes). Ruby classes serve as the springboard where specific instances or manifestation of objects are born.
Let's take an example. Say the local vet clinic has asked you to develop a back-end program to keep track of their many clients (your dog being one of them). Well, you want this program to be efficient and effective. One of the first thing you may think about as you write your pseudocode is how to design and organize your code into the various methods you'll need to write up client profiles, track upcoming appointments, maintain health records, access owner contact information, and other business requirements.
One way to organize the code is to categorize the methods by real world objects such as animals, health records, owners, and appointments. For each category, you create a ruby class that maintains methods and attributes having to do with that specific real world object, like animals.
class Animal
def print_species (species)
p species
end
def print_breed (breed)
p breed
def print_name (name)
p name
end
def print_age (age)
p age
end
def print_gender (gender)
p gender
end
end
Each of the methods defined for the class Animal are called instance methods. Now if the clinic needed to register a husky into the system, you don't have to build methods from scratch to complete the registration. Instead, you can leverage the existing class Animal by building an instance (i.e., manifestation) of it and thereby have access to its methods.
new_client = Animal.new
new_client.breed ('husky') #=> 'husky'
new_client.name ('Xena') #=> 'Xena'
In addition to defining instance methods, you can also define instance variables in classes. As opposed to local variable, where the scope is limited to the context in which the variable was defined in, such as inside a particular method within an instance of a class, an instance variable is accessible by all methods within an instance of a class. In practical terms for our clinic example, we can define the instance variable @name so that it can then be used in multiple methods.
class Animal
def set_name (name)
@name = name
end
def print_name
p @name
end
def print_receipt
puts "You look fabulous and healthy, #{@name}! Here's what your owe: $10.00"
end
end
#calling the methods
new_client = Animal.new
new_client.set_name('Xena') #=> 'Xena'
new_client.print_name #=> 'Xena'
new_client.print_receipt #=> "You look fabulous and healthy, Xena! Here's what your owe: $10.00"
Note that instance variables are identifiable by the '@' in front of the variable name. If we tried to use a local variable instead for the example above, we'll get an undefined local variable or method error.
class Animal
def set_name (name)
name = name
end
def print_name
p name
end
def print_receipt
puts "You look fabulous and healthy, #{name}! Here's what your owe: $10.00"
end
end
#calling the methods
new_client = Animal.new
new_client.set_name('Xena') #=> 'Xena'
new_client.print_name #=> undefined local variable or method `name'
new_client.print_receipt #=> undefined local variable or method `name'
Latest Tweet
tweet tweet
Social
FB Twitter GitHub LinkedIn Google+


| 017:106 Khan | : |
And (it is) a Qur'an which We have divided (into parts), in order that you might recite it to men at intervals. And We have revealed it by stages. (in 23 years). |
| 017:106 Maulana | : |
And it is a Qur'an We have made distinct, so that thou mayest read it to the people by slow degrees, and We have revealed it in portions. |
| 017:106 Pickthal | : |
And (it is) a Qur'an that We have divided, that thou mayst recite it unto mankind at intervals, and We have revealed it by (successive) revelation. |
| 017:106 Rashad | : |
A Quran that we have released slowly, in order for you to read it to the people over a long period, although we sent it down all at once. |
| 017:106 Sarwar | : |
We have divided the Quran into many segments so that you would read them to the people in gradual steps as We reveal them to you from time to time. |
| 017:106 Shakir | : |
And it is a Quran which We have revealed in portions so that you may read it to the people by slow degrees, and We have revealed it, revealing in portions. |
| 017:106 Sherali | : |
And WE have divided the Qur'an in parts that thou mayest read it to mankind slowly and at intervals and WE have sent it down piecemeal. |
| 017:106 Yusufali | : |
(It is) a Qur'an which We have divided (into parts from time to time), in order that thou mightest recite it to men at intervals: We have revealed it by stages. |
Concepts/Themes Covered: القرآن الكريم > حقيقته وتصديقه للكتب الأوائل The Holy Quran> The Quran's Reality and its confirmation of the Previous Books
This tool uses eight English parallel translations for the Holy Quran imported from Mr. Clay Smith. You can also visit Qurany Concepts for browsing the Quran themes or topics. If you want to search the Holy Quran for keywords, please visit Qurany Keywords.


Segmenting Large Imagery Files¶
Google Earth Enterprise Fusion does not allow you to import raw
imagery source files larger than 80 GB. (Raw size = number of
pixels width * number of pixels height * 3.) Therefore, if you
have an imagery source file that is larger than 80 GB, you can
split it into two or more source files using the gesplitkhvr
command.
The gesplitkhvr
tool produces a grid of image files designated
as rows and columns. For example, if you specify two rows by two
columns, the image is split into four smaller files. If you create
a separate resource for each resulting source file, it would look
like this in the Preview pane:
However, you can reconnect the split images by adding them all to a single resource, which would look like this in the Preview pane:
To split a large source file into multiple smaller files:
At the command prompt, change to the folder that contains the tutorial imagery source files by entering:
cd /opt/google/share/tutorials/fusion/Imagery
Convert a
.tif
file to a.khvr
file by entering:gevirtualraster -o path/virtual_raster.khvr usgsSFHiRes.tif
where path is the path to the folder where you want to save the resulting
.khvr
file. (See Creating Imagery Mosaics for more information about thegevirtualraster
tool.)Note
The path where you save the resulting
.khvr
file must be on a known volume. (See “geconfigureassetroot --editvolumes
” in the Command reference.)Change to the folder where you stored the virtual_raster.khvr (the value of path in step 2) by entering:
cd path
Split the
.khvr
file into a 4x4 grid (16 image files) with a 10-pixel overlap among all of the files by entering:gesplitkhvr --rows 4 --cols 4 --overlap 10 virtual_raster.khvr
The names of the resulting files appear on the screen as they are created. The file names are constructed from the name of the original file (
virtual_raster
), a row and column designation for each file (starting with-R1C3
), and the.khvr
extension.
Now you can import the 16 resulting image files into a resource.


Written by Ntsikelelo Mnqokoyi, 7 November 2019
It is common knowledge that if a business is going to be successful then it will need an effective marketing strategy that will not only increase the number of people who know about your business, but will also increase the number of established customers who actually buy whatever it is that your business is offering.
There are traditional methods of marketing known by everyone such as radio/television advertisements, billboard advertising, flyers, catalogues and the list just goes on and on... These methods do work to some extent, however, there are two main problems that I have with which can prove to be very disastrous for any business.
Imagine spending hundreds of thousands of rands on billboards and tv advertisements and not even know if your marketing efforts are paying off or not. Many businesses worldwide have experienced this and it becomes too late to do something when they do eventually figure out that their marketing strategy is either reaching the wrong audience, or worse, is not engaging enough to entice the right audience to buy from their businesses.
It is my experience that digital marketing is the solution to these problems, but before I explain the reason why, let me first explain to you what digital marketing is.
Digital marketing (also known as online or internet marketing) refers to the promotion of a business using the internet. There are many forms of digital marketing that exist to help businesses to promote their products/services such as...
I will upload more posts that will discuss these in detail within the near future so stay tuned to this blog. One of the best things about digital marketing is that it allows your business to connect with and sell to people all over the world which also makes it superior to traditional marketing methods which can only advertise to people of a local area.
Let us recap the two main problems that I have with traditional methods of marketing...
Imagine that your are the marketing director of "Company A" and you want to increase awareness of your business nation-wide by using traditional marketing. You would first need to hire and pay actors and a filming crew to shoot a tv commercial. You would then also need to pay someone to record an advertisement for radio too. Then you would also need to pay even more money to design and set up a network of billboards that will be erected around the country and finally, you would then need to print thousands of flyers or catalogues and pay a network of people to distribute them around the country for you.
That sounds like too much money to be paying for marketing that you could be using somehwere else to grow your business instead which can easily cost hundreds of thousands (if not millions) of rands. The problem with this is that most small businesses do not have a few hundred thousand rands lying around in their bank accounts just to spend on such marketing so does this mean that they cannot market themselves to large audiences? The answer to that is a resounding no infact, on the contrary, they can leverage a minimal amount (like a few hundred dollars) of money to reach even more people than those reached in the previous example even after "Company A" spends all that money for marketing as digital marketing gives businesses access to a globalwide network of potential customers.Digital marketing allows businesses to greatly reduce the costs of promoting their businesses which is why it is a more viable choice compared to traditional marketing.
Imagine going through all the trouble to market your business like "Company A" but still not know how well your marketing efforts are doing so you end up asking yourself...
...and other questions simillar to this. The scary part of this is that you cannot really answer these questions if you used traditional marketing methods as there is no way to gauge the performance of your marketing strategy this way. Digital marketing becomes a better solution in this regard as it uses two special ways to make sure that your advertisements reach the right people and is doing its intended job (which is to compel potential customers to buy from your business) namely...
Web analytics refers to the usage of data retrieved from every person that comes into contact with your business online (such as what that person was doing as they explored your business website). This allows business owners to use this information to create a better experience for your potential customers by tweaking your online marketing strategy to suit their needs. This makes it easier to compel a potential customer to buy from your business it has been enhanced according to the data retrieved from your potential customer to provide a better experience for him/her. This will allow your business to convert more potential customers who come into contact with your business into established customers who actually pay for your goods or services which equates to more money coming into your business.
Targeted advertising involves using digital marketing platforms (such as social media and search engines) to post advertisements of your business to people who are definately searching for what your business is offering online. 'And how do we know this for sure?', you may be asking yourself? Have you ever searched for something on Google only for you to see advertisements that are exactly related to whatever you were searching on Facebook or other platforms. That is targeted advertising at work right there which used the words you typed on Google to advertise relevant businesses to you and if this is possible for other companies, then it is definetely possible for your business too.
As you can see, digital marketing allows your business to be more effective at reaching the right potential customers and increase you company's revenue which is why most businesses have switched to digital marketing so why dont you do the same too?


Class MatchResponse
Encapsulates a match entity's details from the database.
Inheritance
System.Object
MatchResponse
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: PlayGen.SUGAR.Contracts
Assembly: PlayGen.SUGAR.Contracts.dll
Syntax
public class MatchResponse
Examples
JSON { "Id" : 1, "Game" : { "Id" : 1, "Name" : "Game Name" }, "Creator" : { "Id" : 1, "Name" : "Actor Name" "Description" : "Description of Actor" }, "Started" : "2018-08-12T16:32:29.482146", "Ended" : "2018-08-12T18:32:29.482146" }
Properties
Creator
User that created the match
Declaration
public ActorResponse Creator { get; set; }
Property Value
| Type | Description |
|---|---|
| ActorResponse |
Ended
When the match was ended
Declaration
public DateTime? Ended { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Nullable<System.DateTime> |
Game
Game that the match was in
Declaration
public GameResponse Game { get; set; }
Property Value
| Type | Description |
|---|---|
| GameResponse |
Id
Unique Id of the match
Declaration
public int Id { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Int32 |
Started
When the match was started
Declaration
public DateTime? Started { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Nullable<System.DateTime> |


--- layout: post title: 100 Post Giveaway Winner is.... date: 2011-03-16 10:21:02.000000000 -04:00 categories: - Giveaways tags: - Embracing it all giveaway - Giveaway winner status: publish type: post published: true meta: aktt_notify_twitter: 'no' _edit_last: '1' dsq_thread_id: '1188560845' author: login: cint email<EMAIL_ADDRESS>display_name: Jacinta first_name: Jacinta last_name: '' ---
Natasha:
"ooooh,the oliver and S pattern book would be lovely jubbly:0)
thank you for hosting the giveaway"
Congratulations Natasha on being lucky number 9 and choosing the book Oliver + S, Little Things To Sew. I will email you shortly.
Thank you all for taking the time to enter the giveaway.
Happy days, Jacinta x
I used a random number generator to draw this prize.


 Right? Well I know I do.
doge
to the end of your .bash_rc/.bash_profileNow you have the internet's favorite meme annoying you every time you try to get anything done.
Bonus: He's even in the holiday spirit.


@*
* Copyright 2021 HM Revenue & Customs
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*@
@import play.api.i18n.Messages.Implicits._
@import uk.gov.hmrc.eeittadminfrontend.config.AppConfig
@import uk.gov.hmrc.govukfrontend.views.html.components._
@import uk.gov.hmrc.govukfrontend.views.html.helpers.formWithCSRF
@(loginForm : Form[String], clientID : String)(implicit request : Request[_], messages: Messages, appConfig: AppConfig)
@formWithCSRF = @{new formWithCSRF()}
@govukButton = @{new govukButton()}
@uk.gov.hmrc.eeittadminfrontend.views.html.main_template(title = "EEITT Admin Login Page", tab = ""){
Sign-In to EEITT-Admin


Anisha Jain
Passionate UI Engineer with 2 Years of Experience in Product Development, Design, and Marketing.
See Projects


Border
Dependency Graph
depend
Border
Border
Utils
Utils
Border->Utils
Theme
Theme
Border->Theme
Draw
Draw
Border->Draw
The arrow means
"depends on"
. Only dependencies involving
Border
are displayed. Switch to
circo
style or
dot
style.


General Settings
General Settings
Security code
Read Only
Modbus Address
0
Login
Baud rate
1200
Change
RTU/ASCII
ASCII
Change
Parity
Even
Login
Date
2016/01/01
Change
Time
12:59:59
Login
Connect Type 0
Parallel Single
Login
1
2
3
4


Back to Website
Feel free to reach out for a time!
<EMAIL_ADDRESS>4122658129
This is just a temporary UI while I work on my new website... This website is almost 2 years old now!


Gateway
BOT
10-Jun-18 05:06 PM
@OrganicBlair @LedgerHQ We've talked to ledger and it may be that we need to consider the Ledger wallet claiming rewards in a similar way to how NEO / GAS currently works. We're exploring ideas.
[telegram] <Twan> Strong signals.
 Quick trades.
HUGE gains!!!
Date & Time TBC.
Stay updated:
FOLLOW ON TELEGRAM!
[telegram] <Rr621801> how to receive kmd monthly reward guys?
[telegram] <Rr621801> if i hold in coinomi am i eligible for rewaed.
[telegram] <Acura360> On the coinomi Wallet you can´t claim your rewards (re @Rr621801: if i hold in coinomi am i eligible for rewaed.)
[telegram] <Rr621801> wich wallet u use
[telegram] <Acura360> agama (re @Rr621801: wich wallet u use)
[telegram] <Rr621801> agama doesnt have android wallet does it?
[telegram] <Acura360> actually not, but you can claim your kmd rewards on the guarda komodo android wallet (re @Rr621801: agama doesnt have android wallet does it?)
[telegram] <Rr621801> okay
[telegram] <Rr621801> so i just hold and i get 5% reward in 12.months yes?
[telegram] <Rr621801> or do i do something?
[telegram] <yorklab> Claim reward at least onece a month.
[telegram] <yorklab> You can claim as often as you like.
[telegram] <Rr621801> so i just hold coin in wallet yes?
[telegram] <Rr621801> ok I go buy 1bitcoin komodo
[telegram] <Rr621801> thank you admin
[telegram] <yorklab> And It's compounded. So you claim reward, then interest is based on new amount.
[telegram] <yorklab> Passive income.
[telegram] <Rr621801> do i move coins from wallet to wallet
[telegram] <Rr621801> or just keep in 1 wallet and do nothinf
[telegram] <Rr621801> sorry for noob questions
[telegram] <yorklab> There is a claim button. Click on it and it will just make a transaction back to you to claim. download wallet and you will see what I mean.
[telegram] <Rr621801> i download guarda
[telegram] <yorklab> Need at least 10 kmd and it will take one hour before it starts to accumulate.
(edited)
[telegram] <M.> I’m assuming no rewards if you hold KMD on an exchange ?


{% extends "sickrage/base.html" %} {% block sickrage_content %}
«
wanted skipped archived ignored
{{ sickrage.description }}


Hi All,
I posted this yesterday in the "General" section but maybe this is more applicable in the "Software" area - I hope the double post is not an issue...
Ive recently completed a build of the EmonTX (previously using Mains Non-Invasive V3).
After looking through the various firmware options I've been using the following firmware https://github.com/openenergymonitor/emonTxFirmware/tree/master/emonTx_1CT_Voltage
as I wish to monitor both voltage and current (one CT). To do this im using a 9v transformer to measure mains voltage. However, my values are off by quite a bit.....for example the EmonTX output monitored via its serial port (real, apparent, VRMS, IRMS, supplyV)
7.59 82.53 343.41 0.24 3164
In relation to the firmware above - could anybody explain the numbers in the calibration code here...
emon1.calibration(357.6,126.5,0);
emon1.calc(20,2000,vcc );
I think I need to substitute these for my own. Im also confused as the previous V3 firmware had declarations for the number of CT turns, burden resistor value etc. to calculate the scaling factor - none of these are mentioned in the firmware above. Thus, where my mains voltage is 240V (238V at present) the EmonTX is returning 343.41.
In addition, I have the CT connected at present to channel 1 (changed code to reflect this), however there is no wire through it at present so it cannot be reading any current. Yet however, Im showing an apparent and real power measurement. Obviously this would introduce errors into the system at times whereby voltage is being measured byt current consumption is zero or practically zero. Indeed with the above example the current consumption is nearly 0 at 0.24a but still the power calculations are off.
I am using an SCT-013-000 CT - it came with the EmonTX kit. Anybody know how many turns is on this CT?
Thanks in advance for your time - hopefully somebody can shed some light on this - or explain how I can calibrate the EmonTX properly.
Kind regards
Gerard Gallagher
Re: EmonTX 1CT Voltage questions regarding calibration
Anybody here has a good method of calibrating?
From what I understand, the calibration parameters set the VCAL, ICAL and PHASECAL variables. However, while VCAL and ICAL are used to get from the measured current and voltage to Irms and Vrms, PHASECAL is used to get from the measured voltage to a phase corrected voltage to calculate the real power. This means that the VCAL and ICAL are not used to calulate the real power usage, as the VCAL and ICAL are applied later on:
This is what I guess:
However, if the measured current is wrong, how can the measured real power ever be correct? Or is this where the V_RATIO and I_RATIO are helping out? What are those values anyway?


Proxy
Panel
Reset proxy URL
Online workers
Offline workers
All workers
Hashrate
Hashrate 1h
Hashrate 12h
Hashrate 24h
Accepted shares
Rejected shares
Invalid shares
Expired shares
Online workers
Offline workers
Set proxy URL
Proxy URL
Access Token
Save


Choose the File/Open... menu item to open a file browser to locate the file to load. The last 10 files loaded appear under the File/Recent submenu.


Authorize through Strava That means you're not currently eligible to win. Sign in through Strava to become eligible and show up on this leader board.
| Name | Total Time |
|---|---|
| {{ name }} | {% if time %} {{ time }} {% elif time != None %} No time recorded {% else %} Not Authorized {% endif %} |
| No authorized users |


I snapped up in bed with a jolt as if hit by the titillating 20,000 Volts of a distributor cap. Disturbed from sleep out of a terrible dream is no proper way to make a man jump out of bed – but boy, is it effective.
The first thing I noticed was how dark it was. Not just dark, but black. Pitch black; not like the night, but like fear — like bad things face down in wet roadside ditches, cold and abandoned. Outside the lamps were still on but their lights seemed to be shut out from illuminating my room. The darkness was so empty it held no memories — it was cold and smelled of fiends and… enemies. My chest was soaked but my skin was dry. My medical training jumped and I checked for gashes and other wounds.
–
Nope, nothing.
I still clung to the dream, not wanting to forget it yet. It disturbed and vexed me in a way that made me very uneasy.   It was not a good hour for such thoughts.
I thought back to the day — what was it? I had come home from work dead tired… dead? Could that be it? …nah – too obvious.
Maybe that run… that run yesterday, concentric circles around the 10 miles of the main canals in Amsterdam — it had almost killed me… but no, no. Too much of a stretch.
I thought back to the roda… that was it: that guy. Tall and muscular; a thin face. He wasn’t just dark, like an African American – he was black.  Negro. A pit of confused anger embodied in the color of a man’s skin. Whatever it was, the important thing is that I saw no smile on his face; no white teeth presented themselves. I didn’t like it.
He was angry from the start. There was no playfulness in his attempted take downs, no creativity in his forceful kicks. Who did he think I was? Was he mistaking me for someone else, someone with whom he had a grudge? Had I done something I did not realize? He was coming for me, and there was anger in his face; fury in his exhaled breath.
I dodged, I rolled, and I answered back with my own, but I own no fury like that. I loath nothing that seriously.
Then it happened.  He twisted out of it and instead of putting me in a headlock – which is what usually happens and one of the reasons I hate that position – he pushed me down to the floor. Fuck.
That horrible position on one knee, head down, elbow to the face for protection: completely vulnerable from above. I’ve always had an irrational fear of this position; a trauma of some kind. Maybe a saw a film or something when I was young, but it makes me uneasy. Something akin to that scene where Alex Murphy gets shot in “Robocop” comes to mind.
Anyway, my enemy close above me, his thigh keeping me down from behind. The position I dread. Then I hear the click of the knife and the air gets cold with the tip of the blade. What? Wait… why? No, wait!
It sinks in easily and the blade under my flesh fills me with fear. As he pulls it out I draw a quick breath out of instinct; a short, pitiful, thin breath that barely whispers any oxygen.
In that second I think back to that first time I was knocked down. The friendly mestre who knocked me horizontally five feet into the air (with all his friendliness), and let me fall into the watching crowd. Piles of humiliation. Yeah.
That’s what it was about; humility. It was always about learning humility. And how do you react? Do you try to rid yourself the humiliation by standing up and getting angry?  Do you cower and roll into a fetal position, hoping for pity yet fearing further beating with no defense? Do you just let fear rush in and do it’s thing, settling into a pointless panic?
First, I guess — you have to fall well. Then you worry about what to do after the fall. I have fallen many times since then, and have had it with humility. There were other days in which I might have sat still, hoping for action from someone. Help. Pity. No more knockdowns, no more flying through clapping crowds — no more stabbing, please; let it stop here. There were times when I would not have thought to fight back immediately while the strength was still in me.
But not this time.
Before that breath could be drawn in again I stood straight up, my back to his chest, reached back and grabbed his neck, firmed my grip and pulled.  He never saw this coming. My elbow was already around his throat, squeezing, squeezing the life out of him as I squeezed the hate out of me. I wanted it all gone and I didn’t have much time.
His arms flailed, looking for a hold, trying to tap, trying to scratch, trying to do anything, but I was out of his reach. I didn’t question him. I looked for no explanation; I needed no explanation. He went limp soon enough but I didn’t let go right away. I had more hate still to squeeze out of me and wanted no drop left.
–
As I thought about this horrible moment in that lonely and new kind of dark, a strange sound rang in my ears. A repeating buzzing, loud and terrible as if it were right next to my ears.
What do I do?
Everything around me was fading, the darkness thinning and I could see an outline of… red lights, numbers…
what is this?
I needed to do something, but what? Suddenly:
Alarm! The alarm clock! Turn it off: Right arm, GO! Reach across; not too far! Remember there was a glass of water there or something…
_No? You’re not working?
_
Ok, never mind… left arm, swing around over the chest; you can do it old boy! That’s it! Right onto the buzzer button. Snooze — don’t turn it off!
At a kid!
–
Ok.
–
A nightmare. What time is it? Did I sleep enough? What did I do to deserve this? It’s cold outside isn’t it? Fuck.
It’s going to be a long, strange day.
Oh well.  What with the Patriot Act and all, it’s a bad time for people who do that kind of thing.


Virginia House of Delegates Speaker Pick Would Be First Woman in Its History
by Associated Press(RICHMOND, Va.) — Virginia’s House of Delegates is poised to have the first female speaker in its 400-year history, with the chamber’s Democrats choosing a veteran legislator for the post.
Democratic delegates for the upcoming session meeting on Saturday chose Del. Eileen Filler-Corn of Fairfax County as their nominee.
Filler-Corn’s election as speaker on the session’s first day in January is anticipated because Democrats won this week a majority in the state house for the first time in two decades.
House Democratic Caucus members on Saturday also picked Del. Charniele Herring of Alexandria as the new majority leader, meaning she’ll be the first woman and first African American in that job.
Tuesday was the third election in a row that Virginia Democrats have made significant gains since President Donald Trump was elected.


The Latest: Colombia president opens ‘national conversation'
BOGOTA, Colombia (AP) - The Latest on protests in Colombia (all times local):
7:10 p.m.
Colombian President Iván Duque says his government will open a "national conversation" aimed at reaching an agreement on reforms following massive demonstrations that have paralyzed much of the capital city.
In a televised address Friday, Duque said the dialogue will include all social sectors and take place in cities around the country starting next week.
The president also announced that he is boosting police and military patrols in focal points where there is continuing unrest.
Protesters clashed with police in several parts of Bogota on Friday, a day after tens of thousands of frustrated citizens took to the streets.
___
6:23 p.m.
Colombian President Iván Duque has ordered a curfew in the nation's capital amid continuing unrest following a massive march.
The president announced on Twitter that he has requested that Bogota's mayor enforce a curfew beginning at 9 p.m. in all of the city.
The curfew comes one day after an estimated 250,000 people took to the streets in one of the nation's biggest marches in recent history.
There have been scattered clashes between protesters and police on Friday.
___
4 p.m.
Volunteers wiped graffiti off historic buildings and swept up shattered glass at looted businesses in Colombia Friday amid sporadic unrest following massive national protests a day before.
Labor unions and student leaders called on Colombians to bang pots and pans Friday evening in another act of protest while authorities announced three people had died in overnight clashes with police.
Protest organizers urged President Iván Duque to establish a dialogue with indigenous, student and labor groups to discuss potential reforms and criticized him for not directly addressing demonstrator complaints in a late-night address.
"If they don't decide to govern in favor of the majority, the discontent will continue accumulating," student leader José Cárdenas said.
Officials estimated 250,000 protesters marched in protests around Colombia, largely peaceful demonstrations that ended with scattered confrontations between police and protesters who vandalized bus stations and looted businesses.
The upheaval comes as Latin America is experiencing a tide of discontent, with massive demonstrations in countries including Chile, Bolivia and Ecuador where citizens frustrated with their political leaders are taking to the streets.
Copyright 2019 The Associated Press. All rights reserved. This material may not be published, broadcast, rewritten or redistributed.


Features
The forms can be in one of these layouts:
- vertical (default): stacked both labels and controls
- horizontal: two column layout, one for labels other for controls
- inline: both labels and controls in a single line
Examples
Vertical input
Horizontal input
Inline input


The plugins.js
is a place to extend the behaviors of the calendar.
The plugin file name is defined in the name & id of the calendar tag.
If nothing specified, it will use the default value plugins.js
.
Some themes need special plugin functions to create customized behaviors like
artificial internal selectors and so on. Therefore, we also treat it as part
of the theme.
1st, the fOnChange()
callback function. Once defined, it will
be invoked every time the calendar about to get changed or selected. Moreover,
return a true
value from it will cancel the current action causing
the change, as if there were nothing happened. The reference to the event
object is passed in as the e
parameter. Since it could be null
value, you should check before using.
///////////// Calendar Onchange Handler ////////////////////////////
// It's triggered whenever the calendar gets changed to y(ear),m(onth),d(ay)
// d = 0 means the calendar is about to switch to the month of (y,m);
// d > 0 means a specific date [y,m,d] is about to be selected.
// e is a reference to the triggering event object
// Return a true value will cancel the change action.
// NOTE: DO NOT define this handler unless you really need to use it.
////////////////////////////////////////////////////////////////////
function fOnChange(y,m,d,e) {
.... put your code here ....
return false; // return true to cancel the change.
}
Another callback function is the fAfterSelected()
, which is triggered only
after the date gets selected. The reference to the event
object
is passed in as the e
parameter. Since it could be null value,
you should check before using.
///////////// Calendar AfterSelected Handler ///////////////////////
// It's triggered whenever a date gets fully selected.
// The selected date is passed in as y(ear),m(onth),d(ay)
// e is a reference to the triggering event object
// NOTE: DO NOT define this handler unless you really need to use it.
////////////////////////////////////////////////////////////////////
function fAfterSelected(y,m,d,e) {
.... put your code here ....
}
The 3rd one is the fOnDrag()
, which is triggered during mousedown and mousemove.
It tries to utilize mousedown and mouseover events to create a cross-browser
drag event. Note it's not a guaranteed callback and not work in all browsers.
The reference to the event
object is passed in as the e
parameter. Since it could be null
value, you should check before using.
The other things need to be mentioned is the aStat parameter. Since different browsers have different way or capability in supporting mouse dragging event, we set up a common way here to simulate it:
aStat
set to 0. At this stage, you could prepare a dragging start.aStat
set to 1. At this stage, you know the user is dragging the mouse.aStat
set to 2. The (y,m,d) will all be 0 if mouseup is not happened on a calendar cell. However, chances are that the user releases the mouse button outside the browser and certain browsers don't report such out-of-bound mouseup event at all. In such case there will be no callback upon fOnDrag with aStat
of 2.///////////// Calendar Cell OnDrag Handler ///////////////////////
// It triggered when you try to drag a calendar cell. (y,m,d) is the cell date.
// aStat = 0 means a mousedown is detected (dragstart)
// aStat = 1 means a mouseover between dragstart and dragend is detected (dragover)
// aStat = 2 means a mouseup is detected (dragend)
// e is a reference to the triggering event object
// NOTE: DO NOT define this handler unless you really need to use it.
////////////////////////////////////////////////////////////////////
function fOnDrag(y,m,d,aStat,e) {
.... put your code here ....
}
The 4th one is the fOnResize()
, which is triggered after a short delay when
the calendar finished drawing and before resizing itself to fit the change.
You may add some code here to re-adjust the contents of the calendar.
////////////////// Calendar OnResize Handler ///////////////////////
// It's triggered after the calendar panel has finished drawing.
// NOTE: DO NOT define this handler unless you really need to use it.
////////////////////////////////////////////////////////////////////
// function fOnResize() {
.... put your code here ....
}
The 5th one is the fOnWeekClick()
, which is triggered when the week number is clicked. You may use it to arrange specific actions when user clicks on the week number. Of course, you should first set the giWeekCol
option to 0 so that the week numbers can be displayed.
////////////////// Calendar fOnWeekClick Handler ///////////////////////
// It's triggered when the week number is clicked.
// NOTE: DO NOT define this handler unless you really need to use it.
////////////////////////////////////////////////////////////////////
function fOnWeekClick(year, weekNo) {
.... put your code here ....
}
The 6th one is the fIsSelected()
call-back, which is triggered for every date passed in as y(ear) m(onth) d(ay). When it returns a true
value, the engine will render that specific date using the "select series" theme options, like giMarkSelected, gcFGSelected, gcBGSelected and guSelectedBGImg. If not defined here, the engine will automatically create one that checks the gdSelect
only. Therefore, you can always bank on using it.
////////////////// Calendar fIsSelected Callback ///////////////////////
// It's triggered for every date passed in as y(ear) m(onth) d(ay). And if
// the return value is true, that date will be rendered using the giMarkSelected,
// gcFGSelected, gcBGSelected and guSelectedBGImg theme options.
// NOTE: If NOT defined here, the engine will create one that checks the gdSelect only.
////////////////////////////////////////////////////////////////////
function fIsSelected(y,m,d) {
return gdSelect[2]==d&&gdSelect[1]==m&&gdSelect[0]==y;
}
The 7th one is the fParseInput(), which is used to parse the input string stored in the value
property of gdCtrl. It's expected to return an array of [y,m,d] to indicate the parsed date or null
if the input str can't be parsed as a date. If not defined, the engine will automatically create one that is equivalent to the fParseDate(). Therefore, you can always bank on the fParseInput() instead of using fParseDate().
////////////////// Calendar fParseInput Handler ///////////////////////
// Once defined, it'll be used to parse the input string stored in gdCtrl.value.
// It's expected to return an array of [y,m,d] to indicate the parsed date,
// or null if the input str can't be parsed as a date.
// NOTE: If NOT defined here, the engine will create one matching fFormatDate().
////////////////////////////////////////////////////////////////////
function fParseInput(str) {
.... you may parse with your extra format here and then delegate the rest to the built-in fParseDate() ....
}
The 8th one is the fFormatInput(), which is used to format the selected date y(ear) m(onth) d(ay) into the value
property of gdCtrl. It's expected to return a formated date string. If not defined, the engine will automatically create one that is equivalent to the fFormatDate(). Therefore, you can always bank on the fFormatInput() instead of using fFormatDate().
////////////////// Calendar fFormatInput Handler ///////////////////////
// Once defined, it'll be used to format the selected date - y(ear) m(onth) d(ay)
// into gdCtrl.value.
// It's expected to return a formated date string.
// NOTE: If NOT defined here, the engine will create one matching fFormatDate().
////////////////////////////////////////////////////////////////////
function fFormatInput(y,m,d) {
.... you may call the built-in fFormatDate() first and then apply your own format to the return value ....
}
The 9th one is the fOnDoWClick()
call-back, which is triggered when the week title (day of week) is clicked. It may be useful if you want to select dates by day-of-week (per column).
////////////////// Calendar fOnDoWClick Handler ///////////////////////
// It's triggered when the week head (day of week) is clicked.
// dow ranged from 0-6 while 0 denotes Sunday, 6 denotes Saturday.
// NOTE: DO NOT define this handler unless you really need to use it.
////////////////////////////////////////////////////////////////////
function fOnDoWClick(year, month, dow) {
.... put your code here ....
}
The 10th one is the fOnload()
call-back, which is triggered when the calendar engine (iframe) is fully loaded. It may be useful if you want to perform certain action only after the calendar is fully rendered.
////////////////// Calendar fOnload Handler ///////////////////////
// It's triggered when the calendar engine is fully loaded by the browser.
// NOTE: DO NOT define this handler unless you really need to use it.
////////////////////////////////////////////////////////////////////
function fOnload() {
.... put your code here ....
}
These are very useful features. Please check out the demos for good examples.
true
, which means the calendar engine will employ certain approach to prevent the browser from caching the agenda file. dateCtrl
object. It's passed in via the fPopCalendar() function.giShowOther
option. Non-constrained means
simply return the result from fHoliday()
excluding the dates
out of theme range. fOnchange()
plugin will be called or not. It's very userful to avoid looping calls when coordinating among multiple calendars. e
is optional but should be set to the reference of an event object if any
event property were to be used by specific plugins. It'll return false if
designated date is out of selectable range.null
agenda
action.null
if it can't be parsed according to the date format options in the employed theme. You should always use fParseInput(str)
, which will call the fParseDate() by default, in your code whenever you want to parse the input string complying with the theme settings, unless you are programming the fParseInput(str)
plugin itself.fFormatInput(y,m,d)
, which will call the fFormatDate() by default, in your code whenever you want to format a date string complying with the theme settings, unless you are programming the fFormatInput() plugin itself.Because theme options are loaded before the plugins, you may re-define any
option of theme-name.js
from within plugins.js
.
The benefit is that you can add additional features or make small changes
without touching the standard theme. The bundled demos are using this approach
to share themes.


--- layout: page title: "About" description: "This is who I am." header-img: "img/about-bg.jpg" permalink: "about.html" photo-caption-title: "Barcelona, Spain" photo-caption-body: "Where I studied a semester abroad." ---
My name is Bodecker DellaMaria, or Bo for short. I am a software engineer at Samsara in San Francisco. I've previously worked for Workday and studied Computer Engineering at the University of Illinois.
I am originally from Crystal Lake, IL but I enjoy traveling and have lived in a variety of other locations including Barcelona, Munich, and Seattle. I have interned in technical roles with companies such as Microsoft and Yahoo.
Some of the things I am most passionate about are music, technology, and entrepreneurship. I hope that my career will tie these together someday.


BlinkEReceipt Integration Instructions
This is a framework which extends the BlinkReceipt SDK to enable e-receipt parsing functionality
Installation
Installation instructions can be found on GitHub: https://github.com/BlinkReceipt/blinkereceipt-ios
Integration
- In order to use Account Linking functionality add the following header:
#import <BlinkEReceipt/BRAccountLinkingManager.h>
or if you are using Carthage or standalone installation:
#import <BlinkEReceiptStatic/BRAccountLinkingManager.h>
- It is recommended to instantiate the
BRAaccountLinkingManager
as early as possible to give it time to download the most recent parsing code. Add the following line to your application delegate’sdidFinishLaunchingWithOptions:
method:
[BRAccountLinkingManager shared];
- In order to use email receipt parsing functionality add the following header:
#import <BlinkEReceipt/BREReceiptManager.h>
or if you are using Carthage or standalone installation:
#import <BlinkEReceiptStatic/BREReceiptManager.h>
Documentation for BlinkReceipt SDK
Some of the symbols referenced in these docs (such as BRScanResults
and BRProduct
) are fully documented in the main BlinkReceipt SDK documentation
Copyright © 2020 BlinkReceipt. All rights reserved.


Before Change
diffs = Y_train.max(axis=1) - Y_train.min(axis=1)
train_idxs = np.where(diffs > 1e-6)[0]
X_train = [X_train[j] for j in train_idxs] if self.representation \
else sparse.csr_matrix(X_train[train_idxs, :])
Y_train = Y_train[train_idxs]
// Create new graph, build network, and start session
self._build_new_graph_session(**kwargs)
After Change
X_train = [X_train[j] for j in train_idxs] if self.representation \
else X_train[train_idxs, :]
if isinstance(X_train, csr_AnnotationMatrix):
X_train = sparse.csr_matrix(X_train[train_idxs, :])
Y_train = Y_train[train_idxs]
// Create new graph, build network, and start session
self._build_new_graph_session(**kwargs)


Five free agents West Brom could sign ahead of the January transfer window
Latest West Bromwich Albion transfer news | A number of vastly-experienced players remain available on a free transfer
by Josh ChalliesThe transfer window may have slammed shut a few months ago but that doesn’t mean that West Bromwich Albion cannot bolster their ranks with new additions.
A number of free agents remain on the hunt for a new club, some of whom have experience in helping to guide a club from the Championship to the riches of the Premier League.
Here, we have identified six players that clubs could consider to provide a boost to their ranks.
Mile Jedinak
The former Australia captain was promoted to the Premier League with Crystal Palace in 2013, spending four seasons in the top-flight before moving to Aston Villa.
Last season, Jedinak featured 17 times during Villa’s promotion-winning campaign and, despite being 35, his experience in earning promotion could be vital for a number of clubs.
West Brom latest
This is your round up of all things West Brom; the one-stop shop that will keep you updated on the latest goings on at the club and beyond.
Transfers, injuries, match-days and managers, we’ve got you covered.
We’ll be bringing the very latest on the Baggies throughout the week and around the clock.
Make sure you keep yourself updated with our handy daily catch up...
Must reads...
- The Sporting Lisbon transfer news that every West Brom fan will want to read
- 'Lethal' - Why West Brom will have their hands full at Hull City
- The eye-opening audience who saw West Bromwich Albion's win over Stoke City
- 'Unbelievable' - Slaven Bilic makes surprising admission about West Brom star
- 'Super computer' makes Championship prediction that West Brom fans will love
- West Brom face potential promotion blow amid reports star man could leave
- 'Ruin his season' - West Brom and West Ham fans react to potential transfer news
- Why West Brom's mercurial midfield man isn't quite the finished article
- The threat Hull City pose to West Brom and how Slaven Bilic can prevent it
- Former West Brom boss linked with Championship manager role - reports
For all your latest WBA news, opinion, analysis and transfer gossip, click here
You can follow our West Brom reporter Joseph Chapman on Twitter, and his email address is<EMAIL_ADDRESS>Ben Marshall
At 28-years-old, Ben Marshall should be in the prime years of his career but is instead without a club following his exit from Norwich City in the summer, having spent last season on loan with Millwall.
Having started his career with Stoke City, Marshall floated around a number of EFL clubs and made four appearances for the Canaries in their promotion-winning campaign last season before moving to Millwall.
Jordon Mutch
The 27-year-old Jordon Mutch is certainly well travelled, with his last two places of employment being in South Korea and Canada. At his age though, he has a lot left to offer.
Mutch actually enjoyed promotion to the Premier League twice during his time in England, although he didn’t make an appearance for Birmingham City during the 2008-09 campaign, but he featured 22 times for Cardiff City during the 2012-13 season.
Ross Wallace
The one-cap Scotland international played 32 times for Sunderland during the 2006-07 season, when the Black Cats won promotion to the top-flight, and was also promoted with Burnley in 2014-15.
Now 34, the fact he appeared just once for Fleetwood Town in League One last season is a concern but he could still be a useful asset.
Jack Rodwell
The 28-year-old has been a free-agent since leaving Blackburn Rovers in the summer.
The former Everton and Man City midfielder's career has stalled in recent years, although he had been linked with a shock move to Roma.
That has now fallen through and he is still available to sign before the transfer window opens.


I have been a part of Seattle for over 10 years and fell in love with
its sense of community.
I’ve loved learning from the friendly, honest and hard working people I’ve been blessed to know.
I value people above all else and want to include helping people as part of my journey. The
uniqueness of each of my clients is very fulfilling for me, like walking through the beautiful
garden of life.
Because of this, I decided to do business in a radically different way, sharing my gift of
organizing while working in the abundance of love and believing in the goodness of others.
If I
can help you move from burdened to blessed, please let me know!


{{event.author.full_name}} updated the assignee of the task "{{ event.event_info.task_title }}" from {{ event.event_info.old_assignee_fullname }} to {{ event.event_info.new_assignee_fullname }} on


This text is displayed if your browser does not support HTML5 Canvas.
Controls
Common Tools
Shuffle
Reset
Snap
Line Up
Deck URL
Test whatever I'm working on
Bubble Sort Tools
Next
Swap Next
Next Move
Next Move (Shortcut)
Insert Sort Tools
Next
Insert
Next Move


Welcome! This is Mirm the Worm/text-align-center/M. I am one of many names. Hope you enjoy my site. I know it's a blog but I am alergic to that word. Please enjoy, and I hope you keep (faithfully) reading.
My coding friends also have websites. The links to their websites are below.
our site


There are three predefined variables available for usage: EDP_COMPONENT, EDP_VERSION, and EDP_GITTAG. Specify necessary variables that will be replaced with values in the future. Combine these variables to obtain the required values. Examples:


Opeth is a Swedish progressive metal/rock band from Stockholm, formed in 1989.The group has been through several personnel changes, including the replacement of every single original member. Lead vocalist, guitarist and songwriter Mikael Åkerfeldt has remained Opeth's primary driving force since the departure of original vocalist David Isberg in 1992. Opeth has consistently incorporated progressive, folk, blues, classical, and jazz influences into its usually lengthy compositions, as well as strong influences from death metal, especially in their early works.
The band name came from the word Opet, which was the name of a city in the Wilbur Smith novel Sunbird. Opeth play progressive death metal (which comes from combining progressive rock and death metal). Opeth are also influenced by progressive rock, blues rock and jazz, and their songs often have both electric and acoustic parts. Opeth went on their first world tour after the release of their album Blackwater Park. The band's members have changed many times since Opeth started in 1990, but band member Mikael Åkerfeldt has always been present. Although he did not start the band, Åkerfeldt is the only band member to perform in every album. Opeth has released 13 studio albums, five live albums, five box-sets, and four DVDs.


dbclient
Lightweight Dropbear Secure Shell client.
More information: home page
- Connect to a remote host:
dbclient user@host
- Connect to a remote host on [p]ort 2222:
dbclient user@host -p 2222
- Connect to a remote host using a specific [i]dentity key in dropbear format:
dbclient -i path/to/key_file user@host
- Run a command on the remote host with a [t]ty allocation allowing interaction with the remote command:
dbclient user@host -t command argument1 argument2 ...
- Connect and forward [A]gent connections to remote host:
dbclient -A user@host