IOSKnobControl Class Reference
| Inherits from | UIControl |
| Declared in | IOSKnobControl.h |
Overview
iOS Knob Control https://github.com/jdee/ios-knob-control
This is a simple, reusable rotary control. You may provide custom knob images or use the default images, which may be customized using a number of properties and methods. The control chooses an image based on state, like the UIButton control. In any state but disabled, the knob control responds to a one-fingered rotation gesture and animates rotation of the current image in response, programmatically reading out the current angular position of the knob and generating a UIControlEventValueChanged each time the knob rotates.
The knob control and all images must be square. Images will usually be circles or regular polygons, with a transparent background or a solid one that matches the view behind it. However, the aspect ratio must be 1:1. The effect of the animation is circular rotation. This only works if the control is square. You can produce other effects, for example, by partially clipping a square control or using an oblong background. But the control itself always has to be square. If an oblong frame is specified for the control, the frame will be made square. The larger of the original sides will will be used for both the width and height. The origin of the frame will be unchanged.
If so configured, the control can generate shadows. It will generate at most two: one for the knob image itself and one for the foreground layer. If foregroundImage is nil and mode is not IKCModeRotaryDial, there is no foreground layer and no foreground shadow. In rotary dial mode, the knob control will generate a triangle representing a finger stop if foregroundImage is nil. Either a supplied foreground image or the finger stop may be configured to cast a shadow. This is done using the shadow parameters in the underlying CALayer. Four IOSKnobControl parameters are passed directly to the layers that cast shadows for the rotating knob and the foreground layer: shadowOffset, shadowOpacity, shadowRadius and shadowColor. Those parameters will be the same for both the knob shadow and any foreground shadow.
By default, the CALayer determines where to draw shadows by examining the alpha contents of the layer and filling a path that is the outline of all opaque content in the layer, but slightly offset. However, determining the path to fill is expensive. On lesser hardware, it can pin the GPU. Supplying a shadowPath to the CALayer can greatly improve performance. This may be done using the middleLayerShadowPath and foregroundLayerShadowPath properties. (Note that if you supply a middleLayerShadowPath, the shadow is generated by an extra layer behind the knob image that rotates with the image but is positioned at the value of shadowOffset. This allows you to supply the outline of the knob image in the stationary coordinate system of the image, independent of rotation.)
Since custom images are frequently circular, a knobRadius property is also provided. Set this to provide a circular shadow path of a given radius if using a circular knob image.
Setting an appropriate path for a custom rotary dial image is tedious and error-prone, so the control gives you some help. In IKCModeRotaryDial, whether or not you are using a custom image, if you do not set middleLayerShadowPath, the control will generate a shadow path with appropriate finger holes using the knobRadius, fingerHoleMargin and fingerHoleRadius properties. These are used when constructing a rotary dial image. They are also used to generate a shadow path for any custom image, so adjust them to match your image. Note that you cannot vary the angular positions of the numbers and finger holes in your custom images. The control judges which number was dialed by the angular position of the touch, so those cannot vary.
Whenever the control generates an image (whenever you do not supply your own image for the knob), it supplies its own shadow path. You usually only need to supply a shadow path when you are using a custom image that is not a solid circle in a mode other than IKCModeRotaryDial. Don’t forget to set knobRadius, fingerHoleMargin and fingerHoleRadius when using custom circular images with shadows.
By default, shadowOpacity is 0. Set it to a positive value to turn on the default shadow.
The knob control requires ARC, and hence iOS 5.0 or later. It has not been tested below iOS 6.1.
Tasks
Creating a knob control
Specifying knob control behavior
-
circular
property -
clockwise
property -
drawsAsynchronously
property -
gesture
property -
max
property -
min
property -
mode
property -
normalized
property -
positions
property -
timeScale
property
Customizing knob control appearance
-
backgroundImage
property -
fingerHoleRadius
property -
fingerHoleMargin
property -
fontName
property -
foregroundImage
property -
knobRadius
property -
masksImage
property -
titles
property -
zoomPointSize
property -
zoomTopTitle
property -
– setImage:forState:
-
– setFillColor:forState:
-
– setTitleColor:forState:
Casting shadows
-
middleLayerShadowPath
property -
foregroundLayerShadowPath
property -
shadowOpacity
property -
shadowOffset
property -
shadowColor
property -
shadowRadius
property
Accessing knob control state (position and index)
-
position
property -
positionIndex
property -
– setPosition:animated:
Getting current state
-
currentFillColor
property -
currentImage
property -
currentTitleColor
property -
– imageForState:
-
– fillColorForState:
-
– titleColorForState:
Dialing a number (rotary dial mode)
Properties
backgroundImage
Optional background image
@property (nonatomic) UIImage *backgroundImage
Discussion
Optional background image
If set, the specified image is rendered in the background of the control. The default value is nil.
If mode is IKCMRotaryDial, and backgroundImage is nil, the numbers on the dial will be rendered as the background. Use this property to supply your own dial background instead of the generated one.
Declared In
IOSKnobControl.h
circular
Whether the knob rotates all the way around
@property (nonatomic) BOOL circular
Discussion
Whether the knob rotates all the way around
If this property is set to YES, the circle is closed. That is, all angular positions in (-π, π] are allowed, and -π is identified with π, so it is possible to continue around the circle. The min and max properties of the control are ignored.
If this property is set to NO, the circle is open, and the min and max properties are consulted.
The default value of this property is YES. It is ignored in IKCModeRotaryDial.
Declared In
IOSKnobControl.h
clockwise
Whether the position property increases when the knob rotates clockwise (vs. counterclockwise)
@property (nonatomic) BOOL clockwise
Discussion
Whether the position property increases when the knob rotates clockwise (vs. counterclockwise)
Specifies whether the value of position increases when the knob is turned clockwise instead of counterclockwise. The default value of this property is NO. It is ignored in IKCModeRotaryDial.
Declared In
IOSKnobControl.h
currentFillColor
The current fill color
@property (nonatomic, readonly) UIColor *currentFillColor
Discussion
The current fill color
The fill color for the current state.
Declared In
IOSKnobControl.h
currentImage
The current image
@property (nonatomic, readonly) UIImage *currentImage
Discussion
The current image
The image to use for the current state.
Declared In
IOSKnobControl.h
currentTitleColor
The current title color
@property (nonatomic, readonly) UIColor *currentTitleColor
Discussion
The current title color
The title color to use for the current state.
Declared In
IOSKnobControl.h
drawsAsynchronously
Whether to render certain things asynchronously
@property (nonatomic) BOOL drawsAsynchronously
Discussion
Whether to render certain things asynchronously
This property is passed to the animation layers that make up the knob. It can improve response by consuming more resources. Default is NO. See the CALayer class reference for more details.
 The default value, given the default value of 22 for fingerHoleRadius and the initial frame, is such that the distance between adjacent finger holes is also equal to fingerHoleMargin. If you resize the control or change fingerHoleRadius, fingerHoleMargin does not adjust automatically; you have to set it manually.
