|
SimpleITK
2.0.0
|
Threshold an image using multiple Otsu Thresholds. More...
#include <sitkOtsuMultipleThresholdsImageFilter.h>
Public Types | |
| using | PixelIDTypeList = BasicPixelIDTypeList |
| using | Self = OtsuMultipleThresholdsImageFilter |
| Public Types inherited from itk::simple::ImageFilter | |
| using | Self = ImageFilter |
| Public Types inherited from itk::simple::ProcessObject | |
| using | Self = ProcessObject |
Public Member Functions | |
| Image | Execute (const Image &image1) |
| uint8_t | GetLabelOffset () const |
| std::string | GetName () const |
| uint32_t | GetNumberOfHistogramBins () const |
| uint8_t | GetNumberOfThresholds () const |
| bool | GetReturnBinMidpoint () const |
| std::vector< double > | GetThresholds () const |
| bool | GetValleyEmphasis () const |
| OtsuMultipleThresholdsImageFilter () | |
| Self & | ReturnBinMidpointOff () |
| Self & | ReturnBinMidpointOn () |
| Self & | SetLabelOffset (uint8_t LabelOffset) |
| Self & | SetNumberOfHistogramBins (uint32_t NumberOfHistogramBins) |
| Self & | SetNumberOfThresholds (uint8_t NumberOfThresholds) |
| Self & | SetReturnBinMidpoint (bool ReturnBinMidpoint) |
| Self & | SetValleyEmphasis (bool ValleyEmphasis) |
| std::string | ToString () const |
| Self & | ValleyEmphasisOff () |
| Self & | ValleyEmphasisOn () |
| virtual | ~OtsuMultipleThresholdsImageFilter () |
| Public Member Functions inherited from itk::simple::ImageFilter | |
| ImageFilter () | |
| virtual | ~ImageFilter ()=0 |
| Public Member Functions inherited from itk::simple::ProcessObject | |
| virtual void | Abort () |
| virtual int | AddCommand (itk::simple::EventEnum event, const std::function< void()> &func) |
| Directly add a callback to observe an event. More... | |
| virtual int | AddCommand (itk::simple::EventEnum event, itk::simple::Command &cmd) |
| Add a Command Object to observer the event. More... | |
| virtual float | GetProgress () const |
| An Active Measurement of the progress of execution. More... | |
| virtual bool | HasCommand (itk::simple::EventEnum event) const |
| Query of this object has any registered commands for event. More... | |
| ProcessObject () | |
| virtual void | RemoveAllCommands () |
| Remove all registered commands. More... | |
| virtual | ~ProcessObject () |
| virtual void | DebugOn () |
| virtual void | DebugOff () |
| virtual bool | GetDebug () const |
| virtual void | SetDebug (bool debugFlag) |
| virtual void | SetNumberOfThreads (unsigned int n) |
| virtual unsigned int | GetNumberOfThreads () const |
| virtual void | SetNumberOfWorkUnits (unsigned int n) |
| virtual unsigned int | GetNumberOfWorkUnits () const |
Private Types | |
| using | MemberFunctionType = Image(Self::*)(const Image &image1) |
Private Member Functions | |
| template<class TImageType > | |
| Image | ExecuteInternal (const Image &image1) |
Private Attributes | |
| uint8_t | m_LabelOffset {0u} |
| std::unique_ptr< detail::MemberFunctionFactory< MemberFunctionType > > | m_MemberFactory |
| uint32_t | m_NumberOfHistogramBins {128u} |
| uint8_t | m_NumberOfThresholds {1u} |
| bool | m_ReturnBinMidpoint {false} |
| std::vector< double > | m_Thresholds {std::vector<double>()} |
| bool | m_ValleyEmphasis {false} |
Friends | |
| struct | detail::MemberFunctionAddressor< MemberFunctionType > |
Additional Inherited Members | |
| Static Public Member Functions inherited from itk::simple::ProcessObject | |
| static bool | GetGlobalDefaultDebug () |
| static void | GlobalDefaultDebugOff () |
| static void | GlobalDefaultDebugOn () |
| static void | SetGlobalDefaultDebug (bool debugFlag) |
| static void | GlobalWarningDisplayOn () |
| static void | GlobalWarningDisplayOff () |
| static void | SetGlobalWarningDisplay (bool flag) |
| static bool | GetGlobalWarningDisplay () |
| static double | GetGlobalDefaultCoordinateTolerance () |
| Access the global tolerance to determine congruent spaces. More... | |
| static void | SetGlobalDefaultCoordinateTolerance (double) |
| Access the global tolerance to determine congruent spaces. More... | |
| static double | GetGlobalDefaultDirectionTolerance () |
| Access the global tolerance to determine congruent spaces. More... | |
| static void | SetGlobalDefaultDirectionTolerance (double) |
| Access the global tolerance to determine congruent spaces. More... | |
| static bool | SetGlobalDefaultThreader (const std::string &threader) |
| Set/Get the default threader used for process objects. More... | |
| static std::string | GetGlobalDefaultThreader () |
| Set/Get the default threader used for process objects. More... | |
| static void | SetGlobalDefaultNumberOfThreads (unsigned int n) |
| static unsigned int | GetGlobalDefaultNumberOfThreads () |
| Set/Get the default threader used for process objects. More... | |
| Protected Member Functions inherited from itk::simple::ImageFilter | |
| void | CheckImageMatchingDimension (const Image &image1, const Image &image2, const std::string &image2Name) |
| void | CheckImageMatchingPixelType (const Image &image1, const Image &image2, const std::string &image2Name) |
| void | CheckImageMatchingSize (const Image &image1, const Image &image2, const std::string &image2Name) |
| Protected Member Functions inherited from itk::simple::ProcessObject | |
| virtual unsigned long | AddITKObserver (const itk::EventObject &, itk::Command *) |
| virtual itk::ProcessObject * | GetActiveProcess () |
| virtual void | OnActiveProcessDelete () |
| virtual void | onCommandDelete (const itk::simple::Command *cmd) noexcept |
| virtual void | PreUpdate (itk::ProcessObject *p) |
| virtual void | RemoveITKObserver (EventCommand &e) |
| Protected Member Functions inherited from itk::simple::NonCopyable | |
| NonCopyable ()=default | |
| NonCopyable (const NonCopyable &)=delete | |
| NonCopyable & | operator= (const NonCopyable &)=delete |
| Static Protected Member Functions inherited from itk::simple::ImageFilter | |
| template<class TImageType > | |
| static void | FixNonZeroIndex (TImageType *img) |
| Static Protected Member Functions inherited from itk::simple::ProcessObject | |
| template<class TImageType > | |
| static TImageType::ConstPointer | CastImageToITK (const Image &img) |
| template<class TPixelType , unsigned int VImageDimension, unsigned int VLength, template< typename, unsigned int > class TVector> | |
| static Image | CastITKToImage (itk::Image< TVector< TPixelType, VLength >, VImageDimension > *img) |
| template<class TImageType > | |
| static Image | CastITKToImage (TImageType *img) |
| static const itk::EventObject & | GetITKEventObject (EventEnum e) |
| template<typename T > | |
| static std::ostream & | ToStringHelper (std::ostream &os, const T &v) |
| static std::ostream & | ToStringHelper (std::ostream &os, const char &v) |
| static std::ostream & | ToStringHelper (std::ostream &os, const signed char &v) |
| static std::ostream & | ToStringHelper (std::ostream &os, const unsigned char &v) |
Threshold an image using multiple Otsu Thresholds.
This filter creates a labeled image that separates the input image into various classes. The filter computes the thresholds using the OtsuMultipleThresholdsCalculator and applies those thresholds to the input image using the ThresholdLabelerImageFilter . The NumberOfHistogramBins and NumberOfThresholds can be set for the Calculator. The LabelOffset can be set for the ThresholdLabelerImageFilter .
This filter also includes an option to use the valley emphasis algorithm from H.F. Ng, "Automatic thresholding for defect detection", Pattern Recognition Letters, (27): 1644-1649, 2006. The valley emphasis algorithm is particularly effective when the object to be thresholded is small. See the following tests for examples: itkOtsuMultipleThresholdsImageFilterTest3 and itkOtsuMultipleThresholdsImageFilterTest4 To use this algorithm, simple call the setter: SetValleyEmphasis(true) It is turned off by default.
Definition at line 52 of file sitkOtsuMultipleThresholdsImageFilter.h.
|
private |
Setup for member function dispatching
Definition at line 146 of file sitkOtsuMultipleThresholdsImageFilter.h.
Define the pixels types supported by this filter
Definition at line 64 of file sitkOtsuMultipleThresholdsImageFilter.h.
Definition at line 54 of file sitkOtsuMultipleThresholdsImageFilter.h.
|
virtual |
Destructor
| itk::simple::OtsuMultipleThresholdsImageFilter::OtsuMultipleThresholdsImageFilter | ( | ) |
Default Constructor that takes no arguments and initializes default parameters
Execute the filter on the input image
|
private |
|
inline |
Set/Get the offset which labels have to start from. Default is 0.
Definition at line 85 of file sitkOtsuMultipleThresholdsImageFilter.h.
|
inlinevirtual |
Name of this class
Implements itk::simple::ProcessObject.
Definition at line 132 of file sitkOtsuMultipleThresholdsImageFilter.h.
|
inline |
Set/Get the number of histogram bins. Default is 128.
Definition at line 95 of file sitkOtsuMultipleThresholdsImageFilter.h.
|
inline |
Set/Get the number of thresholds. Default is 1.
Definition at line 75 of file sitkOtsuMultipleThresholdsImageFilter.h.
|
inline |
Definition at line 121 of file sitkOtsuMultipleThresholdsImageFilter.h.
|
inline |
Get the computed threshold.
This is a measurement. Its value is updated in the Execute methods, so the value will only be valid after an execution.
Definition at line 128 of file sitkOtsuMultipleThresholdsImageFilter.h.
|
inline |
Set/Get the use of valley emphasis. Default is false.
Definition at line 109 of file sitkOtsuMultipleThresholdsImageFilter.h.
|
inline |
Definition at line 117 of file sitkOtsuMultipleThresholdsImageFilter.h.
|
inline |
Set the value of ReturnBinMidpoint to true or false respectfully.
Definition at line 116 of file sitkOtsuMultipleThresholdsImageFilter.h.
Set/Get the offset which labels have to start from. Default is 0.
Definition at line 80 of file sitkOtsuMultipleThresholdsImageFilter.h.
|
inline |
Set/Get the number of histogram bins. Default is 128.
Definition at line 90 of file sitkOtsuMultipleThresholdsImageFilter.h.
|
inline |
Set/Get the number of thresholds. Default is 1.
Definition at line 70 of file sitkOtsuMultipleThresholdsImageFilter.h.
|
inline |
Definition at line 113 of file sitkOtsuMultipleThresholdsImageFilter.h.
|
inline |
Set/Get the use of valley emphasis. Default is false.
Definition at line 100 of file sitkOtsuMultipleThresholdsImageFilter.h.
|
virtual |
Print ourselves out
Reimplemented from itk::simple::ProcessObject.
|
inline |
Definition at line 104 of file sitkOtsuMultipleThresholdsImageFilter.h.
|
inline |
Set the value of ValleyEmphasis to true or false respectfully.
Definition at line 103 of file sitkOtsuMultipleThresholdsImageFilter.h.
|
friend |
Definition at line 150 of file sitkOtsuMultipleThresholdsImageFilter.h.
|
private |
Definition at line 157 of file sitkOtsuMultipleThresholdsImageFilter.h.
|
private |
Definition at line 152 of file sitkOtsuMultipleThresholdsImageFilter.h.
|
private |
Definition at line 159 of file sitkOtsuMultipleThresholdsImageFilter.h.
|
private |
Definition at line 155 of file sitkOtsuMultipleThresholdsImageFilter.h.
|
private |
Definition at line 164 of file sitkOtsuMultipleThresholdsImageFilter.h.
|
private |
Definition at line 167 of file sitkOtsuMultipleThresholdsImageFilter.h.
|
private |
Definition at line 162 of file sitkOtsuMultipleThresholdsImageFilter.h.


