Skip to content

Instantly share code, notes, and snippets.

View lxcid's full-sized avatar

Stan Chang lxcid

View GitHub Profile
@lxcid
lxcid / Data.swift
Last active August 2, 2016 01:11
DataBuffer + DataPipe
//
// DataBuffer.swift
// WebSocket
//
// Created by Stan Chang Khin Boon on 30/7/16.
// Copyright © 2016 Trifia. All rights reserved.
//
/// DataBuffer uses a serial dispatch queue to manage its in and out operations asynchornously.
/// The use of dispatch queue ensure that in/out operations are thread safe.
@lxcid
lxcid / google-toolbox-for-mac.podspec
Last active December 22, 2015 02:27
A custom CocoaPods Spec for google-toolbox-for-mac
Pod::Spec.new do |s|
s.name = "google-toolbox-for-mac"
s.version = "2.0.0.0.1"
s.summary = "Mirror of http://google-toolbox-for-mac.googlecode.com"
s.description = <<-DESC
A collection of source from different Google projects that may be
of use to developers working other Mac projects.
DESC
// LXTouchGestureRecognizer.h
//
// Copyright (c) 2015 Stan Chang Khin Boon (http://lxcid.com)
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
@lxcid
lxcid / AviarySDK-4.2.0.podspec
Last active August 29, 2015 14:04
AviarySDK 4.2.0 Pod Specs.
Pod::Spec.new do |s|
s.name = 'AviarySDK'
s.version = '4.2.0'
s.summary = "Aviary's photo editing SDK for iOS."
s.homepage = 'http://developers.aviary.com/docs/ios'
s.license = {
:type => 'Commercial',
:text => <<-LICENSE
Copyright (c) 2014 Aviary, Inc. All rights reserved.
LICENSE
@lxcid
lxcid / test_with_uiautomation.sh
Created April 27, 2013 13:11
Xcode's Build Phases' Run Script: Test with UIAutomation.
sudo dscl . append /Groups/_developer GroupMembership $USER
sudo DevToolsSecurity -enable
sudo -S su $USER -l -c "instruments -t /Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/PlugIns/AutomationInstrument.bundle/Contents/Resources/Automation.tracetemplate \"$BUILT_PRODUCTS_DIR/$PRODUCT_NAME.$WRAPPER_EXTENSION\" -e UIASCRIPT \"$PROJECT_DIR/UIAutomations/uia_tap_on_unit_conversion.js\" -e UIARESULTSPATH \"$PROJECT_DIR/logs/\""
@lxcid
lxcid / test_with_ios-sim.sh
Created April 27, 2013 13:02
Xcode's Build Phases' Run Script: Test with ios-sim.
if [ "$RUN_UNIT_TEST_WITH_IOS_SIM" = "YES" ]; then
test_bundle_path="$BUILT_PRODUCTS_DIR/$PRODUCT_NAME.$WRAPPER_EXTENSION"
ios-sim launch "$(dirname "$TEST_HOST")" --setenv DYLD_INSERT_LIBRARIES=/../../Library/PrivateFrameworks/IDEBundleInjection.framework/IDEBundleInjection --setenv XCInjectBundle="$test_bundle_path" --setenv XCInjectBundleInto="$TEST_HOST" --args -SenTest All "$test_bundle_path" 2> log.txt
echo "Finished running tests with ios-sim"
failure=$(grep -q "with 0 failures" log.txt; echo $?)
if [ $failure != 0 ]; then
printf "\n"
grep --color=always "error:" log.txt
fi
rm log.txt
- (void)modifySelectedString: (NSDictionary *)theAttribute {
NSString *mainString = [self.mainStringLabel.attributedText string];
NSString *queryString = [self selectStringFromMainStringLabelViaStepper];
NSRange selectedStringRange = NSMakeRange(0, mainString.length);
while (selectedStringRange.location != NSNotFound) {
NSRange selectedStringRange = [mainString rangeOfString:queryString options:0 range:selectedStringRange];
if (selectedStringRange.location != NSNotFound) {
[self addAttributeWithRangeToSelectedString:theAttribute range:selectedStringRange];
@lxcid
lxcid / deploy.rb
Created January 18, 2013 15:54
Replaces deploy:assets:precompile task to do assets precompilation locally.
# Base on http://stackoverflow.com/a/12839484/379604 and https://github.com/capistrano/capistrano/blob/master/lib/capistrano/recipes/deploy/assets.rb
namespace :deploy do
namespace :assets do
desc <<-DESC
Run the asset precompilation rake task locally. You can specify the \
full path to the rake executable by setting the rake variable. You \
can also specify additional environment variables to pass to rake via \
the asset_env variable. The defaults are:
set :rake, "rake"
# Copyright (c) 2013 Stan Chang Khin Boon (http://lxcid.com/)
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
@lxcid
lxcid / receipt.json
Created December 27, 2012 03:42
Sample Sandbox In-App Purchase Receipt that is expired.
{
"status": 21006,
"receipt": {
"original_purchase_date_ms": "1335927991000",
"original_purchase_date_pst": "2012-05-01 20:06:31 America\/Los_Angeles",
"transaction_id": "1000000060958597",
"quantity": "1",
"bid": "kh.com.ctn.plus",
"original_transaction_id": "1000000046496076",
"unique_vendor_identifier": "1E8A3A6A-F455-4020-8194-7BC14991A00A",