Declared In
IOSKnobControl.h
fingerHoleRadius
Finger hole radius
@property (nonatomic) CGFloat fingerHoleRadius
Discussion
Finger hole radius
Specifies the radius, in points, of finger holes in a generated knob image in IKCModeRotaryDial and when generating a shadow path for rotary dial mode.
When using a custom rotary dial image, set this to reflect the size of the finger holes in your image, along with knobRadius. An appropriate shadow path will be generated to match your dial image.
Default is 22.
See Also
Declared In
IOSKnobControl.h
fontName
Font name for generated titles
@property (nonatomic) NSString *fontName
Discussion
Font name for generated titles
The font name to use when rendering text in the discrete modes, including rotary dial. Default is Helvetica. The font size is determined by the knob size and the number of positions. CoreText interprets the font name and prefers PostScript names.
Declared In
IOSKnobControl.h
foregroundImage
Optional foreground image
@property (nonatomic) UIImage *foregroundImage
Discussion
Optional foreground image
An image to render in the foreground. Like the background image, this is totally stationary. The knob image is sandwiched between them and is the only thing that rotates. Obviously the foreground image has to be at least partly transparent. This is mainly useful for providing a stationary finger stop in the foreground of a rotary dial, but it may be used with any mode.
If mode is IKCModeRotaryDial, and foregroundImage is nil, a simple stop image is generated around 4:00 on the dial.
Declared In
IOSKnobControl.h
foregroundLayerShadowPath
Foreground layer shadow path
@property (nonatomic) UIBezierPath *foregroundLayerShadowPath
Discussion
Foreground layer shadow path
Though the foreground layer is stationary, this property is just as important to performance as the middleLayerShadowPath when using a custom foreground image. Set it to the outline of the opaque portion of your custom foregroundImage. This can also override the automatically provided shadow path for the generated finger stop triangle in case that should seem necessary. Default is nil.
See Also
Declared In
IOSKnobControl.h
gesture
Gesture to use
@property (nonatomic) IKCGesture gesture
Discussion
Gesture to use
Specifies the gesture the control should recognize. The default is IKCGestureOneFingerRotation.
See Also
Declared In
IOSKnobControl.h
knobRadius
Knob radius
@property (nonatomic) CGFloat knobRadius
Discussion
Knob radius
Used to generate knob images or shadow paths for custom images. Defaults to half the (square) view width in the initial frame.
If set to a positive value, the middle layer will be provided with a circular shadow path of the specified radius, in points. The center of the path will be at the center of the control. If you have a custom knob image like the one in the demo apps' Images.xcassets/disc.imageset, where an opaque circle is tangent to the bounds of the image, set knobRadius to half the width or height of the knob control. If your custom image does not reach the bounds of the image but has a transparent margin, set this value to less than half the width or height of the square knob control. You have to reset this value any time the knob control resizes. This property takes precedence over the middleLayerShadowPath property and the default shadow paths generated by the control for its generated images in all modes but IKCModeRotaryDial. If set to 0, this property is ignored, and the middleLayerShadowPath or the automatically generated shadow path will be used instead.
When using a custom rotary dial image, set this to reflect the size of the outer dial, along with fingerHoleMargin and fingerHoleRadius. An appropriate shadow path will be generated to match your dial image.
Declared In
IOSKnobControl.h
masksImage
Mask image flag
@property (nonatomic) BOOL masksImage
Discussion
Mask image flag
Ignored when no image is present. If set to YES, the current image may be masked. If the middleLayerShadowPath is set, the image is masked to that path. Otherwise, the image is masked to a circle whose radius is knobRadius. If middleLayerShadowPath is nil and knobRadius is 0 or masksImage is set to NO, no mask is performed. Default is NO.
Declared In
IOSKnobControl.h
max
Maximum value of position
@property (nonatomic) float max
Discussion
Maximum value of position
Maximum value of the position property if circular == NO. It is ignored in IKCModeRotaryDial. All values are valid, but min and max must be no more than 2π apart. The last one set wins. For example, if you first set min to 0 and max to 3π, min will be adjusted to 2π after max is set. If you set max first and then min, max will be adjusted to π after min is set. In all cases, if the current knob position is outside the allowed range, it will be made to lie within that range after the min or max is adjusted, by setting either to the min or max value.
Declared In
IOSKnobControl.h
middleLayerShadowPath
Middle layer shadow path
@property (nonatomic) UIBezierPath *middleLayerShadowPath
Discussion
Middle layer shadow path
If you are using a custom image with circular symmetry, you can greatly improve the performance of the knob control with a shadow by setting this property. Use the knobRadius property if your image is an opaque circle. Use this property if your knob image is, say, an annulus with a transparent center. If the shadow path is not fixed, it has to be computed by the CALayer frame by frame, which is slow. If the knobRadius property is set to a positive value, this property is ignored. The control generates its own shadow paths for the knob images it generates in all modes but IKCModeRotaryDial, unless this property is non-nil or the knobRadius is greater than 0. Default is nil.
See Also
Declared In
IOSKnobControl.h
min
Minimum value of position
@property (nonatomic) float min
Discussion
Minimum value of position
Minimum value of the position property if circular == NO. It is ignored in IKCModeRotaryDial. All values are valid, but min and max must be no more than 2π apart. The last one set wins. For example, if you first set min to 0 and max to 3π, min will be adjusted to 2π after max is set. If you set max first and then min, max will be adjusted to π after min is set. In all cases, if the current knob position is outside the allowed range, it will be made to lie within that range after the min or max is adjusted, by setting either to the min or max value.
Declared In
IOSKnobControl.h
mode
Overall knob control mode
@property (nonatomic) IKCMode mode
Discussion
Overall knob control mode
Specifies which mode to use for this knob control. IKCModeLinearReturn is the default.
See Also
Declared In
IOSKnobControl.h
normalized
Whether position is normalized
@property (nonatomic) BOOL normalized
Discussion
Whether position is normalized
Only consulted if circular is YES. If YES, the position property will always be normalized to lie in (-π, π]. If NO, position can increase or decrease beyond those bounds, allowing determination of the number of complete revolutions. If circular is NO, this property is ignored, and the min and max properties are consulted instead. Defaults to YES.
Declared In
IOSKnobControl.h
position
Current knob position
@property (nonatomic) float position
Discussion
Current knob position
Current angular position, in radians, of the knob. Initial value is 0. Limited to (-π, π]. See setPosition:animated: for more details, including the role of the circular, min and max properties. Assigning to this property results in a call to that method, with animated = NO.
Declared In
IOSKnobControl.h
positionIndex
Current knob position index
@property (nonatomic) NSInteger positionIndex
Discussion
Current knob position index
Current position index in discrete mode. Which of the positions is selected? This is simply (positionmin)/(maxmin) x positions. If circular is YES, the min and max properties are ignored, and then positionIndex is (position/2/π) x positions. This property always returns a non-negative number. While position may return a negative angle, positionIndex will range from 0 to positions - 1. For example, if positions is 6 and circular is YES, positionIndex 0 will range from position -π/6 to π/6. The region from -π/2 to -π/6 will have positionIndex 5 instead of -1.
In IKCModeRotaryDial, this property is used to represent the number last dialed. This property should be consulted whenever a UIControlEventValueChanged is generated.
Declared In
IOSKnobControl.h
positions
Number of discrete positions
@property (nonatomic) NSUInteger positions
Discussion
Number of discrete positions
Number of discrete positions. Default and minimum are 2. No maximum. (DEBT: Should there be some practical max?) Not consulted in continuous or rotary dial modes.
Declared In
IOSKnobControl.h
shadowColor
Shadow color
@property (nonatomic) UIColor *shadowColor
Discussion
Shadow color
The CGColor property of this UIColor object is passed to the shadowColor property of the middle and foreground CALayers. Default is [UIColor blackColor].
Declared In
IOSKnobControl.h
shadowOffset
Shadow offset
@property (nonatomic) CGSize shadowOffset
Discussion
Shadow offset
Passed to the CALayer shadowOffset property for the middle and foreground layers. Default is CGSizeMake(0, 3), putting any shadow directly below the knob vertically.
Declared In
IOSKnobControl.h
shadowOpacity
Shadow opacity
@property (nonatomic) CGFloat shadowOpacity
Discussion
Shadow opacity
Passed to the CALayer shadowOpacity property for the middle and foreground layers. Default is 0.
Declared In
IOSKnobControl.h
shadowRadius
Shadow blur radius
@property (nonatomic) CGFloat shadowRadius
Discussion
Shadow blur radius
Passed to the CALayer shadowRadius property for the middle and foreground layers. Default is 3.
Declared In
IOSKnobControl.h
timeScale
Animation time scale
@property (nonatomic) float timeScale
Discussion
Animation time scale
Used to specify the time scale for return animations. Default is 1.0. The duration of the animation is proportional to this property. Set the number below 1.0 to speed up the animation, and above to slow it down. Return animations will rotate through π/6/timeScale radians per second or through 2π in timeScale x 12 s.
Declared In
IOSKnobControl.h
titles
Titles for generated knob in discrete modes
@property (nonatomic) NSArray *titles
Discussion
Titles for generated knob in discrete modes
Only used when no image is provided in a discrete mode. These titles are rendered around the knob for each position index. If this property is nil (the default), the position indices will be rendered instead (0, 1, 2, …). If the length of titles is less than positions, remaining titles will be supplied by indices.
Entries may be NSStrings, NSAttributedStrings, or a mix. If an NSAttributedString does not specify the NSFontAttributeName or the NSForegroundColorAttributeName, the attribute will be supplied as for NSStrings (from the currentTitleColor and fontName properties, and the font size will be determined to fit the knob or by zooming the top title). If an attributed string specifies a font, and the zoomTopTitle property is set to YES, the attributed string’s font size will be increased. Otherwise, the attributed string’s specified attributes will be used. Except for zooming the top title, specified font sizes of attributed strings are never adjusted to fit the knob like plain string titles.
Declared In
IOSKnobControl.h
zoomPointSize
Point size to which to zoom top title
@property (nonatomic) CGFloat zoomPointSize
Discussion
Point size to which to zoom top title
Only applicable if zoomTopTitle is set in IKCModeLinearReturn or IKCModeWheelOfFortune with no image. Specifies the point size to which the top title should be enlarged. If set to 0, on iOS 7+ the Dynamic Type headline size (i.e., [UIFontDescriptor preferredFontDescriptorWithTextStyle:UIFontTextStyleHeadline].pointSize) will be used; on iOS 5 or 6 a 17 pt font will be used. Otherwise, the specified point size will be used. The default is 0.
Declared In
IOSKnobControl.h
zoomTopTitle
Zoom the top title (in case it’s too small)
@property (nonatomic) BOOL zoomTopTitle
Discussion
Zoom the top title (in case it’s too small)
Only applicable in IKCModeLinearReturn and IKCModeWheelOfFortune when no image is present, and the knob image is generated from the titles property. If set to YES, the control will enlarge the top title up to a certain size (see zoomPointSize above). The default value is YES.
Declared In
IOSKnobControl.h
Instance Methods
dialNumber:
Dial a number
- (void)dialNumber:(int)number
Parameters
- number
the number to dial
Discussion
Dial a number
ICKModeRotaryDial only. Programmatically dial a number on the control. This causes the dial to rotate clockwise as though the user had dialed the specified number and then to rotate back to the rest position. It generates a UIControlEventValueChanged and sets the value of the positionIndex property to number.
Declared In
IOSKnobControl.h
fillColorForState:
Fill color for a given state
- (UIColor *)fillColorForState:(UIControlState)state
Parameters
- state
any valid control state
Return Value
the fill color to use for the specified state
Discussion
Fill color for a given state
Retrieve the fill color to use for the generated knob image in a particular control state. The state argument may be any bitwise combination of UIControlState values, e.g. UIControlStateHighlighted|UIConrolStateDisabled. The fill color for the higher-valued state is returned. For example, in the previous case, since UIControlStateDisabled > UIControlStateHighlighted, the disabled fill color will be returned. If no fill color has been configured for the specified state (e.g., in this example, if there were no disabled fill color specified), returns a color based on the tintColor property. If any of the UIControlStateApplication bits is set, returns the fill color for UIControlStateNormal.
Declared In
IOSKnobControl.h
imageForState:
Image for a given state
- (UIImage *)imageForState:(UIControlState)state
Parameters
- state
any valid control state
Return Value
the image to use for the specified state
Discussion
Image for a given state
Retrieve the image to use for a particular control state. The state argument may be any bitwise combination of UIControlState values, e.g. UIControlStateHighlighted|UIConrolStateDisabled. The image for the higher-valued state is returned. For example, in the previous case, since UIControlStateDisabled > UIControlStateHighlighted, the disabled image will be returned. If no image has been configured for the specified state (e.g., in this example, if there were no disabled image specified), returns the image for UIControlStateNormal, if any has been set. If any of the UIControlStateApplication bits is set, returns the image for UIControlStateNormal.
Declared In
IOSKnobControl.h
initWithFrame:
Inherited initializer
- (instancetype)initWithFrame:(CGRect)frame
Parameters
- frame
the initial frame for the control
Discussion
Inherited initializer
Inherited from UIView and UIControl. No image specified.
Declared In
IOSKnobControl.h
initWithFrame:image:
Initialize the control with an image
- (instancetype)initWithFrame:(CGRect)frame image:(UIImage *)image
Parameters
- frame
the initial frame for the control
- image
an image to use for the control’s normal state
Discussion
Initialize the control with an image
Initialize the control with a specific knob image for the UIControlStateNormal state.
Declared In
IOSKnobControl.h
initWithFrame:imageNamed:
Initialize the control with a specific knob image for the UIControlStateNormal state.
- (instancetype)initWithFrame:(CGRect)frame imageNamed:(NSString *)imageSetName
Parameters
- frame
the initial frame for the control
- imageSetName
the name of an image set in the application’s asset catalog
Discussion
Initialize the control with a specific knob image for the UIControlStateNormal state.
The image used will be [UIImage imageNamed:imageSetName]. The image will be selected appropriately for the screen density from the image set named imageSetName in the application’s asset catalog.
Declared In
IOSKnobControl.h
setFillColor:forState:
Set the fill color for a given state
- (void)setFillColor:(UIColor *)color forState:(UIControlState)state
Parameters
- color
the fill color to use for the specified state
- state
one of UIControlStateNormal, UIcontrolStateHighlighted, UIControlStateDisabled or UIControlStateSelected
Discussion
Set the fill color for a given state
Set the fill color to use for the knob in a specific control state. Unlike the case with fillColorForState:, the state parameter must be one of UIControlStateNormal, UIControlStateHighlighted, UIControlStateDisabled or UIControlStateSelected. Mixed states like UIControlStateHighlighted|UIControlStateDisabled will be ignored, and no fill color values will be modified.
Declared In
IOSKnobControl.h
setImage:forState:
Set the image for a given state
- (void)setImage:(UIImage *)image forState:(UIControlState)state
Parameters
- image
the image to use for the specified state
- state
one of UIControlStateNormal, UIcontrolStateHighlighted, UIControlStateDisabled or UIControlStateSelected
Discussion
Set the image for a given state
Set the image to use for a specific control state. Unlike the case with imageForState:, the state parameter must be one of UIControlStateNormal, UIControlStateHighlighted, UIControlStateDisabled or UIControlStateSelected. Mixed states like UIControlStateHighlighted|UIControlStateDisabled will be ignored, and no image values will be modified.
Declared In
IOSKnobControl.h
setPosition:animated:
Set position to a new value
- (void)setPosition:(float)position animated:(BOOL)animated
Parameters
- position
the new angular position for the knob; will be adjusted to lie within (-π, π] and respect the min and max properties if circular is NO
- animated
if YES, animate the transition to the new position; otherwise, the transition is instantaneous
Discussion
Set position to a new value
Set the position property of the control with or without animation. The specified position will first be constrained to lie between min and max if circular == NO. If the position is greater than max or less than min, it is adjusted to the closest of those values. Next, the value of position is constrained to lie in (-π, π] by adding a (possibly zero or negative) integer multiple of 2π. Finally, the position property is set to this value. If animated is YES, the knob image gradually rotates to the new position; otherwise the visual change is immediate. In either case, the position property changes its value immediately. No UIControlEventValueChanged is generated.
Though the position will be forced to lie between the min and max properties, it may otherwise be set to a disallowed position. That is, if mode is IKCModeLinearReturn, the knob may be positioned between discrete positions, and if mode is IKCModeWheelOfFortune, the knob may be positioned exactly on a boundary between segments. If the control is enabled, any subsequent gesture will probably result in a return animation to the nearest allowed position.
Declared In
IOSKnobControl.h
setTitleColor:forState:
Set the title color for a given state
- (void)setTitleColor:(UIColor *)color forState:(UIControlState)state
Parameters
- color
the title color to use for the specified state
- state
one of UIControlStateNormal, UIcontrolStateHighlighted, UIControlStateDisabled or UIControlStateSelected
Discussion
Set the title color for a given state
Set the title color to use for the knob in a specific control state. Unlike the case with titleColorForState:, the state parameter must be one of UIControlStateNormal, UIControlStateHighlighted, UIControlStateDisabled or UIControlStateSelected. Mixed states like UIControlStateHighlighted|UIControlStateDisabled will be ignored, and no title color values will be modified.
Declared In
IOSKnobControl.h
titleColorForState:
Title color for a given state
- (UIColor *)titleColorForState:(UIControlState)state
Parameters
- state
any valid control state
Return Value
the title color to use for the specified state
Discussion
Title color for a given state
Retrieve the title color to use for the generated knob image in a particular control state. The state argument may be any bitwise combination of UIControlState values, e.g. UIControlStateHighlighted|UIConrolStateDisabled. The title color for the higher-valued state is returned. For example, in the previous case, since UIControlStateDisabled > UIControlStateHighlighted, the disabled title color will be returned. If no title color has been configured for the specified state (e.g., in this example, if there were no disabled title color specified), returns a color based on the tintColor property. If any of the UIControlStateApplication bits is set, returns the title color for UIControlStateNormal.
Declared In
IOSKnobControl.h