@article{zibrek2019photorealism, title = {Is Photorealism Important for Perception of Expressive Virtual Humans in Virtual Reality?}, author = {Zibrek, Katja and Martin, Sean and McDonnell, Rachel}, journal = {ACM Transactions on Applied Perception (TAP)}, volume = {16}, number = {3}, pages = {1--19}, year = {2019}, publisher = {ACM New York, NY, USA} }
@inproceedings{martin2019using, title = {Using a Depth Heuristic for Light Field Volume Rendering}, author = {Martin, Se{\'a}n and Bruton, Se{\'a}n and Ganter, David and Manzke, Michael}, booktitle = {14th International Conference on Computer Graphics Theory and Applications}, pages = {134--144}, year = {2019} }
@article{islam2019neurochat, title = {NeuroChaT: A toolbox to analyse the dynamics of neuronal encoding in freely-behaving rodents in vivo}, author = {Islam, Md Nurul and Martin, Se{\'a}n K and Aggleton, John P and O’Mara, Shane M}, journal = {Wellcome Open Research}, volume = {4}, number = {196}, pages = {196}, year = {2019}, publisher = {F1000 Research Limited} }
This file was generated by bibtex2html 1.95.


YYDiskCache Class Reference
| Inherits from | NSObject |
|---|---|
| Declared in | YYDiskCache.h YYDiskCache.m |
Overview
YYDiskCache is a thread-safe cache that stores key-value pairs backed by SQLite and file system (similar to NSURLCache’s disk cache).
YYDiskCache has these features:
- It use LRU (least-recently-used) to remove objects.
- It can be controlled by cost, count, and age.
- It can be configured to automatically evict objects when there’s no free disk space.
- It can automatically decide the storage type (sqlite/file) for each object to get better performance.
You may compile the latest version of sqlite and ignore the libsqlite3.dylib in iOS system to get 2x~4x speed up.
Attribute
name
The name of the cache. Default is nil.
@property (nullable, copy) NSString *name
Discussion
The name of the cache. Default is nil.
Declared In
YYDiskCache.h
path
The path of the cache (read-only).
@property (readonly) NSString *path
Discussion
The path of the cache (read-only).
Declared In
YYDiskCache.h
inlineThreshold
If the object’s data size (in bytes) is larger than this value, then object will be stored as a file, otherwise the object will be stored in sqlite.
@property (readonly) NSUInteger inlineThreshold
Discussion
If the object’s data size (in bytes) is larger than this value, then object will be stored as a file, otherwise the object will be stored in sqlite.
0 means all objects will be stored as separated files, NSUIntegerMax means all objects will be stored in sqlite.
The default value is 20480 (20KB).
Declared In
YYDiskCache.h
customArchiveBlock
If this block is not nil, then the block will be used to archive object instead
of NSKeyedArchiver. You can use this block to support the objects which do not
conform to the NSCoding
protocol.
@property (nullable, copy) NSData *^ ) ( id object ) customArchiveBlock
Discussion
If this block is not nil, then the block will be used to archive object instead
of NSKeyedArchiver. You can use this block to support the objects which do not
conform to the NSCoding
protocol.
The default value is nil.
Declared In
YYDiskCache.h
customUnarchiveBlock
If this block is not nil, then the block will be used to unarchive object instead
of NSKeyedUnarchiver. You can use this block to support the objects which do not
conform to the NSCoding
protocol.
@property (nullable, copy) id ( ^ ) ( NSData *data ) customUnarchiveBlock
Discussion
If this block is not nil, then the block will be used to unarchive object instead
of NSKeyedUnarchiver. You can use this block to support the objects which do not
conform to the NSCoding
protocol.
The default value is nil.
Declared In
YYDiskCache.h
customFileNameBlock
When an object needs to be saved as a file, this block will be invoked to generate a file name for a specified key. If the block is nil, the cache use md5(key) as default file name.
@property (nullable, copy) NSString *^ ) ( NSString *key ) customFileNameBlock
Discussion
When an object needs to be saved as a file, this block will be invoked to generate a file name for a specified key. If the block is nil, the cache use md5(key) as default file name.
The default value is nil.
Declared In
YYDiskCache.h
Limit
countLimit
The maximum number of objects the cache should hold.
@property NSUInteger countLimit
Discussion
The maximum number of objects the cache should hold.
The default value is NSUIntegerMax, which means no limit. This is not a strict limit — if the cache goes over the limit, some objects in the cache could be evicted later in background queue.
Declared In
YYDiskCache.h
costLimit
The maximum total cost that the cache can hold before it starts evicting objects.
@property NSUInteger costLimit
Discussion
The maximum total cost that the cache can hold before it starts evicting objects.
The default value is NSUIntegerMax, which means no limit. This is not a strict limit — if the cache goes over the limit, some objects in the cache could be evicted later in background queue.
Declared In
YYDiskCache.h
ageLimit
The maximum expiry time of objects in cache.
@property NSTimeInterval ageLimit
Discussion
The maximum expiry time of objects in cache.
The default value is DBL_MAX, which means no limit. This is not a strict limit — if an object goes over the limit, the objects could be evicted later in background queue.
Declared In
YYDiskCache.h
freeDiskSpaceLimit
The minimum free disk space (in bytes) which the cache should kept.
@property NSUInteger freeDiskSpaceLimit
Discussion
The minimum free disk space (in bytes) which the cache should kept.
The default value is 0, which means no limit. If the free disk space is lower than this value, the cache will remove objects to free some disk space. This is not a strict limit—if the free disk space goes over the limit, the objects could be evicted later in background queue.
Declared In
YYDiskCache.h
autoTrimInterval
The auto trim check time interval in seconds. Default is 60 (1 minute).
@property NSTimeInterval autoTrimInterval
Discussion
The auto trim check time interval in seconds. Default is 60 (1 minute).
The cache holds an internal timer to check whether the cache reaches its limits, and if the limit is reached, it begins to evict objects.
Declared In
YYDiskCache.h
errorLogsEnabled
Set YES
to enable error logs for debug.
@property BOOL errorLogsEnabled
Discussion
Set YES
to enable error logs for debug.
Declared In
YYDiskCache.h
Initializer
– initWithPath:
Create a new cache based on the specified path.
- (nullable instancetype)initWithPath:(NSString *)path
Parameters
path |
Full path of a directory in which the cache will write data. Once initialized you should not read and write to this directory. |
|---|
Return Value
A new cache object, or nil if an error occurs.
Discussion
Create a new cache based on the specified path.
Warning: If the cache instance for the specified path already exists in memory, this method will return it directly, instead of creating a new instance.
Declared In
YYDiskCache.h
– initWithPath:inlineThreshold:
The designated initializer.
- (nullable instancetype)initWithPath:(NSString *)path inlineThreshold:(NSUInteger)threshold
Parameters
path |
Full path of a directory in which the cache will write data. Once initialized you should not read and write to this directory. |
|---|---|
threshold |
The data store inline threshold in bytes. If the object’s data size (in bytes) is larger than this value, then object will be stored as a file, otherwise the object will be stored in sqlite. 0 means all objects will be stored as separated files, NSUIntegerMax means all objects will be stored in sqlite. If you don’t know your object’s size, 20480 is a good choice. After first initialized you should not change this value of the specified path. |
Return Value
A new cache object, or nil if an error occurs.
Discussion
The designated initializer.
Warning: If the cache instance for the specified path already exists in memory, this method will return it directly, instead of creating a new instance.
Declared In
YYDiskCache.h
Access Methods
– containsObjectForKey:
Returns a boolean value that indicates whether a given key is in cache. This method may blocks the calling thread until file read finished.
- (BOOL)containsObjectForKey:(NSString *)key
Parameters
key |
A string identifying the value. If nil, just return NO. |
|---|
Return Value
Whether the key is in cache.
Discussion
Returns a boolean value that indicates whether a given key is in cache. This method may blocks the calling thread until file read finished.
Declared In
YYDiskCache.h
– containsObjectForKey:withBlock:
Returns a boolean value with the block that indicates whether a given key is in cache. This method returns immediately and invoke the passed block in background queue when the operation finished.
- (void)containsObjectForKey:(NSString *)key withBlock:(void ( ^ ) ( NSString *key , BOOL contains ))block
Parameters
key |
A string identifying the value. If nil, just return NO. |
|---|---|
block |
A block which will be invoked in background queue when finished. |
Discussion
Returns a boolean value with the block that indicates whether a given key is in cache. This method returns immediately and invoke the passed block in background queue when the operation finished.
Declared In
YYDiskCache.h
– objectForKey:
Returns the value associated with a given key. This method may blocks the calling thread until file read finished.
- (nullable id<NSCoding>)objectForKey:(NSString *)key
Parameters
key |
A string identifying the value. If nil, just return nil. |
|---|
Return Value
The value associated with key, or nil if no value is associated with key.
Discussion
Returns the value associated with a given key. This method may blocks the calling thread until file read finished.
Declared In
YYDiskCache.h
– objectForKey:withBlock:
Returns the value associated with a given key. This method returns immediately and invoke the passed block in background queue when the operation finished.
- (void)objectForKey:(NSString *)key withBlock:(void ( ^ ) ( NSString *key , id<NSCoding> _Nullable object ))block
Parameters
key |
A string identifying the value. If nil, just return nil. |
|---|---|
block |
A block which will be invoked in background queue when finished. |
Discussion
Returns the value associated with a given key. This method returns immediately and invoke the passed block in background queue when the operation finished.
Declared In
YYDiskCache.h
– setObject:forKey:
Sets the value of the specified key in the cache. This method may blocks the calling thread until file write finished.
- (void)setObject:(nullable id<NSCoding>)object forKey:(NSString *)key
Parameters
object |
The object to be stored in the cache. If nil, it calls |
|---|---|
key |
The key with which to associate the value. If nil, this method has no effect. |
Discussion
Sets the value of the specified key in the cache. This method may blocks the calling thread until file write finished.
Declared In
YYDiskCache.h
– setObject:forKey:withBlock:
Sets the value of the specified key in the cache. This method returns immediately and invoke the passed block in background queue when the operation finished.
- (void)setObject:(nullable id<NSCoding>)object forKey:(NSString *)key withBlock:(void ( ^ ) ( void ))block
Parameters
object |
The object to be stored in the cache. If nil, it calls |
|---|---|
block |
A block which will be invoked in background queue when finished. |
Discussion
Sets the value of the specified key in the cache. This method returns immediately and invoke the passed block in background queue when the operation finished.
Declared In
YYDiskCache.h
– removeObjectForKey:
Removes the value of the specified key in the cache. This method may blocks the calling thread until file delete finished.
- (void)removeObjectForKey:(NSString *)key
Parameters
key |
The key identifying the value to be removed. If nil, this method has no effect. |
|---|
Discussion
Removes the value of the specified key in the cache. This method may blocks the calling thread until file delete finished.
Declared In
YYDiskCache.h
– removeObjectForKey:withBlock:
Removes the value of the specified key in the cache. This method returns immediately and invoke the passed block in background queue when the operation finished.
- (void)removeObjectForKey:(NSString *)key withBlock:(void ( ^ ) ( NSString *key ))block
Parameters
key |
The key identifying the value to be removed. If nil, this method has no effect. |
|---|---|
block |
A block which will be invoked in background queue when finished. |
Discussion
Removes the value of the specified key in the cache. This method returns immediately and invoke the passed block in background queue when the operation finished.
Declared In
YYDiskCache.h
– removeAllObjects
Empties the cache. This method may blocks the calling thread until file delete finished.
- (void)removeAllObjects
Discussion
Empties the cache. This method may blocks the calling thread until file delete finished.
Declared In
YYDiskCache.h
– removeAllObjectsWithBlock:
Empties the cache. This method returns immediately and invoke the passed block in background queue when the operation finished.
- (void)removeAllObjectsWithBlock:(void ( ^ ) ( void ))block
Parameters
block |
A block which will be invoked in background queue when finished. |
|---|
Discussion
Empties the cache. This method returns immediately and invoke the passed block in background queue when the operation finished.
Declared In
YYDiskCache.h
– removeAllObjectsWithProgressBlock:endBlock:
Empties the cache with block. This method returns immediately and executes the clear operation with block in background.
- (void)removeAllObjectsWithProgressBlock:(nullable void ( ^ ) ( int removedCount , int totalCount ))progress endBlock:(nullable void ( ^ ) ( BOOL error ))end
Parameters
progress |
This block will be invoked during removing, pass nil to ignore. |
|---|---|
end |
This block will be invoked at the end, pass nil to ignore. |
Discussion
Empties the cache with block. This method returns immediately and executes the clear operation with block in background.
Warning: You should not send message to this instance in these blocks.
Declared In
YYDiskCache.h
– totalCount
Returns the number of objects in this cache. This method may blocks the calling thread until file read finished.
- (NSInteger)totalCount
Return Value
The total objects count.
Discussion
Returns the number of objects in this cache. This method may blocks the calling thread until file read finished.
Declared In
YYDiskCache.h
– totalCountWithBlock:
Get the number of objects in this cache. This method returns immediately and invoke the passed block in background queue when the operation finished.
- (void)totalCountWithBlock:(void ( ^ ) ( NSInteger totalCount ))block
Parameters
block |
A block which will be invoked in background queue when finished. |
|---|
Discussion
Get the number of objects in this cache. This method returns immediately and invoke the passed block in background queue when the operation finished.
Declared In
YYDiskCache.h
– totalCost
Returns the total cost (in bytes) of objects in this cache. This method may blocks the calling thread until file read finished.
- (NSInteger)totalCost
Return Value
The total objects cost in bytes.
Discussion
Returns the total cost (in bytes) of objects in this cache. This method may blocks the calling thread until file read finished.
Declared In
YYDiskCache.h
– totalCostWithBlock:
Get the total cost (in bytes) of objects in this cache. This method returns immediately and invoke the passed block in background queue when the operation finished.
- (void)totalCostWithBlock:(void ( ^ ) ( NSInteger totalCost ))block
Parameters
block |
A block which will be invoked in background queue when finished. |
|---|
Discussion
Get the total cost (in bytes) of objects in this cache. This method returns immediately and invoke the passed block in background queue when the operation finished.
Declared In
YYDiskCache.h
Trim
– trimToCount:
Removes objects from the cache use LRU, until the totalCount
is below the specified value.
This method may blocks the calling thread until operation finished.
- (void)trimToCount:(NSUInteger)count
Parameters
count |
The total count allowed to remain after the cache has been trimmed. |
|---|
Discussion
Removes objects from the cache use LRU, until the totalCount
is below the specified value.
This method may blocks the calling thread until operation finished.
Declared In
YYDiskCache.h
– trimToCount:withBlock:
Removes objects from the cache use LRU, until the totalCount
is below the specified value.
This method returns immediately and invoke the passed block in background queue
when the operation finished.
- (void)trimToCount:(NSUInteger)count withBlock:(void ( ^ ) ( void ))block
Parameters
count |
The total count allowed to remain after the cache has been trimmed. |
|---|---|
block |
A block which will be invoked in background queue when finished. |
Discussion
Removes objects from the cache use LRU, until the totalCount
is below the specified value.
This method returns immediately and invoke the passed block in background queue
when the operation finished.
Declared In
YYDiskCache.h
– trimToCost:
Removes objects from the cache use LRU, until the totalCost
is below the specified value.
This method may blocks the calling thread until operation finished.
- (void)trimToCost:(NSUInteger)cost
Parameters
cost |
The total cost allowed to remain after the cache has been trimmed. |
|---|
Discussion
Removes objects from the cache use LRU, until the totalCost
is below the specified value.
This method may blocks the calling thread until operation finished.
Declared In
YYDiskCache.h
– trimToCost:withBlock:
Removes objects from the cache use LRU, until the totalCost
is below the specified value.
This method returns immediately and invoke the passed block in background queue
when the operation finished.
- (void)trimToCost:(NSUInteger)cost withBlock:(void ( ^ ) ( void ))block
Parameters
cost |
The total cost allowed to remain after the cache has been trimmed. |
|---|---|
block |
A block which will be invoked in background queue when finished. |
Discussion
Removes objects from the cache use LRU, until the totalCost
is below the specified value.
This method returns immediately and invoke the passed block in background queue
when the operation finished.
Declared In
YYDiskCache.h
– trimToAge:
Removes objects from the cache use LRU, until all expiry objects removed by the specified value. This method may blocks the calling thread until operation finished.
- (void)trimToAge:(NSTimeInterval)age
Parameters
age |
The maximum age of the object. |
|---|
Discussion
Removes objects from the cache use LRU, until all expiry objects removed by the specified value. This method may blocks the calling thread until operation finished.
Declared In
YYDiskCache.h
– trimToAge:withBlock:
Removes objects from the cache use LRU, until all expiry objects removed by the specified value. This method returns immediately and invoke the passed block in background queue when the operation finished.
- (void)trimToAge:(NSTimeInterval)age withBlock:(void ( ^ ) ( void ))block
Parameters
age |
The maximum age of the object. |
|---|---|
block |
A block which will be invoked in background queue when finished. |
Discussion
Removes objects from the cache use LRU, until all expiry objects removed by the specified value. This method returns immediately and invoke the passed block in background queue when the operation finished.
Declared In
YYDiskCache.h
Extended Data
+ getExtendedDataFromObject:
Get extended data from an object.
+ (nullable NSData *)getExtendedDataFromObject:(id)object
Parameters
object |
An object. |
|---|
Return Value
The extended data.
Discussion
Get extended data from an object.
See ‘setExtendedData:toObject:’ for more information.
Declared In
YYDiskCache.h
+ setExtendedData:toObject:
Set extended data to an object.
+ (void)setExtendedData:(nullable NSData *)extendedData toObject:(id)object
Parameters
extendedData |
The extended data (pass nil to remove). |
|---|---|
object |
The object. |
Discussion
Set extended data to an object.
You can set any extended data to an object before you save the object to disk cache. The extended data will also be saved with this object. You can get the extended data later with “getExtendedDataFromObject:”.
Declared In
YYDiskCache.h


This week I'm taking a app design from a student at the Austin, TX Iron Yard and bringing it to life!
The design I chose, originally called TeamSkip, provides a team captain with a beautifully simple and powerful interface. The opening screen, displayed below, summarizes the most relevant information - the upcoming game - with simple buttons to explore additional details.
The primary challenge I encountered with this design was getting all the detail mocked-up and implemented in my very short timeframe. I selected a design Tuesday afternoon and completed the working app Friday morning - just about three days. I aggressively maintained a Trello board with "To Do", "In Progress", "Approved By Client" and "Done" columns and I found on Friday morning there were still many improvements I wanted to make. I'm planning to go back and continue to improve this project because I really do enjoy the idea.
The landing screen displayed above allows the team captain to see the field and detail for today's game and quickly move to previous and future games. The team captain can text all team members as well. This app is built around a tab view controller - allowing the user to quickly move to multiple other screens. I really appreciate when apps use this because it allows multiple different contexts to exist simply, side-by-side. Very successful apps like Spotify have gone back to using a tab view controller for this very reason.
I struggled to find and match the tab buttons chosen by the designer. I wish they were more common, or files could have been included with the design. Although I custom built buttons I ultimately returned to Apple's standardized buttons because the one's I built did not integrate well.
The 'Player view' is displayed under the second tab. The initial view for this tab is a table view displaying a profile picture, name and percentage of games attended. Clicking on a player results in the detail screen, displayed above.
This tab allows the user to open an edit all information related to a player on their team. I prioritized functionality over form, and allow the user to see and edit their statistics in one place. There are obvious differences from the design but I was glad to simply get the editing capability built and the autolayout done. This portion of the app could use more work but does work on iPads and iPhones alike and serves the core needs of the user.
It is not obvious from the screenshots but managing the data for user was the largest coding challenge. I spent an entire day simply setting up and and implementing Firebase, a Google-owned "Backend As A Service". Firebase provides a free and very fast back-end for the application creating a very powerful app very quickly. The team rank, team name, and team record displayed above can be quickly modified by a league administrator and will instantly update in the app as soon as an internet connection is available. Nearly all the information displayed in the app is connected this way - so an administrator can provide quick notice of cancellations, update game details and create new teams quickly and easily. I found Firebase lead to many logistical challenges that a different back end might not have created. Simply storing the necessary data on the device with Core Data or using Defaults would look the same here but ultimately would mean an app with little usefulness.
I added some features not included in the design and removed some as well. The above Updates View is another crucial place I applied the live database, although I would love to expand the app to make data management easier. I created an app icon and a matching launch page to enhance the user experience. I integrated Apple's Messages app so the user can seamlessly text teammates or rival captains without leaving the app. As my "To Do" list built up I continued to dream up new features that would add functionality.
The largest change I had to make to the design was the "Activities" feature. The designer intended to allow users to communicate in a forum native to the app. I knew early on that getting this done would have taken crucial time away from more fundamental parts of the app. I left it on the "To Do" list in hopes that I would finish the functionality early and be able to add this feature. I wasn't able to move that quickly but it could be a nice item to add back in the future.
I'm extremely grateful to the design students and instructor at the Austin, TX Iron Yard for allowing us to look at and use their designs. I hope this app is encouraging for the TeamSkip designer. Working on it was a pleasure. Thank you!


Hello, [[${user.userInfo.fname}]] [[${user.userInfo.lname}]] ([[${user.username}]])
Email/Username: [[${user.username}]]
Company Username: [[${user.userInfo.companyUserName}]]
Office: [[${user.userInfo.office.office}]]
Company Phone: [[${user.userInfo.phone}]]
Cell Phone: [[${user.userInfo.cellphone}]]


Avatar: The Last Airbender
A TidyTuesday project modelling Avatar TV show scripts.
Today we are looking at text data from the scripts for the TV show ‘Avatar: The Last Airbender’.
I decided to see if certain characters that dominate a show, based on their word count, affects the ratings in a postive or negative way. It would be interesting to incorporate screen time as well, but all I have here is word count.
Setup
First we setup our enivronment and load the dataset.
library(tidytuesdayR)
library(tidyverse)
## ── Attaching packages ────────────────────────────────────── tidyverse 1.3.0 ──
## ✓ ggplot2 3.3.2 ✓ purrr 0.3.4
## ✓ tibble 3.0.1 ✓ dplyr 1.0.0
## ✓ tidyr 1.1.0 ✓ stringr 1.4.0
## ✓ readr 1.3.1 ✓ forcats 0.5.0
## ── Conflicts ───────────────────────────────────────── tidyverse_conflicts() ──
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
library(knitr)
library(kableExtra)
##
## Attaching package: 'kableExtra'
## The following object is masked from 'package:dplyr':
##
## group_rows
knitr::opts_chunk$set(
echo = TRUE,
fig.height = 5,
fig.width = 8,
message = FALSE,
warning = FALSE,
dpi = 180
)
Load the data
avatar <- readr::read_csv('https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2020/2020-08-11/avatar.csv')
Data Manipulation and Cleanup
Next we create dataframes to capture the text data for all characters, the totals per episode, then join them.
word_counts <- avatar %>%
filter(character != "Scene Description") %>% # removes non-character speaking text
select(book, book_num, chapter_num, character, character_words, imdb_rating) %>%
mutate(word_counts = str_count(character_words)) %>%
group_by(book_num, chapter_num, character) %>%
summarise(word_counts = sum(word_counts),
rating = mean(imdb_rating)) %>%
ungroup()
word_totals <- word_counts %>%
group_by(book_num, chapter_num) %>%
summarise(total_words = sum(word_counts)) %>%
ungroup()
df <- word_counts %>%
left_join(word_totals) %>%
mutate(word_perc = word_counts / total_words) %>%
arrange(book_num, chapter_num, -word_perc)
Create list of top 6 characters by word count. We will only plot these characters as they have the most words compared to the other characters.
top_chars <- df %>%
group_by(character) %>%
summarise(char_word_counts = sum(word_counts)) %>%
arrange(desc(char_word_counts)) %>%
top_n(6, char_word_counts) %>%
pull(character)
Below is a first crack. I create a scatter plot and then use stat_ellipse to get a rough idea of the distribution and centroid for each character. Each point is an episode. I ignore which book/season of the series is involved, but it might be interesting to see how character’s evolve over the arc of the entire series.
df %>%
filter(character %in% top_chars) %>%
ggplot(aes(rating, word_perc)) +
geom_point() +
stat_ellipse() +
facet_wrap(~ character)
Now let’s make the plot pretty.
Notice we can use the group.colors named list to dictate who gets assigned which color. Neat!
library(ggtext)
group.colors <- c(Sokka = "#1C3F6E", Aang = "#EFFC93", Katara = "#0F2347", Iroh = "#a10000", Zuko = "#a10000", Toph = "#80C271")
p <- df %>%
filter(character %in% top_chars) %>%
ggplot(aes(rating, word_perc)) +
geom_point(aes(color = character), alpha = 1, show.legend = FALSE) +
stat_density_2d(alpha = .2, show.legend = FALSE) +
scale_color_manual(values = group.colors) +
scale_y_continuous(labels = scales::percent_format(accuracy = 1)) +
facet_wrap(~ character) +
theme_minimal() +
labs(
x = "IMDB Rating",
y = "",
title = "**Zuko**-heavy Episodes Maintain High Ratings",
subtitle = "Character Word Count / Total Word Count Per Each Episode",
caption = "Joseph Pope | @joepope44"
) +
theme(
text = element_text(family = "Verdana"),
panel.background = element_rect(fill = "lightgrey"),
panel.grid = element_blank(),
plot.title = element_markdown(size = 20),
strip.text = element_text(face = "bold")
)
p
I use a density 2D plot to help show how the points are distributed.
I don’t think this came out quite as informative as I would have liked, but it is interesting to see that Zuko has several episodes where he is speaking the most out of all characters, and those all appear to have relatively high ratings.


Severn Valley Railway to light up winter nights this Christmas
by Rory SmithThe Severn Valley Railway line will be lighting up winter nights this Christmas.
The historic steam attraction is inviting people to join the illuminated adventure Steam in Lights next weekend and into December for the first time.
The 90-minute event features magical creatures, sparkling lights and snowfall as the dark nights are lit up by an array of colour.
It starts at Bridgnorth where visitors follow an illuminated path down to the station and through a tunnel of lights to the platform, where hot food and drinks will be on sale.
The train then lights up to welcome passengers aboard as a narrator guides passengers on their quest to find the ‘Christmas Cacklers.’
Lewis Maddox, Severn Valley Railway events co-ordinator, said: “This is set to be a truly spectacular experience.
"We have never done anything like it before and are extremely excited to offer it to our passengers this Christmas.
"This absorbing, interactive experience will be an unforgettable way to experience the railway in a whole new light.”
Visitors are encouraged to bring a small torch and to wear neon colours on the night.
Weekend departures will run from Bridgnorth on November 29 and several dates in December at 5pm and 7.15pm.
Saturday departures will run on November 30 and every week until December 21 at 6.30pm.
Tickets cost £22 per adult and £15 per child.
For more information, visit svr.co.uk/steaminlights or call<PHONE_NUMBER>0.


Receiving Number: {{item.receivingcust_no}}
Invoice Number: {{item.invoice_no}}
Receiving Date: {{item.receivingcust_date}}
Receiving Time: {{item.receivingcust_time}}
Receiver Name: {{item.receiver_name}}
Latitude: {{item.latitude}}
Longitude: {{item.longitude}}


Default menubar
About
File
Open...
Open recent...
Save
Save as...
Close
Quit
Stubby
Edit
Copy
Cut
Paste
View
Fullscreen
Fit into view
Encoding
Auto-detect
UTF-8
UTF-16
Option 1
Option 2
Option 3
Option 4
Customize...
Other markup
About
File
Open...
Open recent...
Save
Save as...
Close
Quit
Edit
Copy
Cut
Paste
View
Fullscreen
Fit into view
Encoding
Auto-detect
UTF-8
UTF-16
Option 1
Option 2
Option 3
Option 4
Customize...
Log:


Situated on the end of a peninsula approximately halfway down on the west coast of Baja California Sur, this useful port provides a welcome stop along this fairly inhospitable coast.
Position 27°38.5'N, 114°54.0'W.
This is a well protected natural harbour. There is a tall wooden pier in the NW corner of the bay. Approach the ladders there with care.


Supply Chain Weather
Shipments
Results
Reset
Predictions
Items in this list represent impending weather disruptions to your supply chain. Shipments have been automatically generated based on weather type and population data. You can choose to authorize or ignore each shipment.
Emergency Shipments


Derby County player ratings: Craig Forsyth stars on injury comeback against Preston as Tom Lawrence shines
Derby County 1-0 Preston North End | A first-half Martyn Waghorn strike saw the Rams claim all three points in the Championship clash at Pride Park Stadium
by Steve NicholsonKelle Roos 6
Two or three shaky moments first half, and some second half, but a clean sheet - his fourth on the spin at home. Still not convincing when he has to come for the ball.
Jayden Bogle 7
Drove forward from right back, needs more care with end product.
Curtis Davies 7
Very steady from the skipper.
Craig Forsyth 8
Showed all his experience in his first game for a year. Excellent comeback.
Max Lowe 7
Good display by the left back.
Graeme Shinnie 6
Started the game well, but limped off early on.
Krystian Bielik 8
Strong, controlled performance. Blossoming in midfield. Star man.
Duane Holmes 7
Lively, energetic, just that end product.
Mason Bennett 7
Strong start, driving runs, then injured.
Chris Martin 7.5
Link up play was very good.
Tom Lawrence 8
Lively, a constant threat.
SUBS: George Evans (for Shinnie, 15) 7
Settled into the midfield role after coming off the bench early on
Martyn Waghorn (for Bennett, 33) 7.5
Good display, scored the winner and could have had a hat trick


The create-hit-type operation creates a new HIT type. This operation allows you to define a standard set of HIT properties to use when creating HITs. If you register a HIT type with values that match an existing HIT type, the HIT type ID of the existing type will be returned.
See also: AWS API Documentation
create-hit-type
[--auto-approval-delay-in-seconds <value>]
--assignment-duration-in-seconds <value>
--reward <value>
--title <value>
[--keywords <value>]
--description <value>
[--qualification-requirements <value>]
[--cli-input-json <value>]
[--generate-cli-skeleton <value>]
--auto-approval-delay-in-seconds (long)
The number of seconds after an assignment for the HIT has been submitted, after which the assignment is considered Approved automatically unless the Requester explicitly rejects it.
--assignment-duration-in-seconds (long)
The amount of time, in seconds, that a Worker has to complete the HIT after accepting it. If a Worker does not complete the assignment within the specified duration, the assignment is considered abandoned. If the HIT is still active (that is, its lifetime has not elapsed), the assignment becomes available for other users to find and accept.
The amount of money the Requester will pay a Worker for successfully completing the HIT.
The title of the HIT. A title should be short and descriptive about the kind of task the HIT contains. On the Amazon Mechanical Turk web site, the HIT title appears in search results, and everywhere the HIT is mentioned.
One or more words or phrases that describe the HIT, separated by commas. These words are used in searches to find HITs.
A general description of the HIT. A description includes detailed information about the kind of task the HIT contains. On the Amazon Mechanical Turk web site, the HIT description appears in the expanded view of search results, and in the HIT and assignment screens. A good description gives the user enough information to evaluate the HIT before accepting it.
--qualification-requirements (list)
A condition that a Worker's Qualifications must meet before the Worker is allowed to accept and complete the HIT.
Shorthand Syntax:
QualificationTypeId=string,Comparator=string,IntegerValues=integer,integer,LocaleValues=[{Country=string,Subdivision=string},{Country=string,Subdivision=string}],RequiredToPreview=boolean ...
JSON Syntax:
[
{
"QualificationTypeId": "string",
"Comparator": "LessThan"|"LessThanOrEqualTo"|"GreaterThan"|"GreaterThanOrEqualTo"|"EqualTo"|"NotEqualTo"|"Exists"|"DoesNotExist"|"In"|"NotIn",
"IntegerValues": [integer, ...],
"LocaleValues": [
{
"Country": "string",
"Subdivision": "string"
}
...
],
"RequiredToPreview": true|false
}
...
]
--cli-input-json (string) Performs service operation based on the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, the CLI values will override the JSON-provided values.
--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.


Cozy Corner
Home
(current)
Featured Books
Best Sellers
Top Picks
Contact Us
Login
Sign Up
COZY CORNER CUSTOMER SUPPORT
What can we help you with?
Choose one
Account Issues
Rentals
Purchases
Payments
New Products
Less Common Issues
You just wanna talk
Products
Suspendisse
Cras
Integer
Blogs & Community
Duis
Curabitur
Etiam
Support
Donec
Lorem
Cras
Cozy Corner
Etiam
Aliquam
Maecenas
Products
Suspendisse
Cras
Integer
Blogs & Community
Duis
Curabitur
Etiam
Support
Donec
Lorem
Cras
Cozy Corner
Etiam
Aliquam
Maecenas


Tend to store data as changes to a base version of each file
Data as snapshots of the project over time
Stores the metadata and object database for your project
Copied when you clone a repository
A single checkout of one version of the project; extracted from the db for modify
Stores information about what will go into your next commit
$ git init
$ git clone https://github.com/joyent/node.git
$ git status
# On branch master
nothing to commit (working directory clean)
$ vim README
$ git status
# On branch master
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# README
nothing added to commit but untracked files
present (use "git add" to track)
$ git add README
$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: README
#
$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: README
#
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
#
# modified: benchmarks.rb
#
$ git add benchmarks.rb
$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: README
# modified: benchmarks.rb
#
$ vim benchmarks.rb
$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: README
# modified: benchmarks.rb
#
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
#
# modified: benchmarks.rb
#
$ git add benchmarks.rb
$ git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: README
# modified: benchmarks.rb
#
$ git diff
diff --git a/benchmarks.rb b/benchmarks.rb
index 3cb747f..da65585 100644
--- a/benchmarks.rb
+++ b/benchmarks.rb
@@ -36,6 +36,10 @@ def main
@commit.parents[0].parents[0].parents[0]
end
+ run_code(x, 'commits 1') do
+ git.commits.size
+ end
+
run_code(x, 'commits 2') do
log = git.commits('master', 15)
log.size
$ git diff --staged
diff --git a/README b/README
new file mode 100644
index 0000000..03902a1
--- /dev/null
+++ b/README2
@@ -0,0 +1,5 @@
+grit
+ by Tom Preston-Werner, Chris Wanstrath
+ http://github.com/mojombo/grit
+
+Grit is a Ruby library for extracting information from a Git repository
$ git add benchmarks.rb
$ echo '# test line' >> benchmarks.rb
$ git status
# On branch master
#
# Changes to be committed:
#
# modified: benchmarks.rb
#
# Changes not staged for commit:
#
# modified: benchmarks.rb
#
$ git diff
diff --git a/benchmarks.rb b/benchmarks.rb
index e445e28..86b2f7c 100644
--- a/benchmarks.rb
+++ b/benchmarks.rb
@@ -127,3 +127,4 @@ end
main()
##pp Grit::GitRuby.cache_client.stats
+# test line
$ git diff --staged
diff --git a/benchmarks.rb b/benchmarks.rb
index 3cb747f..e445e28 100644
--- a/benchmarks.rb
+++ b/benchmarks.rb
@@ -36,6 +36,10 @@ def main
@commit.parents[0].parents[0].parents[0]
end
+ run_code(x, 'commits 1') do
+ git.commits.size
+ end
+
run_code(x, 'commits 2') do
log = git.commits('master', 15)
log.size
$ git commit
Story 182: Fix benchmarks for speed
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: README
# modified: benchmarks.rb
$ git commit -m "Story 182: Fix benchmarks for speed"
$ git status
# On branch master
#
# Changes not staged for commit:
#
# modified: benchmarks.rb
#
$ git commit -a -m 'added new benchmarks'
[master 83e38c7] added new benchmarks
1 files changed, 5 insertions(+), 0 deletions(-)
$ rm grit.gemspec
$ git status
# On branch master
#
# Changes not staged for commit:
# (use "git add/rm ..." to update what will be committed)
#
# deleted: grit.gemspec
#
$ git rm grit.gemspec
rm 'grit.gemspec'
$ git status
# On branch master
#
# Changes to be committed:
# (use "git reset HEAD ..." to unstage)
#
# deleted: grit.gemspec
#
$ git rm --cached readme.txt
$ git mv file_from file_to
$ git mv README.txt README
$ git status
# On branch master
# Your branch is ahead of 'origin/master' by 1 commit.
#
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# renamed: README.txt -> README
#
$ git remote
$ git clone git://github.com/schacon/ticgit.git
Initialized empty Git repository in /private/tmp/ticgit/.git/
remote: Counting objects: 595, done.
remote: Compressing objects: 100% (269/269), done.
remote: Total 595 (delta 255), reused 589 (delta 253)
Receiving objects: 100% (595/595), 73.31 KiB | 1 KiB/s, done.
Resolving deltas: 100% (255/255), done.
$ cd ticgit
$ git remote
origin
$ git remote -v
$ cd grit
$ git remote -v
bakkdoor git://github.com/bakkdoor/grit.git
cho45 git://github.com/cho45/grit.git
defunkt git://github.com/defunkt/grit.git
koke git://github.com/koke/grit.git
origin git@github.com:mojombo/grit.git


Module is required.
Page is required.
Field is required.
Short / Full name is required.
Input Type is required.
Mandatory field is required.
Editable field is required.


Using a proxy container with Docker for virtualhosts
25 Aug 2015I’ve been asked a few times over the last few weeks about how you can have multiple services (for example, Munki and Sal) running on the same port on the same server - how we used to do Virtual Hosting when we ran our apps on the host OS. My usual four word answer has been ‘use a proxy container’. How you actually do that has been undocumented - this post hopes to recitfy that.
Let’s consider a usual setup that has Sal and Munki running on the same box. We have two hostnames that both resolve to our Docker server - sal.example.com
and munki.example.com
, and we have our containers running in a manner similar to the below:
Each of our containers is linked to it’s parent:
So how does the proxy
container know about the other containers? When you link a Docker container to another, a few environment variables are made available to you - there are two we’re interested in:
CONTAINERNAME_PORT_EXPOSEDPORTNUMBER_TCP_ADDR
CONTAINERNAME_PORT_EXPOSEDPORTNUMBER_TCP_PORT
So in the case of the Sal container, it would be SAL_PORT_8000_TCP_ADDR
and SAL_PORT_8000_TCP_PORT
. The grahamgilbert/proxy
image will simply run over any file named *.tmpl
in /etc/nginx/sites-templates
and replace the palceholders with the value that’s in the environent variable - here’s my nginx configuration file template for Sal:
Using this technique, you can have as many containers as you like all serving content on the same port number - just change line 14 above to reflect the exposed ports and names of your Docker containers.


---
layout: game-page
redirect_from: /game/where-find-magical-apple-tree-essences
title: "Where to Find Magical Apple Tree Essences"
year: 2008
semester: Spring
description: "WTFMATE?
No description."
tags: Windows Singleplayer
# tag options: "Windows", "Mac", "Linux",
# "Singleplayer", "Multiplayer",
# "Controller-Compatible", "VR",
# "Game-Jam"
project_members: {
Adam Greene: Writing,
Becky Scully: Art,
Diana Archer: Background Art,
Dongha Lee: Art,
Jeremy Holmes: Music,
Michael Collins: Writing,
Nathan Snyder: "Programming, Writing",
Peng Li: Programming,
Raphael Mun: Project Lead,
Richard Chen: Programming,
Susan Lin: Art
}
stage_game_path: wtfmate/
builds: {
Windows: wtfmate.win32.zip
}
screenshots: [
wtfmate-1.jpg,
wtfmate-2.jpg
]
# Optional
top-img-fit: fill
# top-img-fit options:
# "cover" - Cover the entire top area with the image, without squashing/stretching
# "fill" - Fit the FULL image into the top area, squashing/stretching as necessary
---


Piper Elizabeth Chapman (Taylor Schilling) is a woman who was sentenced to 15 months in Litchfield Penitentiary for helping her former girlfriend Alex Vause smuggle drug money in Europe several years before the first episode. At the series start, Piper appears to be a somewhat innocent woman who strives to be on her best behavior and not get in trouble with any of the inmates while doing her time quietly. However, throughout the series, as she spends more time in prison, a darker side of Piper is revealed.
Alex Vause (Laura Prepon) is a former drug smuggler for an unspecified international drug cartel. Years prior to the beginning of the series, she took a sexual interest in Piper after meeting her in a bar, and gradually integrated her into the drug trade while they traveled the world living in luxury. Alex is snarky, manipulative and street smart. While she does associate with other inmates, she keeps to herself emotionally, although she isn't afraid to fight back if provoked.
Galina "Red" Reznikov (Kate Mulgrew) is a Russian inmate who runs the prison's kitchen as the master chef and is the behind-the-scenes leader of the prison's white population. In her earlier life, she and her husband ran a struggling restaurant in Queens, eventually getting involved with the Russian mafia bosses who frequented their establishment. Though a serious woman, Red can be known for being occasionally sentimental (especially for the women in her care) and humorous.
 An African-American, she was raised by an adoptive middle class white couple who later had another daughter during Suzanne's childhood. Suzanne was often shunned by her parents' community and her little sister's friends. She is easily upset and is quickly frustrated, usually resulting in her hitting herself on the head and calling herself "stupid." When getting to know her better, her compassion and thoughtfulness become apparent.
Tasha "Taystee" Jefferson (Danielle Brooks) is a very funny person, who mainly stays within the group of black inmates. She claims to prefer life in "the system" over "the outside." Despite her less than ideal upbringing and often outrageous behaviour, she is highly intelligent, and shows great ambition. Taystee finds herself being assigned as Caputo's secretary. She uses her new position to influence some of the decisions Caputo makes on behalf of the inmates.


Publications
Optimal Lottery Tickets via SubsetSum: Logarithmic Over-Parameterization is Sufficient
Ankit Pensia, Shashank Rajput, Alliot Nagle, Harit Vishwakarma, Dimitris Papailiopoulos
Rare Gems: Finding Lottery Tickets at Initialization
Kartik Sreenivasan, Jy-yong Sohn, Liu Yang, Matthew Grinde, Alliot Nagle, Hongyi Wang, Eric Xing, Kangwook Lee, Dimitris Papailiopoulos
Improved high-dimensional multivariate autoregressive model estimation of human electrophysiological data using fMRI priors
Alliot Nagle, Josh P. Gerrelts, Bryan M. Krause, Aaron D. Boes, Joel E. Bruss, Kirill V. Nourski, Matthew I. Banks, Barry Van Veen
[paper]


Stand-Up
Marsden is a nationally-touring stand-up comedian and has performed at many well-known venues and festivals. Marsden is headlining at the International Lady Laughs Festival in November and is debuting her hour-long stand-up comedy special GLITTER-BOMB at Second City on December 21, 2018. Check the calendar on the homepage to see her up-coming shows or click here to book her!


--- title: Michelle Le Laurin's E-Portfolio layout: default permalink: /resume/ ---
Below is my resume template that all tailored resumes start as. Each tailored resume highlights aspects of my experience that best fit the job application and what the organizatin requires. When finished, the resume fits onto one page as not all of my experience is pertinent to each position. The resume is available to view online or as a PDF.


Make sense of your CE spans. Paste your template text, including CE markup in the input box on the left. The formatter will colour code all spans. Click on a span to hide it and view your text without it. Click on it again to show it.


Toggle
Only SHOW
Only SHOW2
show
Only SHOW
TAG HIDE
2 example SHOW (2 elements by ID) HIDE (1 element by ID)
Only SHOW 1
only show 2
TAG HIDE
2 example SHOW (2 elements by class) HIDE (3 element by class)
Only SHOW 1
only show 2
TAG HIDE
Tag hide 2
Tag hide 3
3 example
CHECKBOX
SHOW (2 elements by class) HIDE (3 element by class)
Only SHOW 1
only show 2
TAG HIDE
Tag hide 2
Tag hide 3
4 example RADIOBUTTON
Personal
Business
Corporate
PERSONAL
BUSINESS
CORPORATE
5 example RADIOBUTTON (show MULTIPLE)
Personal
Business
Corporate
PERSONAL
BUSINESS
other_business
CORPORATE 1
CORPORATE 2
CORPORATE 3
6 example SELECT
Payment Method
Credit Card
Check
Other
Credicard
CHECK
CHECK2
OTHER
7 example SELECT (show multiples)
Payment Method
Credit Card
Check
Other
Credicard
Credicard2
CHECK
CHECK2
CHECK3
CHECK4
OTHER


Progress elements
Progress:
Hoge
Meter:
Range:
Date/time elements
Date/time (UTC):
Date:
Time:
Date/time (Local):
Others
Color:
Output (for above progress):
Output (for above date):


Introduction
- Measurement
- Attribution
- Appraisal
Performance Measurement
Definition: Procedure of calculating an account's returns
- rt=(MV1-MV0)/MV0 (assumes no external cash flows
- Total rate of return
- Time-weighted rate of return
- Chain-linking
- Wealth relative
- rtwr=(1+rt,1)(1+rt,2)...(1+rt,n)-1
- Money-weighted rate of return
- Internal rate of return (IRR)
- MV1=MV0(1+R)m+CF1(1+R)(m-L(1))+...+CFn(1+R)(m-L(n))
- Linked internal rate of return (LIRR)
- Annualized return
Benchmarks
- Portfolios have 3 components:
- Market, style, and active management
- Valid benchmarks are:
- Unambiguous, investable, measurable, appropriate, reflective of investment opinions, specified in advance, and owned
- Types of benchmarks
- Absolute, manager universe, broad market indices, style indices, factor-based models, returns-based models, and custom-security-based models
- Tests of quality
- Systematic biases, tracking error, risk characteristics, coverage, turnover, positive active positions
Performance Attribution
- Identification of differential returns
- Macro vs. micro attribution
- Impact = weight × return
Macro Attribution
Definition: Macro Attribution is the process of decomposing a fund's performance from a macro perspective
- Inputs
- Policy allocations
- Benchmark portfolio returns
- Fund returns, valuations, and external cash flows
Illustrative Macro Attribution Analysis
Micro Attribution
Definition: The process analyzing investment results of individual portfolios relative to designated benchmarks
Illustrative Micro Attribution Analysis
Performance Appraisal
- Alpha: RAt - rft = αA + βA(RMt - rft) + εt
- Treynor measure: TA = (RA - rf)/βA
- Sharpe ratio: SA = (RA - rf)/σA
- M2A = rf + [(RA - rf)/σA]σM
- Information ratio: IRA = (RA - RB)/σA-B


MuslimDatingSites. org Recommends the Top Platforms designed for Meeting some Muslim Date
Posted on JUNE 11,2021 BY STOCKIEST91MuslimDatingSites. org Recommends the Top Platforms designed for Meeting some Muslim Date
That Scoop: MuslimDatingSites. org offers simplified the net dating arena and highlighted the best choices for Muslim singles seeking a person in existence — and a partner around faith. This editor assessments give a entire analysis with the matchmaking elements, subscription premiums, and level of privacy assurances mail order wives regarding the leading Muslim dating platforms. Online daters of all age and status can confer with MuslimDatingSites. org to get quality on which online dating sites are most favored in the Muslim community.
Faith is a touchy subject inside the dating location because lots of people have robust opinions in addition to expectations relating to this. Some specialists say singles should never speak about religion on the first meeting because to do so could find a debate and also fight.
However , religion is cast as an important role in partnership compatibility, which means that some major daters may possibly feel you have to check that shut off their listing of dealbreakers previous to even agreeing to a earliest date.
Muslim singles that happen to be looking for a conventional Muslim relationship can have a difficult time identifying appealing matches on the mainstream courting site the place they’ re in the minority. That’ lenses why Muslim dating sites have grown popular with the Islamic city.
MuslimDatingSites. org has described the top internet dating for Muslim dating that can help compatible enjoy interests get one another so much more quickly.
This detailed opinions on MuslimDatingSites. org help faith-driven singles find ones own way.
The MuslimDatingSites. org team offers recognized that will Muslim online dating is different as compared to Christian internet dating, Jewish internet dating, or agnostic dating. Muslim singles will have unique dating standards in addition to expectations, thus it’ ohydrates only normal they search for the internet dating assistance of an Muslim-friendly relationship site.
As a result of reading a reviews with MuslimDatingSites. org, singles might get acquainted with a distinct segment dating environment where Islamic values are upheld and Muslim weddings can blossom.
“ MuslimDatingSites. org will be the easy-to-use courting site assessment website that is definitely revolutionizing the simplest way Muslims night out online, ” the company said. “ Our task is to guide our clients make online dating connections within the open, nonjudgmental environment by finding the Muslim dating sites which might be right for these. ”
Looking for Niche Information in the Dating foreign girls Scene
MuslimDatingSites. org is often a third-party feedback site that has a clear examination of the Muslim dating sites and apps available. The online business ranks the top options by using star recommendations based on the platform’ s all around effectiveness.
If you wish more information, you’ll be able to navigate to the comprehensive review to master a particular Musim dating service’ s biggest pros and cons. The whole review site includes legend ratings in line with popularity, attributes, safety, benefits, and convenience. The publishers also contour the subscription costs together with matchmaking gear that identify each stage.
MuslimDatingSites. org analyzes every single dating software with Muslim singles in the mind. The publishers make a indicate speak to Muslim dating hobbies and interests when describing how the online dating service works and how effective it can be in regards to inspiring Muslim friendship in addition to marriage.
“ There are many new sites catering to the must have of Muslims, ” as reported by MuslimDatingSites. org. “ Nevertheless , not all of them are operated by the followers of Islam, so be warned. ”
MuslimDatingSites. org comes with tested and reviewed several of the top online dating services in the world.
Not every dating site featured concerning MuslimDatingSites. org caters exclusively to Muslim singles. A lot of are best-selling dating systems that have tested effective at religion-based matching. A editors have ranked web sites based on entire Muslim acceptance, and the selections run the gamut because of niche relationship services to help highly engaging swipe blog.
MustlimDatingSites. org has gone to great program plans to curate a top 10 list that can help Muslim singles take action inside modern courting scene.
A few Muslim singles may truly feel hesitant give online dating, nonetheless all they need is a lot of encouragement within the experts to get started. This totally free resource can allow newcomers your push needed and show them the upsides of looking for a really enjoy match via the internet.
“ Online dating sites are becoming a growing number of popular, and more people check out them for relationships, ” the publishers explained. “ MuslimDatingSites. org was created for making it easy and convenient for Muslims around the world to connect, date along with share their own life. ”
The Blog Gives you Sage Suggestions for Muslim Singles
In addition to its courting site reviews, MuslimDatingSites. org has created a general advice room or space where Muslim singles and their fans can know more about what is ahead. That free advice blog has a library of articles meals the do’ s and additionally don’ ts of the Muslim dating earth.
Since 2016, the blog writers have taken care of the fashion and norms of Muslim dating traditions while at the same time outlining basic principles of online dating sites. That way, any person who is keen on meeting some sort of Muslim internet can get a standard idea of best places to go in addition to what to do.
This MuslimDatingSites. org blog discusses presenting Islam in a beneficial light. Some of its articles or blog posts debunk normal misconceptions concerning Muslim marriages and Muslim culture.
“ The truth is that will Islam is a religion associated with peace, ” according to an individual article. “ Many people may possibly suggest that Islam preaches assault, but the particulars will show you of which Islam preaches peace. ”
MuslimDatingSites. org answers standard questions approximately Islamic internet dating norms.
MuslimDatingSites. org does not just communicate with Muslim singles. It also communications information the doubts and fears of a non-Muslim who wants to day a Muslim. Interreligious agrees with can be fraught with confusion and miscommunication, so it helps having the site as an self-sufficient source of assistance and info.
For instance, as soon as discussing isn’t converting to help you Islam for any romantic partner, the editors recommend carrying out a lot of research and looking through the Quaran to make sure conversion is the best suited decision. “ Saying this Shahada is normally the statement that you will be turning from your past sins and moving forward inside of a new route, ” a editors say.  ”
MuslimDatingSites. org discusses serious, your own, and debatable issues with straightforward advice. The blog’ ersus articles might be a wonderful tool for singles who are new at all to Muslim relationship and plan to set their selves up with regard to success.
MuslimDatingSites. org can be described as Faithful Direct & Healthcare professional
Religion and dating might seem with odds usually, but they can form a wonderful marriage when working in relaxation. Muslim singles should not self conscious away from revealing their confidence with a probable partner and additionally making their beliefs, stances, and ideals clear from the beginning.
MuslimDatingSites. org has provided support so that you can singles who wish to date inside Muslim community. Its feedback cover probably the most promising online dating sites platforms at which religion adds people jointly and enables lasting relationships to survive.
The most popular Muslim paid dating sites can help Muslim men and women satisfy people who fully understand where they’ re from and where by they want to be.
“ Muslim dating sites are proliferating via the internet because they make available more control over the course of action, ” your dating experts said. “ Users may get to know oneself before preparing an in-person meeting. The key is to select the right Muslim site since it is important to find a similar value relationship which might lead to holy matrimony. ”
This entry was posted in blog. Bookmark the permalink.
STOCKIEST91
Leave a Reply
Your email address will not be published. Required fields are marked
Comment


Single cell transcriptomes are difficult to annotate without extensive knowledge of the underlying biology of the system in question. Even with this knowledge, accurate identification can be challenging due to the lack of detectable expression of common marker genes defined by bulk RNA-seq, flow cytometry, etc. ClustifyR
solves this problem by providing functions to automatically annotate single cells or clusters using bulk RNA-seq data or marker gene lists (ranked or unranked). Additional functions allow for exploratory analysis of similarities between single cell RNA-seq datasets and reference data. Put another way:
ClustifyR Leverages User Supplied Transcripts to Identify Features in Your scRNA-seq
Installation from github in R is a two step process:
# Install clustifyR from github
devtools::install_github("NCBI-Hackathons/clustifyR")
Generate a correlation matrix from a matrix of single cell RNA-seq data (pbmc4k_matrix
), a metadata table describing the single cell data (pbmc4k_meta
), a list of variable genes in the single cell data (pbmc4k_vargenes
), and a matrix of bulk RNA-seq read counts (pbmc_bulk_matrix
):
# run correlation (pearson by default)
res <- run_cor(expr_mat = pbmc4k_matrix,
metadata = pbmc4k_meta,
bulk_mat = pbmc_bulk_matrix,
query_gene_list = pbmc4k_vargenes,
compute_method = corr_coef)
Plot the correlation coefficients on a pre-calculated tSNE projection (stored in pbmc4k_meta
):
# plot correlation coefficients on tSNE for each identity class
plot_cor(res,
pbmc4k_meta,
colnames(res)[c(1, 5)],
cluster_col = "classified")


{include file="layout/head"}
{include file="layout/sidebar"}
{include file="layout/header"}
新增工艺介绍
选择分类:
{foreach $categorys as $v}
{$v.c_name}
{/foreach}
工艺名称:
工艺介绍:
提交
{include file="layout/footer"}
{include file="layout/js"}


PC Power Switch
Power Button (Momentary)
Press
PC Power Status
Last read:
, status
Poll server for power status


WordCamp Lancaster March 5, 2016
taupecat.github.io/you-have-something-to-say
Tweet it!
Share your story: #MyWPJourney


Object pi.Block
public class Block
A Minecraft Block description
| Method Summary | |
|---|---|
boolean |
equals(Object obj)
|
int |
hashCode()
|
static Block |
id(int id)
Get a block with and withId (use a constant like Block.TNT) |
String |
toString()
|
Block |
withData(int data)
Get a block with extra data |
static Block |
wool(Color color)
Get a wool block of a specific color |
| Methods inherited from class Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final Block AIR
public static final Block STONE
public static final Block GRASS
public static final Block DIRT
public static final Block COBBLESTONE
public static final Block WOOD_PLANKS
public static final Block SAPLING
public static final Block BEDROCK
public static final Block WATER_FLOWING
public static final Block WATER
public static final Block WATER_STATIONARY
public static final Block LAVA_FLOWING
public static final Block LAVA
public static final Block LAVA_STATIONARY
public static final Block SAND
public static final Block GRAVEL
public static final Block GOLD_ORE
public static final Block IRON_ORE
public static final Block COAL_ORE
public static final Block WOOD
public static final Block LEAVES
public static final Block GLASS
public static final Block LAPIS_LAZULI_ORE
public static final Block LAPIS_LAZULI_BLOCK
public static final Block SANDSTONE
public static final Block BED
public static final Block COBWEB
public static final Block GRASS_TALL
public static final Block WOOL
public static final Block FLOWER_YELLOW
public static final Block FLOWER_CYAN
public static final Block MUSHROOM_BROWN
public static final Block MUSHROOM_RED
public static final Block GOLD_BLOCK
public static final Block IRON_BLOCK
public static final Block STONE_SLAB_DOUBLE
public static final Block STONE_SLAB
public static final Block BRICK_BLOCK
public static final Block TNT
public static final Block BOOKSHELF
public static final Block MOSS_STONE
public static final Block OBSIDIAN
public static final Block TORCH
public static final Block FIRE
public static final Block STAIRS_WOOD
public static final Block CHEST
public static final Block DIAMOND_ORE
public static final Block DIAMOND_BLOCK
public static final Block CRAFTING_TABLE
public static final Block FARMLAND
public static final Block FURNACE_INACTIVE
public static final Block FURNACE_ACTIVE
public static final Block DOOR_WOOD
public static final Block LADDER
public static final Block STAIRS_COBBLESTONE
public static final Block DOOR_IRON
public static final Block REDSTONE_ORE
public static final Block SNOW
public static final Block ICE
public static final Block SNOW_BLOCK
public static final Block CACTUS
public static final Block CLAY
public static final Block SUGAR_CANE
public static final Block FENCE
public static final Block GLOWSTONE_BLOCK
public static final Block BEDROCK_INVISIBLE
public static final Block STONE_BRICK
public static final Block GLASS_PANE
public static final Block MELON
public static final Block FENCE_GATE
public static final Block GLOWING_OBSIDIAN
public static final Block NETHER_REACTOR_CORE
| Method Detail |
|---|
public static Block id(int id)
public Block withData(int data)
public int hashCode()
hashCode
in class Object
public boolean equals(Object obj)
equals
in class Object
public String toString()
toString
in class Object
public static Block wool(Color color)


If checked, this option indicates that authentication and user/group membership lookups which fail due to communication errors (e.g., LDAP server is unreachable, manager password is incorrect) will be reattempted using the next configuration. Other types of failures, such as a user attempting to authenticate with an incorrect password, will not be reattempted.
If unchecked (the default), authentication and user/group membership lookups which fail due to communication errors will not be reattempted using the next configuration.
The default is intended to prevent users or groups with the same name in distinct LDAP domains from being inadvertently mapped to the same user or group in Jenkins if one of the domains is unavailable. Consequently, this option should only be enabled if all configured domains have distinct user and group names.


I'm a UCF Trustees Doctoral Fellow and researcher for AR/VR applications in safety-critical domains, like human space exploration and self-driving cars.
Sailors aboard aircraft carriers all over the world use the I-STALKER to provide command with video and range information on targets in visual range. Watch to see how the X-Force Summer 2021 Fellows have created a virtual simulator to help sailors train on this important ship capability.
Conference on Human Factors in Computing Systems
Online Virtual (originally
Yokohama, Japan)
May 8-13, 2021
Extended Abstract Publication - Autonomous Vehicle Visual Embodiment for Pedestrian Interactions in Crossing Scenarios
This work presents a novel prototype autonomous vehicle (AV) human-machine interface (HMI) in virtual reality (VR) that utilizes a human-like visual embodiment in the driver’s seat of an AV to communicate AV intent to pedestrians in a crosswalk scenario. I conducted a 3x2 within-subjects experiment in VR using the prototype to assess the effects of a virtual human visual embodiment AV HMI on pedestrian crossing behavior and experience.Bremen, Germany
October 1-5, 2018
Oral Presentation and Technical Publication
Vancouver, British Columbia
August 12-16, 2018
Demonstrated StowageApp on Microsoft Hololens
Worcester, Massachusetts
April 22-23, 2016
By Hiroshi Furuya, submitted to IAF Directory
August 2020 - Present
2018
August 2016 - July 2018
August 2012 - May 2016
Hiroshi is the husband of a wonderful wife and proud father of two sons.
He is also a Ph.D student and Trustees Doctoral Fellow at the
University of Central Florida.
His research focuses on the development of augmented, virtual, and mixed reality prototypes for supporting
human operations in safety-critical applications.
From 2018 to 2020, Hiroshi was a Senior Software Engineer at Moback, Inc. working with Google Robotics on
a program blending automation, virtual reality, and human operations.
Prior to 2018, Hiroshi was also a NASA Space Technology Research Fellow working on research titled,
"Collaborative Augmented Reality with Hands-Free Gesture Control for Remote Astronaut Training and
Mentoring."
Hiroshi has an M.S. Computer Science from Columbia University and a B.S. Aerospace Engineering from the
University of Maryland.
Other personal interests include: Mentorship of junior engineers, co-founded a non-profit in college to
use volunteer interns to help solve technical problems for international non-profits.
U.S. Citizen
For additional information, email me at:


6.7.2016
I really like idea of secondary expandable menu. CSS animanition like showed here CodeKit website and I really like flat design http://playgroundinc.com/ and this cool website made by Adam Rudzky
Think about HTML as a basic of skeleton of the house. First you need build a foundation, they lay a bricks. Next will be dividing foundation into smaller rooms and choose the purpous of it.Decide where to place the windows, doors and ensure that it's placed on the right spot.
CSS more a style for the house. Choosing frames for your windows and doors, materials for it, colour even furniture. You can choose to get your furniture from top designers or do it you self.
DOM is an visual representation of the house. You can see all elements of the house - different levels. You can easily target any element from your house and manipulate it.
Boxfying design means to take the website and divided it into small boxes. Everything on the website is made of boxes. Even circle is boxes with the mask made of circle. The boxfying design means - think about the website design as bunch of boxes piled on the top of each other.


We exchange systems!
- matrix front-end content
- envisioneer robust e-markets
- monetize front-end paradigms
- redefine frictionless models
- implement frictionless infomediaries
- architect best-of-breed e-business
- grow vertical eyeballs
- mesh real-time markets


Change Class Icon Dialog
The Change Class Icon Dialog lets you change the icon for a specified class, so that all objects of the class will use the specified icon. However, if you have set the icon for any individual object, that will take precedence over the setting for the class. Select the icon you want to use for all objects of the class and hit OK.
| Import... | To add a new icon to the current file, you can import a standard Windows Icon file (a file with a ".ico" extension) by clicking this button. You will be asked for a name for your icon, and your new icon will then show up with all the standard NeoMem icons. |
| Edit... | This will let you rename the currently selected icon. |
| Delete... | This will let you delete the currently selected icon. Note that the predefined NeoMem icons cannot be deleted. |
See also: Changing the Icon of an Object


My name is Yuna, 16 and currently in 11th grade.
I'm a good kid. I'm smart, I go to school and respect elders. But I also do things that some people don't think very highly of.
Cigarettes. Alcohol. Pot. Speed. Ecstasy. Acid. Coke. Morphine.
I've never had a bad experience smoking weed in all the times I've done it. And it's pretty often - I usually smoke 2 or 3 times a week on average. Sometimes it's with friends and sometimes it's not. I buy from an ex of mine and he always gets me good stuff. For the most part, getting high is a nice experience.
Last week, I had my first bad trip. It had been a unusual time for me, I hadn't smoked any weed for about a month. It wasn't planned or anything, I just didn't find the time for it. Some of my brother's friends came over with some weed and asked if I wanted to smoke with them.
I had always heard to never smoke weed from an Asian. And to that point, I hadn't. Even though I'm Asian myself, I never fit into that hoochie-ghetto-wigger kind very well and out of my group of friends, I'm really the only one who isn't white. But my brother is one of those gangster kind of Asians who only hang out with other gangstery Asians. I assumed the weed they brought was probably bleached or laced but I didn't think much of it. And besides, it had been a while since I had gotten high, so why not?
 We started passing it around the 4 of us and I was taking really big, monster hits. I wanted to get as much out of it as I could.  It probably wasn't the greatest idea.  I'm only 5'2 and dont even make the 100 pound mark. But by then, I was too high to think about it too much.
At first, I was having a great time. I was really high and feeling really good. It lasted for about 20 minuites, when I started to get nauseous. I went into my room to lie down for a little bit, hoping it would take the nausea away, but it only got worse. I turned on the air conditioner full blast and stripped down to my bra and panties and tried to calm down. My heart was beating too fast and I was sweating like mad. I curled up on my bed and closed my eyes and tried to fall asleep but it didn't work.
When I had my eyes open, the entire room was spinning and twirling.  I couldn't move the slightest bit or I was hit with extreme nausea. I couldn't even throw up because I hadn't eaten anything for a while. There were times I felt that the piece of my bed that I was lying on was hovering midair somewhere and things were flying around me. And I was overheated like crazy.
I'm not sure how much time passed. Later, I found out it was 45 minuites but it felt like hours. I eventually passed out and woke up an hour later, still feeling a bit nauseous but better. I drank some water and took an asprin to make my headache go away. I still had slight nausea for the rest of the night, but I wasn't burned at all. I made it okay.
But I'm never smoking weed from an Asian again.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


news body
News Link
Auto Green: Technology and Sustainability
"The future will depend on what we do in the present"
- Mahatma Gandhi


import time,sys, os
from .service import Service
import re
from ..utils.Utils import execute_shell_command
from manafa.utils.Logger import log
[docs]class LogService(Service):
"""Class that manages the device's log.
This class is responsible by cleaning the log before each execution of the framework, as well as dump the log
right after each execution.
Attributes:
boot_time (float): timestamp of the device's last boot.
output_res_folder (float): folder where the logs will be stored after each profiling session.
"""
def __init__(self, boot_time=0, output_res_folder="hunter"):
Service.__init__(self, output_res_folder)
self.trace = {}
self.boot_time = boot_time
self.end_time = boot_time
[docs] def config(self, **kwargs):
pass
[docs] def init(self, boot_time=0, **kwargs):
"""inits the class.
Args:
boot_time: device boot timestamp.
**kwargs:
"""
self.boot_time = boot_time
self.trace = {}
[docs] def start(self, run_id=None):
"""starts the profiling session.
Calls clean() to discard logs prior to the start of the session.
Args:
run_id(str): current session/run id. Considered only for API compat purposes.
"""
self.clean()
[docs] def get_results_filename(self, run_id):
"""returns the name of the output file.
Returns:
output_name: the name of the output file.
"""
if run_id is None:
run_id = execute_shell_command("date +%s")[1].strip()
return os.path.join(self.results_dir, "hunter-%s-%s.log" % (run_id, str(self.boot_time)))
[docs] def stop(self, run_id=None):
"""stops the profiling session.
Dump the logs in output file.
Returns:
filename: the name of the output file.
"""
filename = self.get_results_filename(run_id)
time.sleep(1)
execute_shell_command("adb logcat -d | grep -io \"[<>].*m=example.*]\" > %s" % filename)
return filename
[docs] def clean(self):
"""cleans device log state and removes files from previous runs.
"""
execute_shell_command("find %s -type f | xargs rm " % self.results_dir)
execute_shell_command("adb logcat -c") # or adb logcat -b all -c