BALANCE
-
1 BREE
1 TRUST SCORE (CBTS)
FEES PAID
- 100 BREE
TOTAL EARNED
- 100 BREE
GLOBAL STATISTICS
TOTAL PROPOSALS
- 2 Proposals
ACTIVE PROPOSALS
- 3 Proposals
INACTIVE PROPOSALS
- 2 Proposals
ACCEPTED PROPOSALS
- 3 Proposals
REJECTED PROPOSALS
- 2 Proposals
TOTAL VOTERS (VOTES)
- 189 Breeders (192 BREE)
PROPOSALS
ACTIVE PROPOSAL
-
Introduce MTA as a BREE farming asset
-
Change staking rates to 60% APY
INACTIVE PROPOSAL
-
Increase farmed yield claim fees to 0.01 ETH
-
Change proposal creation fees to 500 BREE


If you love Telegram but don't want to leave Discord then you'll be pleased to find we've built a bridge in this channel. If you'd like to join the group in the Telegram app you can find it here: https://t.me/KomodoPlatform_Official.
100 messages
Before 05-Dec-19 12:00 AM
GatewayBOT02-Apr-19 06:41 AM
[telegram] <L> @Acura360 Can I make a profit by putting my kmd in my wallet?
GatewayBOT02-Apr-19 07:00 AM
[telegram] <Acura360> yes, 5,1% rewards yearly (re @L: @Acura360 Can I make a profit by putting my kmd in my wallet?)(edited)
[telegram] <L> @Acura360 The more kmd I put in my wallet, the more revenue I get? Thank you
[telegram] <Acura360> yes
[telegram] <L> Is the award on a monthly or annual basis
[telegram] <OriginalBitcoin> You have to claim it monthly.
Hemp Coin $THC will become an assetchain, a completely independent blockchain but with the advantages of better integration into #KMD ecosystem features, security & future tech improvements https://t.co/ScjCtYLp25
GatewayBOT02-Apr-19 09:48 AM
[telegram] <Sergio> Will kmd follow Bitcoin price?
[telegram] <Sergio> We are on 24k
[telegram] <Vollka_Racho> Yes, the devs work on it day and night!!! Great things will come to komodo in the future (re @borntobe4live: Nice! What is it going to be exactly? A gaming platform?)
[telegram] <borntobe4live> Great. The posibilities of Komodo seem endless (re @Vollka_Racho: Yes, the devs work on it day and night!!! Great things will come to komodo in the future)
[telegram] <Dwayne_advfn> Great product in Komodo, would i be able to get in contact with someone in charge of marketing?
GatewayBOT02-Apr-19 10:09 AM
[telegram] <Acura360><EMAIL_ADDRESS>(re @Dwayne_advfn: Great product in Komodo, would i be able to get in contact with someone in charge of marketing?)
Komodo KMD can find a way to increase the speed of transactions to Visa level while maintaining the POW uses Asset chains. The ability to use as a payment system in couple with advanced Komodo technologies will have an explosive effect. $KMD #paysystem
#Komodo Community #Update: Our team is intensively testing the alpha version of #Komodo's #mobile #DEX dapp. The results are terrific! For sake of transparency you can track all atomic swaps from the video https://t.co/zqacTmT5mK in the blockchain explorers. #KMD #DEX #BTC
A new Puerto Rico-based financial institution catering to traders of cryptocurrency has opened for business.
[telegram] <PTYX11> Do you know anyone there?
[telegram] <PTYX11> or should we reach out to them through their website
[matrix] <telegram_408120856:t2bot.io> Do you know anyone there?
[matrix] <telegram_408120856:t2bot.io> or should we reach out to them through their website
[telegram] <PTYX11> looks like the bot is pasting twice
[telegram] <siulynot> I can make some contacts, im being told Michael Turpin is the one involved
[telegram] <siulynot> yes, it is
[telegram] <PTYX11> i'm interested in an account for chainzilla (re @siulynot: I can make some contacts, im being told Michael Turpin is the one involved)
[matrix] <telegram_408120856:t2bot.io> looks like the bot is pasting twice
[matrix] <telegram_547927325:t2bot.io> yes, it is
[matrix] <telegram_547927325:t2bot.io> I can make some contacts, im being told Michael Turpin is the one involved
[telegram] <PTYX11> that would be great
[matrix] <telegram_408120856:t2bot.io> > <Siu G (Telegram)> I can make some contacts, im being told Michael Turpin is the one involved
i'm interested in an account for chainzilla
[matrix] <telegram_408120856:t2bot.io> that would be great
@CryptoAlex420 High TPS is only one side of the coin. Komodo has already implemented many of the innovative technologies I need. ( CC, dPOW, Dilithium, DEX, Oracles).
@CryptoAlex420 High TPS is only one side of the coin. Komodo has already implemented many of the innovative technologies I need. ( CC, dPOW, Dilithium, DEX, Oracles).
Komodo Platform is starting a weekly briefing on the progress the Komodo Dev Team is making. It's called Tech Tuesday Update. Here's another update!
GatewayBOT02-Apr-19 09:22 PM
[telegram] <Regnar> Yeeeeeeee (re @PTYX11: I can't wait to add that feature to Chameleon)
[matrix] <telegram_546735046:t2bot.io> > <PTYX (Telegram)> I can't wait to add that feature to Chameleon
Yeeeeeeee
GatewayBOT02-Apr-19 09:53 PM
[telegram] <Dustgewalt> how long does it usually take to withdrawl KMD from the agama wallet? I just made my first witdrawl like...7-8 minutes ago of 1250 KMD, still processing
[telegram] <PTYX11> It should process near instantly (re @Dustgewalt: how long does it usually take to withdrawl KMD from the agama wallet? I just made my first witdrawl like...7-8 minutes ago of 1250 KMD, still processing)
[telegram] <PTYX11> 60 second block times
[telegram] <Dustgewalt> ok...so what can I do about it
[telegram] <Dustgewalt> restart agama?
[matrix] <telegram_408120856:t2bot.io> It should process near instantly
[matrix] <telegram_408120856:t2bot.io> 60 second block times
[telegram] <Dustgewalt> i have the lite node open, not the entire blockchain on my computer
[telegram] <Dustgewalt> restart actually helped
[telegram] <Dustgewalt> but I had to do the transaction again
Games, #games and more games!  Levels on the #blockchain, and #ProofOfGameplay. Oh, and we are making it #multiplayer. https://t.co/9FpEHvh32u
[telegram] <Mike> New Signal Every Week
+300% profit per week
4000 Members
Tips for Binance and Cryptopia
Join our group telegram
T.me/lionsignalK
[telegram] <汪通晓> ߒ堉 Q E A 全球最安全的数字货币交易管家ߒ堊 ߒޠ 4.6号火爆上线 ߒޠ
全球知名公司美林美银集团原核心风控团队打造开发,拒绝虚假搬砖套利从 I Q E A 做起
 注册即送1ETH体验金（等值50元），邀请好友注册送0.2 E T H 体验金（等值10元），月 撸 95-无上限，羊 毛 党 的最爱，零投入零创业
最低1000元开启 I Q E A 周期7天，15天，30天自由选择，月收益21%-45%，提币0手续费
直推奖励10%，动态奖励50%，管理奖励6%，超强扶持领导人，零投入暴赚
ߌꠠ 糖 果 IQX免费空投会员，最高每次送800枚，发行量1.2亿枚，发行价0.2美金，15%运营团队，10%风投基金，75%全部空投，拒绝ICO与私募。ߌꠠ
ߛᰟԩ 交易主流货币ETH,市值大，名气大，升值空间大，避免庄家操控，减少交易难度ߛᠰߔ頊 所有交易资金流入市场，每周公布交易报告，没有资金池，拒绝泡沫
ߔ市场空间巨大，当IQX币75%空投结束，启动IQEA由IQX币支付使用，未持有IQX币的客户只能去交易所买入，推动IQX上涨升值空间，远离空气币ߔ
ߑꠠ为提升线上社区活跃度，促使IQEA的社群队伍和底层共识能够进一步发展壮大，特招募社区群主100名：每月社区群主工资等值800元-1800元ETH，详情联系官方社群专员。ߑꠠ
V . X ：GK32568786
注 册 下 载 地址：http://share.chs7.com/register.html?account=vpJh7nVm
We will be covered by @DailyChainNews about our advisory board members @bennydoda01 and @ajay1172, our partnership with @redfoxlabsio and the enthusiasm we have for @KomodoPlatform. A bit of history and a byte of the future. Thank you @alexlibertas for giving us some spo...
[telegram] <bitcoinmusk> Forwarded from RealBitcoinBenny: Top 20 exchange listing is one of the big ones. We will announce when we can but we now have around 5 major exchanges approved and we are ready to rock and roll once we go live
[telegram] <Sam>  (re @bitcoinmusk: Top 20 exchange listing is one of the big ones. We will announce when we can but we now have around 5 major exchanges approved and we are ready to rock and roll once we go live)
[telegram] <TheoHx> Anyone else doing a TA of KMDBTC? I think it broke a major support of 3300 and I’m thinking of cutting my loses. Thoughts?
[telegram] <JohDio> Make moves, not fud (re @TheoHx: Anyone else doing a TA of KMDBTC? I think it broke a major support of 3300 and I’m thinking of cutting my loses. Thoughts?)
[telegram] <CryptoNinjaa> Short term who knows ♂ long term komodo . What you do is upto you (re @TheoHx: Anyone else doing a TA of KMDBTC? I think it broke a major support of 3300 and I’m thinking of cutting my loses. Thoughts?)
[telegram] <n> do you guys think it can reach 100$ some day?
[telegram] <Sam> You don't want to hear my opinion :)


inSeason
Login
Sign in
Sign in with Facebook
Sign in with Google
OR
Sign in
Sign up with New Account
Sign up with Facebook
Sign up with Google
OR
Sign Up
Back


Numerical argument for auto
Write a goal in minimal proppsitional logic, solvable with
auto 6
, but not with
auto
(which is
auto 5
).
Solution
Look at this file
Going home
Pierre Castéran


Sprint 46 review - September 14, 2016
There is a ManageIQ Sprint review every 3 weeks, and everyone in the community is welcome to participate. To join our Sprint review meeting, please use this Bluejeans link.
Even with a long Labour day weekend in between, we sprang another solid iteration with Sprint 46. There were 353 merged pull requests in the main repo - 171 PRs in UI alone - and with integration tests from the QE team, documentation, self service, Amazon provider etc., we had a grand total of 541 PRs across all the repos!
During Sprint 45, we had inventory collection of GCE Preemptible VMs, and now we can provision them with Google’s contributions in this sprint.  Our friends at XLAB put in major effort to enable collection of status of vCloud Orchestration Stacks, as well as all cloud network inventory objects for vCloud.
Microsoft Azure gets a provider-specific logger which makes debugging a whole lot easier, plus a Subscription field to its discovery screen on the UI. In other UI news (which deserves a separate blog post on its own), there were a lot of bug fixes resulting from all the new stuff that are coming in and the code refactoring.
Some work has been done at the back end for supporting the generation of Chargeback for services. At some point, this will be used in SSUI to show the cost of VMs grouped by service. There have been amazing performance enhancements too, for example viewing the VM explorer for current user is now a remarkable 99.5% faster (from 93.8s down to 0.5s)!
The QE team wants to schedule some calls around reviewing test coverage with development and anyone interested. If you’d like to help out, please contact Dave Johnson.
In this week’s video we have a cool mouseless PostgreSQL High Availability demo, from setting up the DB cluster, running the repmgr daemon, to the failover mechanisms in action. Other demos include Service Designer, Cloud Tenant Mapping, and a sneak peek at the new manageiq.org site.
If you’d like to check out a particular section of the review meeting, here are the respective timestamps:
- Sprint Statistics (Oleg Barenboim) - 1:14
- Community Update (Carol Chen) - 4:07
- Service Broker (Jillian Tullo) - 9:20
- Providers (Greg Blomquist) - 14:10
- User Interface (Dan Clarizio) - 22:08
- Platform (Gregg Tanzillo) - 28:21
RESTAPI (Alberto Bellotti) - 47:28- Automate (Greg McCullough) - 52:52
- Performance (Dennis Metzger) - 57:17
- Quality Engineering (Dave Johnson) - 1:02:30
- Discussion - 1:11:20
Delve into some specific PRs with these 3 installments of “Last Week in ManageIQ”:
- Speedups, Chargebacks, Toolbars, and more! - by Jillian Tullo
- API refactor, Observables and more! - by Happy Martin Hradil
- Bootstrap Tree is Here - by Zita Nemeckova
We’ll be making the E-branch next week in preparation for the beta Euwe release in the upcoming sprint. Sprint 47 review will be on October 5, 2016 @ 7:30am PDT/10:30am EDT/14:30 GMT. You can import the ManageIQ community calendar to be notified about this and future Sprint reviews.
Slide deck:
Changelog:
Added
- Automate
- Import Rake task
OVERWRITE
argument: SettingOVERWRITE=true
removes the target domain prior to import - New
extend_retires_on
method: Used by Automate methods to set a retirement date to specified number of days from today, or from a future date. - Service model updates
- MiqAeServiceHardware
- MiqAeServicePartition
- MiqAeServiceVolume
- Import Rake task
- Platform
- Centralized Administration
- Server to server authentication
- Invoke tasks on remote regions
- Leverage new API client (WIP)
- Chargeback
- Support for generating chargeback for services
- Will be used in Service UI for showing the cost of a service
- Database Maintenance
- Hourly reindex: High Churn Tables
- Periodic full vacuum
- Configure in appliance console
- Notification Backend
- Model for asynchronous notifications
- Authentication token generation for web sockets
- API for notification drawer
- PostgreSQL High Availability
- DB Cluster - Primary, Standbys
- Uses repmgr (replication)
- Failover
- Primary to Standby
- Appliance connects to new primary DB
- Tenancy: Mapping Cloud Tenants to ManageIQ Tenants
- Post refresh hook on OpenStack provider
- Create provider base tenant under a root tenant
- Cloud Tenant tree generated under provider base tenant
- Create / Update / Delete
- Centralized Administration
- Providers
- Containers
- Reports: Pods for images per project, Pods per node
- Deployment wizard
- Google Compute Engine: Provision Preemptible VMs
- Hawkular
- JMS support (entities, topology)
- Reports for Transactions (in App servers)
- Support micro-lifecycle for Middleware-deployments
- Middleware provider now uses restful routes
- Microsoft Azure
- Handle new events: Create Security Group, VM Capture
- Provider-specific logging
- Networking
- Allow port ranges for Load Balancers
- Load Balancer user interface
- OpenStack
- Collect inventory for cloud volume backups
- Show topology for undercloud
- Associate/Disassociate Floating IPs
- Red Hat Enterprise Virtualization
- Get Host OS version and type
- Disk Management in VM Reconfigure
- VMware: Filter Storage by Profile
- vCloud
- Collect status of vCloud Orchestration Stacks
- Add Network Manager
- Collect networking inventory
- Containers
- REST API
- Token manager supports for web sockets
- Added querying for cockpit support
- Added support for Bulk queries
- Added support for UI notification drawer
- API entrypoint returns details about the appliance via server_info
- Blueprint updates now supports removal of the Service Catalog or Service Dialog from a Blueprint
- Service Broker: Service UI (name change from Self Service UI)
- Renamed due to expanding number of use cases
- Adding in Arbitration Rules UI
- User Interface
- Added mandatory Subscription field to Microsoft Azure Discovery screen
- Added Notifications Drawer and Toast Notifications List
- Added support for vSphere Distributed Switches
- Added support to show child/parent relations of Orchestration Stacks
- Added Middleware Messaging entities to topology chart
Changed
- Automate: Description for Datastore Reset action now includes list of target domains
- Performance
- Page rendering
- Compute -> Infrastructure -> Virtual Machines: 9% faster, 32% fewer rows tested on 3k active vms and 3k archived vms
- Services -> My Services: 60% faster, 98% fewer queries, 32% fewer db rows returned
Ownershipmixin
- Filtering now done in SQL
- 99.5% faster (93.8s -> 0.5s) testing
- VMs / All VMs / VMs I Own
- VMs / All VMs / VMs in My LDAP Group
- Page rendering
- User Interface: Dynatree replaced with bootstrap-treeview


This library uses geolocation to add a marker and accuracy circle to a map. The marker position is automatically updated as the user position changes.
To add the Geolocation Marker, just instantiate a new GeolocationMarker object, passing your map to it:
var mapOptions = { zoom: 17, center: new google.maps.LatLng(-34.397, 150.644), mapTypeId: google.maps.MapTypeId.ROADMAP }; var map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions); var GeoMarker = new GeolocationMarker(map);
See the example.
Note: This library will only function in browsers supporting the W3C Geolocation API. This excludes Internet Explorer versions 8 and older.
This class extends google.maps.MVCObject.
| Constructor | Description |
|---|---|
GeolocationMarker(map?:google.maps.Map,
marker_opts?:google.maps.MarkerOptions,
circle_opts?:google.maps.CircleOptions)
|
A marker and accuracy circle positioned on the map to track the user's location. |
| Methods | Return Value | Description |
|---|---|---|
getAccuracy()
|
number|null
|
Returns the current accuracy of the location data. Will return null
if a position has not yet been obtained.
|
getBounds()
|
google.maps.LatLngBounds|null
|
Returns the lat/lng bounds containing the marker and accuracy circle. Will return
null if a position has not yet been obtained.
|
getMap()
|
google.maps.Map
|
|
getMinimumAccuracy()
|
number|null
|
Returns the minimum accuracy (in meters) that must be achieved before the marker is initially drawn on the map.
Returns null if no minimum is specified.
|
getPosition()
|
google.maps.LatLng|null
|
Returns the center of the marker and accuracy circle. Will return null
if a position has not yet been obtained.
|
getPositionOptions()
|
PositionOptionsInterface
|
Returns the current options used to call the geolocation.watchPosition method. |
setCircleOptions(options:google.maps.CircleOptions)
|
This method will ignore certain properties of the
google.maps.CircleOptions object. It will ignore position , radius
and map properties as these are set by the library.
|
|
setMap(map:google.maps.Map)
|
||
setMarkerOptions(options:google.maps.MarkerOptions)
|
This method will ignore certain properties of the
google.maps.MarkerOptions object. It will ignore position
and map properties as these are set by the library.
|
|
setMinimumAccuracy(accuracy:number|null)
|
Sets the minimum accuracy (in meters) that must be achieved before the marker is initially drawn on the map. | |
setPositionOptions(positionOpts:
PositionOptionsInterface)
|
Sets the options used to call the geolocation.watchPosition method. |
| Events | Arguments | Description |
|---|---|---|
accuracy_changed
|
||
geolocation_error
|
PositionErrorInterface
|
Triggered whenever geolocation fails. Can be caused by a user denying permission to access location data. |
position_changed
|


{% extends 'base.html' %} {% block pagetitle %}Brian R. Bondy - Android expected age by tag list{% endblock %} {% block title %} Android expected age by tag list{% endblock %} {% block subtitle %}Calculated by using the expected value for the age each answer comes from{% endblock %} {% block main_content %}
This list contains the expected age per tag from the the Android site, sorted by expected age.
The list was generated with the Android April 2011 data dump on 4/25/2011 10:37:43 PM.
The creator of this list is Brian R. Bondy: Blog, Twitter, StackOverflow.
Please see the following link for other lists.


Snom's Rules
1. Respect Snom 2. Don't do anything that Snom doesn't like 3.  This further proves that Snom is a generous god who lets us live freely.


Thank you for being one of the first users of Unoya. We are working hard to get in touch with various cancer awarness organizations and help groups around the country. In the next few months, we will start selectively rolling out campaigns for you to follow. Please bear with us as we clean up after our initial launch and get ready to change the world.
{{campaign.description}}


One of the tubes in the top section contains polluted water. Your goal is to find out which one.
To do this, follow the three steps, by preparing 23 tubes to be analyzed.
Warning: every time you restart, a different tube may be polluted.


INFINITY TRADE COIN ICO Documentation¶
Tools for writing and deploying smart contracts¶
Infura – scalable blockchain infrastructure. Don’t run a full Ethereum node, let them handle the infrastructure layer
Mist Browser – browse the dApp. Separate browser to browse dApps and interact with them.
Truffle Framework – The Ethereum Development framework. It has built-in smart contract compilation, linking, deployment, and binary management.
Metamask – It allows to run Ethereum dApps right in the browser without running a full Ethereum node. It is a browser plugin that allows users to make Ethereum transactions through regular websites.
Remix – Web IDE to write, deploy and run Solidity smart contracts
ETHFiddle - Share you Solidity Script
ETHFiddle - Framework to audit smart contract code
External Documentation¶
Solidity Documentation - Solidity Documentation
Create your own crypto - Create your own crypto (official)
ICO Smart Contact Framework - ICO Smart Contact Framework
Smart Contract Example¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | pragma solidity ^0.4.0;
contract Coin {
// The keyword "public" makes those variables
// readable from outside.
address public minter;
mapping (address =&gt; uint) public balances;
// Events allow light clients to react on
// changes efficiently.
event Sent(address from, address to, uint amount);
// This is the constructor whose code is
// run only when the contract is created.
function Coin() {
minter = msg.sender;
}
function mint(address receiver, uint amount) {
if (msg.sender != minter) return;
balances[receiver] += amount;
}
function send(address receiver, uint amount) {
if (balances[msg.sender] &lt; amount) return;
balances[msg.sender] -= amount;
balances[receiver] += amount;
Sent(msg.sender, receiver, amount);
}
}
|
address public minter;
It’s a 160 bit variable ideal for storing addresses on the Ethereum network.
mapping (address =&amp;gt; uint) public balances;
Creates a mapping between address and unit type which stores the coin balance in each address
function Coin() {
minter = msg.sender;
}
Constructor function. Executed as soon as the contract is deployed. This sets the value of minter to the address which has deployed the contract. This ensures that only the owner of the contract can mint new coins and nobody else. This is ensured by the following function:
function mint(address receiver, uint amount)
Function sending coin value equal to amount to the receiver address.
function send(address receiver, uint amount)
Function sending coins to the receiver’s address from the sender’s address
Deploying smart contract in Ethereum blockchain¶
Testnets simulate the Ethereum network and EVM. It enables developers to upload and interact with smart contracts without paying the cost of gas.
Smart contracts must pay gas for their computations on the Ethereum network. However, testnets provide environments for developers to test their contracts without paying any money. Testnet gas is available for free from many public areas. es. ropsten


{% extends "layouts/base.html" %} {% block title %} Form Elements {% endblock %} {% block stylesheets %}{% endblock stylesheets %} {% block content %} Section_Name Create New File {% csrf_token %} File No Enter File No. and Year separated by '/' Section ID Date of Creation Part No Leave Blank if there is no part file. File Description Submit {% endblock content %} {% block javascripts %}{% endblock javascripts %}


It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout.
© Copyrights Stanley. All Rights Reserved


BERKSHIRE HATHAWAY INC.
3555 Farman Street Suite
Omaha, NE 68131 Official Home page
A Message from Warren E. Buffet
News Releases
Update July 1, 2014
Annual & Income Reports
Updated May 2nd, 2014
Warren Buffet's Letters to Berkshire Shareholders
Update March 1st, 2014
Link to SEC filings
Charlie Munger's Letters to Wesco Shareholders
Corporate Governance
Annual Meeting Information
Links to Berkshire Subsidiary Companies
Comparative Rights and Relative prices of Class A and B Stock
Updated January, 20th 2010
Owner's manual
Updated March 1st, 2014
Order Berkshire activewear On-line
Letters From Warren E. Buffet Regarding Pleges to make Gifts of Berkshire Stock
Updated August 30th, 2012


This will create and save {{dbObject}}. Do you want to proceed?
Are you sure you want to finalize the changes on {{dbObject}}? You may not be able to undo this operation!
Are you sure you want to delete {{dbObject}}? You may not be able to undo this operation!


A N Y G A T E
Start
Your browser does not support HTML5....
×
Settings
Loop
Loop
5s
10s
30s
60s
2mins
3mins


An administrator at {{l.websiteName}} has sent you a link which enables you to create a community account.
Unlike normal {{l.websiteName}} accounts, community accounts can begin projects.
The link will expire in {{s.config.accountCreationLinkDurationDays}} days.


Use Cases
Contribution Guidelines Edit | Report
Ensure free access to high quality and well organized open teaching and content resources
Content can be found in abundance on the internet in today’s digital world but it’s still largely a case of “water everywhere but not a drop to drink”. The abundance creates a clutter and therefore a frustrating discovery experience consumer.
Content by itself does not benefit learners and instructors. Useful content should be relevant to a user’s’ current learning requirement and should be of high quality. Intellectual property and plagiarism are other issues plaguing free content on the internet where a user does not easily come to know if a piece of content being used is pirated.
Content created or uploaded on a Sunbird instance is published under a Creative Commons License and therefore is truly free to consume. In addition, each organization on Sunbird can define their own curation and review workflows to ensure that published content is of high quality. In addition, a rich set of metadata tags allow for easy discovery of content via categories, search and filters. The metadata also allows intelligent and relevant recommendations.
The term “content” used in the context of Sunbird is wide and includes frameworks, teaching / learning / reference content and professional development content.
Leverage custom or shared curriculum and proficiency frameworks to guide content discovery, learning journeys and assess progress
Courses are already being delivered online today via MOOCs. Users can consume these courses and attain proficiency within that course. However, users still find it difficult to craft and follow goal-oriented learning journeys basis overall career and educational goals. This can happen only when curriculum and proficiency frameworks exist to enable such an orientation.
A Competency or Proficiency Framework is a well-defined set of competencies and skills for learners at different levels of proficiency in a subject or area. For example― knowledge of effective teaching and learning methods, planning and delivery of instruction, content and pedagogical knowledge, classroom management techniques etc. are indicators of teacher proficiency.
Curricular Frameworks are an articulation of the learning objectives of a course or subject in terms of concepts or skills that are expected to be attained at the end of a course. This provides a sequenced structure of all the learning activities expected to be completed as part of a subject or course. For example, the 10th grade CBSE curriculum describes the subjects and concepts that will be learnt.
Every Sunbird instance can host multiple curriculum and proficiency frameworks. Vocabulary from curriculum frameworks are be used for ‘tagging’ or ‘indexing’ to organise content on the platform for easy discovery. The frameworks allow users to create and follow learning paths for themselves to achieve the end state as defined by the curriculum. Proficiency frameworks can be used in evaluating assessments in order to generate a proficiency score or level which can be used to further refine a learning journey.
Organizations can choose to use existing frameworks or create their own versions to suit their respective implementation purposes.
Enable delivery of online and blended courses and trainings
Online and blended courses hosted on digital platforms allow for multiple benefits for instructors and learners. For instructors, online training allow for distribution of expert teaching talent and resources. It also allows for automation of routine course activities while allowing instructors to focus on problem areas and students with challenges.
Sunbird provides features that allow for hosting of open and closed courses. Courses can be setup with one or more batches that can be hosted on different dates/times. In addition, learners can engage with other learners via discussions and also engage with instructors and mentors to clarify doubts. Course modules can be created and delivered in multiple languages including offline storage capability.
Enable cross-organizational learning journeys and workflows
Lifelong learning by definition assumes that learning does not stop once students step out of an educational institution or course. Another emerging reality is that a single institution cannot provide all round education to a student. Gaining proficiency in an area requires students to combine theory learnt in classrooms with lab experience and real world work experience. In typical MOOCs, such cross-organizational learning journeys are not possible due to the monolithic architecture of such solutions.
The Sunbird architecture provides the ability for organizations to craft such cross organizational journeys within a single curriculum or course. This recognizes the fact that expertise is distributed beyond the walls of a single institution.
Assess progress and recalibrate learning journey basis performance and competency
An extremely important part of the learning experience are assessments. These give the learner feedback on progress, strengths and weaknesses. Sunbird has capabilities for creating and using assessment tools. Administrative personnel can use these tools to enable timely interventions as well as course corrections. Teachers can also use the same tools to self-assess and create their learning journeys. The system can also suggest remedial paths for learners basis overall and question-level performance.
Enable rewards and recognition for learners, instructors and other users
Appreciation is a fundamental human need. Most students and employees respond to appreciation expressed through recognition of their good work because it confirms their work is valued. When work and effort are valued, user satisfaction and productivity rises, and users are motivated to improve their good work and engage more with their learning journeys and activities.
This feature will help organizations to create recognition programs for their users and link these to activities performed such as course completions, assessment proficiency, and other contributions and activities. In addition, every user gets a profile page where the various forms of recognition can be published and shared.
Enable people and organization registry services
A user registry allows organizations to maintain a verifiable repository of users. This typically allows organizations to retrieve verifiable information about users and groups to perform user-related actions and functions, including authentication and authorization.
User registries store user profile information, that can be accessed after authentication. Sunbird allows organizations to store verified information about users and organizations and use this repository as a verified registry to enable other user actions and functions.
Significantly shorten learning lead times by enabling course discussions, peer-to-peer and mentoring interactions
Most MOOCs today are focused on individual self-learning scenarios where a single user enrolls in a course and goes ahead to complete the course without much interaction with other students. Even interactions with instructors is rare. This approach may work fine for technical subjects and areas where significant social interaction may not be required. However, for most areas, just theoretical or technical knowledge is insufficient. This leads to situations where students considered to be proficient in an area may yet to be unemployable. The benefits of discussions and collaboration in learning are well known now and include:
- Development of critical thought
- Increase in student attention and engagement
- Promotion of positive attitudes toward the subject matter
- Development of sophisticated communication and social interaction skills
- Creation of an environment of active, involved, and exploratory learning
Given these benefits, Sunbird offers collaboration and messaging features such as course discussions, configurable communities of practice as well as activity feeds for users generated from communities and courses that users are engaged with.


Discover a range of free learning content designed to help grow your business or jumpstart your career.
Flip your classes through multimedia enriched apprenticeship simulations and develop e-skills for VET tutors.
Access e-Books downloaded to your computer in either ePub or PDF format protected with Adobe Digital Rights Management (DRM).
All courses are 100% online and most run in two-week cohorts.. Courses have fixed start and end dates, but are otherwise self-paced, so you are never required to log in at any particular hour or day. Expect to spend three to five hours per week on your courses to complete the learning activities, participate in online discussions with your fellow learners, and complete course projects.
Explore Courses


Changelog 0.8.9
April 9, 2013
- Controllers must now also be generated to use the default API (they can be empty)
- Haml template support on back-end for new projects (thanks @dcbartlett)
- default values in models (defaultsTo)
- Chained policies fixed
- Removed all reference to blueprints as "scaffolds". Blueprints are more than temporary placeholders-- they are the preferred method of serving an API from your app.
- Refactored most of the code base
- Removed CRUD synonyms
- Main: Compatibility with Node v0.10.0 (patches node-dirty)
- Main: Fixed crash that happened when absolute path was given as appPath
- Assets: Added more logging features for LESS.
- Assets: Reset.css now in mixins
- Assets: LESS assets are deligated to Rack.LessAsset
- Assets: LESS assets served from asset-rack will have their extensions changed to css
- Policies: Implemented the controller syntax for defining a policy.
- Naming: scaffolds is now known as blueprints
- Naming: blueprints is now known as boilerplates
- Routing: Added controller.action syntax
- Routing: Removed CRUD Synonyms-- now you must explicitly use find, findAll, create, destroy, update (can't use
get
, detail
, delete
, edit
, etc. to indicate the same thing. Turns out this was actually annoying, not helpful)
- Routing: Fix in API blueprint for regression around PUT/DELETE automatic RESTful routes
- Routing: Fix for resourceful routing. /model/[id] didn't work with verbs. It now does.
- Config: _ and async no longer have to be global (but they are by default) They are configurable with
sails.config.globals._
and sails.config.globals.async
(thanks @particlebanana!)
- New sails project can now be created in the current dir with
sails new .
(thanks @collinwren!)
- More tests (thanks @collinwren and @benrudolph)
- Travis CI integration (thanks @collinwren!)
Back to Support


I'm Rand Albqour , 28 year-old .
- I've graduated from Albalqa' Applied university (AAU) in 2014 with a bachelor degree in Civil Engineering and worked for three years as a civil engineer.
- i was accedentely introduced to this course so i applied and got accepted! and i can feel it that with every day goes learning in this course ,my passion and excitement for software development gets bigger and bigger .
- i can deffinitely say that becoming an qualified full-stack developer is my top of goals .


Real Estate Investor with demonstrative history of working in the real estate transactions. Passionate about people, business and new technologies.
Toll number
Local number
Website
City
License from
:<PHONE_NUMBER>
:<PHONE_NUMBER>
<EMAIL_ADDRESS>: tbmdevelopment.com
: Chicago, United States
: the state of illinois
Theodus Maynard.

Web applications solve you problems and allows you to it from any location.
Web applications solve you problems and allows you to it from any location.
We supporting clients that use our products and help them to be more productive.
POINS - Business information system
<EMAIL_ADDRESS>866-212-3767,<PHONE_NUMBER>
Chicago, USA


eye and gaze tracking for head-mounted displays, mobile, and automotive
about the team
|
contact and updates
about the team
Kevin Boyle
Founder & CEO
LinkedIn
Google Scholar
Robert Konrad
Founder & CTO
Website
Nitish Padmanaban
Founder & Head of Research
Website
Gordon Wetzstein
Founder & Chief Scientist
Website
Lab
contact and updates
Send us an email at
info [at]
REMOVETHIS
zinnlabs [dot]
REMOVETHIS
com
or sign up for updates from us below!
Loading…


Rubinius 2.0 (actually 2.1.1) is out and with it rails apps can finally be fully multithreaded taking advantage of multicore processors and substantially reducing memory consumption (benchmark of latest ruby implementations).
Im currently porting a Rails 2 app to Rails 4. It is a patients management app with also image management.
Some doctors have up to 4000 patients.
My aim is to publish an alpha version of the revamped app on my local home server to let the users actually try the changes and be able to change the final output. At the same time the alpha deployment stack will be the same as the production deployment stack that is to say:
- Rubinius 2.x
- rvm
- Nginx
- Puma
- Capistrano
Actually my home server hosts my wordpress website served by apache2 on a debian distribution.
So here goes my project’s shopping list:
- Install Rubinius 2.1.1
- Install nginx and make it serve the rails puma app while still serving the apache2 installed sites
- Install puma and let it start as a daemon
- Configure Capistrano to deploy the alpha Rails 4 app to the selected stack
First thing first just get rvm and install it:
As stated on rubinius blog to build rubinius 2 you either need rubinius master or ruby MRI 2. But luckily rvm automatically installs the MRI 2 for you so “all you need is love!” for rvm which needs some money for its version 2!
This will install MRI 2 and rubinius 2.1.1 (at writing time).
So now that we have rubinius installed let’s proceed with our world domination program and see how we can install nginx and configure it as a reverse proxy to serve this wordpress site running on apache 2 (if you can read this it’s working …. phew)!
Just one thing to note, you need to set the client_max_body_size
to use the automatic wordpress updates and installation of themes and plugins from zip files located on your device. Next we need to configure Apache 2 to listen on a different port than 80, I’m using 8080. Change /etc/apache2/ports.conf
, /etc/apache2/apache2.conf
and every virtual host directive to listen and answer to port 8080:
Restarting Apache and reloading nginx will bring online the new web server asset serving rails apps through nginx and php apps through apache2.
Next we need to install puma and configure nginx to serve puma applications. As I’m deploying a rails 4 app installing puma means adding a gem to my Gemfile
and then doing a bundle install
.
Next we configure nginx to serve a puma app listening on a unix socket. We add a site to /etc/nginx/sites-available/
and paste this configuration inside it:
The paths in the configuration are based on my Capistrano deploy.rb
which we’ll see in a minute. It’s a git based capistrano recipe using a web
prefix folder.
Next we need to configure puma and capistrano in our app modifying config/puma.rb
and config/deploy.rb
.
See the puma.rb example file to get you started, here is my puma configuration:
The puma init.d script which will take care of starting and stopping puma daemons for every rails app is:
And now the core of every Rails deployment … the deploy.rb
file in all its glory.

I’m tired of handling resources, shared, current and all the rvm, bundler tricks without knowing exactly what I’m doing so please see my next post for an easy peasy deploy solution in Rails.


Preparation time
less than 30 mins
Cooking time
1 to 2 hours
Serves
Makes 1 large 3-tiered cake
Dietary
An indulgent Black Forest gâteau with three layers of moist chocolate cake, topped with homemade cherry jam, mascarpone cream and Italian meringue.
For this recipe you will need 3 x 18cm/7in springform cake tins, a freestanding mixer and a chef's blow torch.
For the sponge, preheat the oven to 180C/170C Fan/Gas 4. Grease three 18cm/7in springform cake tins with butter. Line the base with baking parchment and dust the sides with flour.
Sift the flour, cocoa powder and bicarbonate of soda into a bowl and stir in the salt.
In a separate large bowl, cream the sugar and butter together until pale and fluffy (this is best done using an electric mixer). Add the egg yolks to the mixture and stir to combine. Mix in the beetroot and vanilla seeds. Add half the flour mixture and mix until combined. Add the hot water and the remaining flour mixture and beat until smooth.
In a separate bowl, beat the egg white until stiff peaks form when the whisk is removed. Fold into the cake batter and divide the mixture between the prepared tins.
Bake for 25-30 minutes (you may need to move the tins around the oven after 15 minutes to ensure they cook evenly). When the cakes are cooked, set them aside to cool in their tins for 10 minutes, before turning them out onto wire racks.
For the cream, mix the mascarpone and icing sugar together until well combined. Add the cream and beat until thick. Keep in the fridge until needed.
For the jam, set aside 200g/7oz of the cherries for decoration. Pit the remaining cherries and place them in a large saucepan. Add the Kirsch and sugar and gently bring to the boil. Cook for 10 minutes, until the cherries are soft. Strain the jam keeping both the juice and fruit.
For the truffles, put the chocolate in a bowl. Heat the cream until almost boiling then pour over the chocolate. Set aside, stirring occasionally, until the chocolate has melted and is combined with the cream. Set aside to cool completely (you may need to use a refrigerator if your kitchen is warm).
When the mixture is set, roll teaspoonfuls into balls using your hands. Work quickly and keep your hands cool to prevent the truffles melting. Place on a tray and refrigerate.
For the Italian meringue frosting, in a freestanding mixer whisk the egg whites and cream of tartar until stiff peaks form when the whisk is removed.
In a saucepan, heat the sugar and 6 tablespoons water over a medium heat. Use a pastry brush to brush any sugar crystals from the side of the pan. When the sugar is dissolved, increase the heat and bring to the boil. Boil for about 10 minutes until the syrup reaches 115C on a sugar thermometer, then slowly pour the syrup into the egg whites in a thin stream, beating all the time on a slow speed (take care to avoid the beaters as it might splash). Continue to beat for about 15 minutes, or until the frosting is cool.
To decorate the cake, put one of the cakes on a serving plate or cake board and brush with the syrup from the jam. Spread half the mascarpone cream over the top and add half of the jammy cherries. Repeat with the next layer of cake and top with the third cake.
Smooth the Italian meringue all over the cake. Use a chef’s blowtorch to brown the meringue. Arrange the reserved cherries on top and around the base. Dust the truffles with cocoa powder and arrange them around the base.
You need JavaScript to view this clip.
How to cream butter by hand
You need JavaScript to view this clip.
How to make Italian meringue
You need JavaScript to view this clip.
Testing to see if a cake is cooked
You need JavaScript to view this clip.
Whisking egg whites


Models, Tools, and Databases for Climate Change Research
Models
- Climate Change and Watersheds Model (BASINS-CAT)
BASINS is a multi-purpose, environmental analysis system that integrates a geographical information system (GIS), national watershed data, and state-of-the-art watershed modeling tools, including the Hydrologic Simulation Program (HSPF) FORTRAN model, into one package. BASINS CAT extends the existing capabilities of BASINS to facilitate watershed-based assessments of the potential implications of climate variability and change on water and watershed systems using the HSPF model.
BASINS CAT provides flexible capabilities for creating climate change scenarios allowing users to quickly assess a wide range of what if questions about how weather and climate could affect their systems. BASINS CAT does not provide climate change data for specific regions and watersheds. Combined with the existing capabilities of HSPF for assessing the effects of land-use change and management practices, BASINS CAT can be used to assess the coupled effects of climate and land-use change, and to guide the development of effective management responses. - Community Multi-scale Air Quality Model (CMAQ)
CMAQ is an air quality model and software suite designed to model multiple pollutants at multiple scales. CMAQ allows regulatory agencies and state governments to evaluate the impact of air quality management decisions, and gives scientists the ability to probe, simulate, and understand chemical and physical interactions in the atmosphere. - EPAUS9R - An Energy Systems Database for use with the Market Allocation (MARKAL) Model
The EPAUS9r is a regional database representation of the United States energy system. The database uses the MARKAL model. MARKAL is an energy system optimization model used by local and federal governments, national and international communities and academia. EPAUS9r represents energy supply, technology, and demand throughout the major sectors of the U.S. energy system. - GLIMPSE
GLIMPSE is a tool to find US policy scenarios that simultaneously improve air quality human health, reduce impacts to ecosystems, and mitigate climate change. It is designed to be fast -- to allow decision-makers to explore a range of options, as well as comprehensive -- to avoid unintended consequences - Water Erosion Prediction Project Climate Assessment Tool (WEPPCAT)
WEPPCAT provides a flexible capability for creating user-determined climate change scenarios for assessing the potential impacts of climate change on sediment loading to streams using the USDA’s Water Erosion Prediction Project (WEPP) Model. In combination with the existing capabilities of WEPP for assessing the effectiveness of management practices, WEPPCAT also can be used to evaluate the effectiveness of strategies for managing the impacts of climate change.
Tools
- Integrated Climate and Land use Scenarios (ICLUS)
Climate change and land-use change are global drivers of environmental change. Impact assessments frequently show that interactions between climate and land-use changes can create serious challenges for aquatic ecosystems, water quality, and air quality. Population projections to 2100 were used to model the distribution of new housing across the landscape. In addition, housing density was used to estimate changes in impervious surface cover. A final report, datasets, the ICLUS+ Web Viewer and ArcGIS tools are available. - Optical Noise-Reduction Averaging (ONA) Program Improves Black Carbon Particle Measurements Using Aethalometers
ONA is a program that reduces noise in real-time black carbon data obtained using Aethalometers. Aethalometers optically measure the concentration of light absorbing or “black” particles that accumulate on a filter as air flows through it. These particles are produced by incomplete fossil fuel, biofuel and biomass combustion. Under polluted conditions, they appear as smoke or haze. - Remote Sensing Information Gateway (RSIG)
RSIG offers a new way for users to get the multi-terabyte, environmental datasets they want via an interactive, Web browser-based application. A file download and parsing process that now takes months will be reduced via RSIG to minutes.
Databases
- EPAUS9R - An Energy Systems Database for use with the Market Allocation (MARKAL) Model
The EPAUS9r is a regional database representation of the United States energy system. The database uses the MARKAL model. MARKAL is an energy system optimization model used by local and federal governments, national and international communities and academia. EPAUS9r represents energy supply, technology, and demand throughout the major sectors of the U.S. energy system. - Greenhouse Gases Mitigation Options Database (GMOD)
GMOD is a decision support database and tool that is designed to evaluate mitigation options to support state and regional level activities and independent research. GMOD’s primary goal is to give the decision maker an option to generate realistic technology choices that are comparable for engineering and economic analyses. GMOD serves as a comprehensive information source on GHG control options for state agencies, and the tool provides decision makers with the capability to develop a host of alternative scenarios by constructing a conceptual-based source with suitable alternative control technologies. - Freshwater Biological Traits Database
The Freshwater Biological Traits Database has data for nearly 4000 North American macroinvertebrate taxa, and includes habitat, life history, mobility, morphology and ecological trait data. The traits data were gathered from multiple sources, which are listed on the web site under, "Data Source". Data gathering efforts focused on data that were published or otherwise well-documented by trustworthy sources, accessible, appropriate for the regions being studied, in a standardized format that could be analyzed or easily converted to a format that could be analyzed, and ecologically relevant to the gradients being considered.


What Next
See the next task in each list, and where the list flows from there.
- Add task dependencies to your Wunderlist tasks
- Set task duration
- Set start dates
- Set end dates
It's like a no-frills, single-user Gantt chart for people that use Wunderlist.
Initially, each list will show all items in a single step, but when task dependencies are added the items will be divided up into steps.
-
Project 1
-
Project 2
-
Project 3
-
Project 4
-
Project 5


Preparation time
30 mins to 1 hour
Cooking time
10 to 30 mins
Serves
Serves 6
Dietary
This recipe is deceptively easy and adapts to most vegetables.
Heat the oil in a large non-stick pan. Add the cumin, onion and chillies and cook until the onions are soft and beginning to colour.
When the onions are cooked, stir in the turmeric, salt, carrots and potatoes. Cover the pan and cook over a low heat, stirring often. If necessary, add a splash of water to prevent the vegetables from burning.
After about 15 minutes, add the cucumber and beans. Cover the pan again and cook for a further 5-10 minutes until all the vegetables are tender.
Meanwhile, place the shallots, ginger and coconut (complete with its soaking liquid) into a blender. Blend to a fine paste before adding to the pan, along with the peas. Cook for a further five minutes, stirring thoroughly. Tear the curry leaves into the pan and stir in the yoghurt.
To serve, take the pan off the heat and pour the coconut oil over the vegetables, if using. Spoon the mixture on to six serving plates and serve with basmati rice.


Brief Bio
Welcome, my name is Abdirahman. I am a software developer from Nairobi Kenya who loves to write software to build great products and help businesses succeed with their goals. I appreciate good design and I am seeing it's importance more then ever in todays apps, web sites and products. .Hobies/Interest


Pizza Planet:
Welcome to Pizza Planet
Select Your Desired Toppings ($2.00 per Topping)
Pepperoni
Sausage
Bacon
Anchoves
Barbeque Chicken
Pineapple
Bell Peppers
Mushrooms
Jalepenos
Spinach
Ricotta
Garlic Aoli
Checkout our wacky toppings you feeble earthling:
Carne Asada
Crocodile
Kangaroo
Reindeer
Caviar
Stawberries and salmon
Bananas and Curry
Marshmellows and Chocolate
Beats
Macaroni and Cheese
Mashed Potatoes
Apples
Select Size
Select size
Earthling(10 slices)
Galactic(16 slices)
Universe(24 slices)
Multidimension(30 slices)
Earthling:
$25.00
Galactic:
$40.00
Universe:
$55.00
Multidimension:
$70.00
Complete Order
Thank you for your order, your total comes to : $
.00


Info
Wallet
Send to
Transaction
Keys
Settings
Wallets
Select one of your wallets
non
--Please choose a wallet--
LOAD
UNLOAD
Wallet info
Wallet name:
non
Balance:
non
Unconfirmed balance:
non
Creat new wallet
Wallet name:
CREATE NEW WALLET
Your address
--Please choose a address--
Address:
non
Hex:
non
Master key id:
non
Seed id:
non
Public key:
non
Address
CREATE NEW ADDRESS


If you think of a psychiatrist NYC area, you may think about someone that treats serious mental disorders. Although psychiatric medical professionals are qualified for these things, they provide a number of services that everyday people can benefit from also. Here are just a few reasons one should consider psychiatric care.
Dealing with Destructive Behavior Patterns – Many people just cannot seem to accomplish things they want to achieve and they may eventually blame themselves.  Every time you try to accomplish something you might fail and this can make life very difficult.
Self blame can sometimes help one to accept responsibility and do better, but this is not always the case. In fact, over time self blame can develop into self hatred and this can lead to many kinds of self destructive behavior. It can cause some people to cut themselves or find other ways to mutilate or inflict injury. When this happens, it often takes help from a trained mental health professional.
Depression – Perhaps the worst of self destructive behaviors is suicide. If you feel like you can longer cope with life, it can make you feel like giving up. Your problem could be caused by several things but unless you see a qualified professional you could be cheating your family and the world out of a better existence, if you kill yourself.
When you see a psychiatrist for depression you have the benefits of a trained psychologist and physician. Psychiatrists have medical degrees and they are qualified to prescribe medications to their patients. If your problems are due to a chemical imbalance, your psychiatric doctor can prescribe the right tests and medications for you.
Better Personal Relationships – Most people have relationship problems and they manage to deal with them. Yet, there are those that repeatedly have relationship difficulties. In fact, you might have specific patterns of behavior that keep repeating themselves in life. An experienced mental health professional can help you sort out these patterns and discover why your relationships do not last.
Dealing with Grief and Deep Emotional Issues – Many people find it very hard to deal with the loss of a loved one. Most people eventually get better but not everyone. If you feel that your loss has left you unable to live a normal existence, it may be a good time to get help.
Repressed Feelings – You might feel that you are unable to change and nothing is right in your world. This could be due to issues in childhood that you have repressed. Many times, one deals with severe emotional trauma by blocking them it but this does not solve the problem, it only creates new ones over time. When one visits an experienced psychiatrist NYC residents can receive counseling, guidance, and medical care. You can talk freely in confidence and begin to work on some of the things that have held you back all your life. Psychiatric therapy can be an invaluable tool for the modern day medical professional to provide life saving assistance to patients.


You can reach me by my contact information on the resume page, or submit your own below!
Enter contact info here:
Enter position title here:
Enter message here:
Permission to Showcase Opportunity (only position title is displayed):


Reports any calls to a simple property getter from within the property's class.
A simple property getter is defined as one which simply returns the value of a field,
and does no other calculation. Such simple getter calls may be safely inlined, at a small performance
improvement. Some coding standards also suggest against the use of simple getters for code clarity
reasons.
Use the first option below to only report on getter calls on this, not on objects of the same type passed in as a parameter. Use
the second option below to only report when the getter is private.
Powered by InspectionGadgets


To increase the number of culturally responsible black engineers who excel academically, succeed professionally, and positively impact the community.
To develop programs that strengthen professional development, encourage mentorship of collegiate and primary students, and create strong relationships with the community.
This is a General Body Meeting for NSBE
Contact Us by leaving your information and a short message and a Potomac River Professional will respond to your message as soon as possible


This subpart implements the Support Anti-terrorism by Fostering Effective Technologies Act of 2002 (SAFETY Act) liability protections to promote development and use of anti-terrorism technologies.
“Act of terrorism” means any act determined to have met the following requirements or such other requirements as defined and specified by the Secretary of Homeland Security:
(1) Is unlawful.
(2) Causes harm, including financial harm, to a person, property, or entity, in the United States, or in the case of a domestic United States air carrier or a United States-flag vessel (or a vessel based principally in the United States on which United States income tax is paid and whose insurance coverage is subject to regulation in the United States), in or outside the United States.
(3) Uses or attempts to use instrumentalities, weapons or other methods designed or intended to cause mass destruction, injury or other loss to citizens or institutions of the United States.
“Block certification” means SAFETY Act certification of a technology class that the Department of Homeland Security (DHS) has determined to be an approved class of approved products for homeland security.
“Block designation” means SAFETY Act designation of a technology class that the DHS has determined to be a Qualified Anti-Terrorism Technology (QATT).
“Pre-qualification designation notice” means a notice in a procurement solicitation or other publication by the Government stating that the technology to be procured either affirmatively or presumptively satisfies the technical criteria necessary to be deemed a qualified anti-terrorism technology. A pre-qualification designation notice authorizes offeror(s) to submit streamlined SAFETY Act applications for SAFETY Act designation and receive expedited processing of those applications.
“Qualified Anti-Terrorism Technology (QATT)” means any technology designed, developed, modified, procured, or sold for the purpose of preventing, detecting, identifying, or deterring acts of terrorism or limiting the harm such acts might otherwise cause, for which a SAFETY Act designation has been issued. For purposes of defining a QATT, technology means any product, equipment, service (including support services), device, or technology (including information technology) or any combination of the foregoing. Design services, consulting services, engineering services, software development services, software integration services, threat assessments, vulnerability studies, and other analyses relevant to homeland security may be deemed a technology.
“SAFETY Act certification” means a determination by DHS pursuant to 6 U.S.C. 442(d), as further delineated in 6 CFR 25.8 and 25.9, that a QATT for which a SAFETY Act designation has been issued is an approved product for homeland security, i.e., it will perform as intended, conforms to the seller’s specifications, and is safe for use as intended.
“SAFETY Act designation” means a determination by DHS pursuant to 6 U.S.C. 441 (b) and 6 U.S.C. 443(a), as further delineated in 6 CFR 25.4, that a particular Anti-Terrorism Technology constitutes a QATT under the SAFETY Act.
The following authorities apply:
(a) Support Anti-terrorism by Fostering Effective Technologies Act of 2002 (SAFETY Act), 6 U.S.C. 441-444.
(b) Executive Order 13286 of February 28, 2003, Amendment of Executive Orders, and Other Actions, in Connection With the Transfer of Certain Functions to the Secretary of Homeland Security.
(c) Executive Order 10789 of November 14, 1958, Contracting Authority of Government Agencies in Connection with National Defense Functions.
(d) 6 CFR Part 25.
(a) As part of the Homeland Security Act of 2002, Pub. L. 107-296, Congress enacted the SAFETY Act to—
(1) Encourage the development and use of anti-terrorism technologies that will enhance the protection of the nation; and
(2) Provide risk management and litigation management protections for sellers of QATTs and others in the supply and distribution chain.
(b) The SAFETY Act’s liability protections are complementary to the Terrorism Risk Insurance Act of 2002.
(c) Questions concerning the SAFETY Act may be directed to DHS Office of SAFETY Act Implementation (OSAI). Additional information about the SAFETY Act may be found at http://www.SAFETYAct.gov. Included on this website are block designations and block certifications granted by DHS.
(a) Agencies should—
(1) Determine whether the technology to be procured is appropriate for SAFETY Act protections and, if appropriate, formally relay this determination to DHS for purposes of supporting contractor application(s) for SAFETY Act protections in relation to criteria (b)(viii) of 6 CFR 25.4, Designation of Qualified Anti-Terrorism Technologies;
(2) Encourage offerors to seek SAFETY Act protections for their offered technologies, even in advance of the issuance of a solicitation; and
(3) Not mandate SAFETY Act protections for acquisitions because applying for SAFETY Act protections for a particular technology is the choice of the offeror.
(b) Agencies shall not solicit offers contingent upon SAFETY Act designation or certification occurring before contract award unless authorized in accordance with 50.205-3.
(c) Agencies shall not solicit offers or award contracts presuming DHS will issue a SAFETY Act designation or certification after contract award unless authorized in accordance with 50.205-4.
(d) The DHS determination to extend SAFETY Act protections for a particular technology is not a determination that the technology meets, or fails to meet, the requirements of a solicitation.
(a) SAFETY Act applicability. Requiring activities should review requirements to identify potential technologies that prevent, detect, identify, or deter acts of terrorism or limit the harm such acts might cause, and may be appropriate for SAFETY Act protections. In questionable cases, the agency shall consult with DHS. For acquisitions involving such technologies, the requiring activity should ascertain through discussions with DHS whether a block designation or block certification exists for the technology being acquired.
(1) If one does exist, the requiring activity should request that the contracting officer notify offerors.
(2) If one does not exist, see 50.205-2, Pre-qualification designation notice.
(b) Early consideration of the SAFETY Act. Acquisition officials shall consider SAFETY Act issues as early in the acquisition cycle as possible (see 7.105(b)(20)(v)). Normally, this would be at the point where the required capabilities or performance characteristics are addressed. This is important because the processing times for issuing determinations on all types of SAFETY Act applications vary depending on many factors, including the influx of applications to DHS and the technical complexity of individual applications.
(c) Industry outreach. When applicable, acquisition officials should include SAFETY Act considerations in all industry outreach efforts including, but not limited to, requests for information, draft requests for proposal, and industry conferences.
(d) Reciprocal waiver of claims. For purposes of 6 CFR 25.5(e), the Government is not a customer from which a contractor must request a reciprocal waiver of claims.
(a) Requiring activity responsibilities.
(1) If the requiring activity determines that the technology to be acquired may qualify for SAFETY Act protection, the requiring activity is responsible for requesting a pre-qualification designation notice from DHS. Such a request for a pre-qualification designation notice should be made once the requiring activity has determined that the technology specifications or statement of work are established and are unlikely to undergo substantive modification. DHS will then determine whether the technology identified in the request either affirmatively or presumptively satisfies the technical criteria for SAFETY Act designation. An affirmative determination means the technology described in the pre-qualification designation notice satisfies the technical criteria for SAFETY Act designation as a QATT. A presumptive determination means that the technology is a good candidate for SAFETY Act designation as a QATT. In either case, the notice will authorize offerors to—
(i) Submit a streamlined application for SAFETY Act designation; and
(ii) Receive expedited review of their application for SAFETY Act designation.
(2) The requiring activity shall make requests using the procurement pre-qualification request form available at http://www.SAFETYAct.gov. The website includes instructions for completing and submitting the form.
(3) The requiring activity shall provide a copy of the request, as well as a copy of the resulting pre-qualification designation notice or DHS denial, to the contracting officer.
(b) Contracting officer responsibilities. Upon receipt of the documentation specified in paragraph (a)(3) of this subsection, the contracting officer shall—
(1) Include in any pre-solicitation notice (Subpart 5.2) that a pre-qualification designation notice has been—
(i) Requested and is under review by DHS;
(ii) Denied by DHS; or
(iii) Issued and a copy will be included with the solicitation; and
(2) Incorporate the pre-qualification designation notice into the solicitation.
(a) Contracting officers may authorize such contingent offers, only if—
(1) DHS has issued—
(i) For offers contingent upon SAFETY Act designation, a pre-qualification designation notice or a block designation; or
(ii) For offers contingent upon SAFETY Act certification, a block certification;
(2) To the contracting officer’s knowledge, the Government has not provided advance notice so that potential offerors could have obtained SAFETY Act designations/ certifications for their offered technologies before release of any solicitation; and
(3) Market research shows that there will be insufficient competition without SAFETY Act protections or the subject technology would be sold to the Government only with SAFETY Act protections.
(b) Contracting officers shall not authorize offers contingent upon obtaining a SAFETY Act certification (as opposed to a SAFETY Act designation), unless a block certification applies to the class of technology to be acquired under the solicitation.
(a) When necessary to award a contract prior to DHS issuing SAFETY Act protections, contracting officers may award contracts presuming that DHS will issue a SAFETY Act designation/certification to the contractor after contract award only if—
(1) The criteria of 50.205-3(a) are met;
(2) The chief of the contracting office (or other official designated in agency procedures) approves the action; and
(3) The contracting officer advises DHS of the timelines for potential award and consults DHS as to when DHS could reasonably complete evaluations of offerors’ applications for SAFETY Act designations or certifications.
(b) Contracting officers shall not authorize offers presuming that SAFETY Act certification will be obtained (as opposed to a SAFETY Act designation), unless a block certification applies to the class of technology to be acquired under the solicitation.
(a) Insert the provision at 52.250-2, SAFETY Act Coverage Not Applicable, in solicitations if—
(1) The agency consulted with DHS on a questionable case of SAFETY Act applicability to an acquisition in accordance with 50.205-1(a), and after the consultation, the agency has determined that SAFETY Act protection is not applicable for the acquisition; or
(2) DHS has denied approval of a pre-qualification designation notice.
(b)(1) Insert the provision at 52.250-3, SAFETY Act Block Designation/Certification, in a solicitation when DHS has issued a block designation/certification for the solicited technologies.
(2) Use the provision at 52.250-3 with its Alternate I when contingent offers are authorized in accordance with 50.205-3.
(3) Use the provision at 52.250-3 with its Alternate II when offers presuming SAFETY Act designation or certification are authorized in accordance with 50.205-4. If this alternate is used, the contracting officer may increase the number of days within which offerors must submit their SAFETY Act designation or certification application.
(c)(1) Insert the provision at 52.250-4, SAFETY Act Pre-qualification Designation Notice, in a solicitation for which DHS has issued a pre-qualification designation notice.
(2) Use the provision at 52.250-4 with its Alternate I when contingent offers are authorized in accordance with 50.205-3.
(3) Use the provision at 52.250-4 with its Alternate II when offers presuming SAFETY Act designation or certification are authorized in accordance with 50.205-4. If this alternate is used, the contracting officer may increase the number of days within which offerors must submit their SAFETY Act designation or certification application.
(d) Insert the clause at 52.250-5, SAFETY Act—Equitable Adjustment—
(1) In the solicitation, if the provision at 52.250-3 or 52.250-4 is used with its Alternate II; and
(2) In any resultant contract, if DHS has not issued SAFETY Act designation or certification to the successful offeror before contract award.