Skip to content

Instantly share code, notes, and snippets.

// http://blog.niw.at/post/46781091124
% vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'precise32' could not be found. Attempting to find and install...
default: Box Provider: virtualbox
default: Box Version: >= 0
==> default: Adding box 'precise32' (v0) for provider: virtualbox
default: Downloading: http://files.vagrantup.com/precise32.box
==> default: Successfully added box 'precise32' (v0) for 'virtualbox'!
@mootoh
mootoh / jsx.sublime-build
Created March 13, 2014 02:39
Jump to errors in language-jsx file while building with make in Sublime Text 2
// put this in ~/Library/Application\ Support/Sublime\ Text\ 2/Packages/User
{
"cmd": ["make"],
"selector": "source.jsx",
"path": "/usr/local/bin:$PATH",
"working_dir": "${project_path:${folder:${file_path}}}",
"file_regex": "^\\[(.*\\.jsx):([0-9]+):().*\\] (.*)"
}
@mootoh
mootoh / build_error.log
Created July 28, 2013 21:10
build error in mozc@r163
INFO: Running: make -j2 MAKE_JOBS=2 BUILDTYPE=Debug_Android builddir_name=out_android apk
TOUCH out_android/Debug_Android/obj.target/android/assets_connection_data.stamp
TOUCH out_android/Debug_Android/obj.target/android/assets_dictionary.stamp
ACTION android_android_gyp_assets_touch_stat_data_target_assets_touch_stat_data android/dummy_touch_stat_data
TOUCH out_android/Debug_Android/obj.host/dictionary/gen_pos_matcher.stamp
TOUCH out_android/Debug_Android/obj.host/session/genproto_session.stamp
TOUCH out_android/Debug_Android/obj.host/data_manager/oss/gen_oss_embedded_data_light.stamp
ACTION android_android_gyp_gen_mozc_drawable_target_generate_pic_files android/dummy_gen_mozc_drawable_output
make: *** No rule to make target `third_party/findbug/jsr305-2.0.2.jar', needed by `android/libs/jsr305.jar'. Stop.
make: *** Waiting for unfinished jobs....
@mootoh
mootoh / mozc_quick_switch.diff
Created July 5, 2013 09:13
Patch for mozc, which switches over to other input method quickly.
Index: android/src/com/google/android/inputmethod/japanese/ViewEventListener.java
===================================================================
--- android/src/com/google/android/inputmethod/japanese/ViewEventListener.java (revision 158)
+++ android/src/com/google/android/inputmethod/japanese/ViewEventListener.java (working copy)
@@ -56,6 +56,8 @@
KeyboardSpecification keyboardSpecification,
List<? extends TouchEvent> touchEventList);
+ public void onSwitchInputMethodQuickly(String id);
+
@mootoh
mootoh / break_at_mac.md
Last active December 16, 2015 10:49
Break at obtaining MAC address on iOS device

There could be a risk for you apps to be rejected by Apple, by sending MAC address without users' permission. Even though your code is not doing that, the 3rd party libraries you integrated may do. However, there is no straightforward way to detect it.

Solution

Use conditional breakpoint in Xcode (LLDB).

  • Add Symbolic Breakpoint
  • Set sysctl as a symbol
  • Specify a condition like below (for device only. not for simulator)
@mootoh
mootoh / a.mm
Created April 11, 2013 18:43
Dict.
#import <Foundation/Foundation.h>
int main(int argc, char **argv)
{
NSDictionary *dict = @{@"a": @"A"};
NSString *param = [dict objectForKey:@"b"];
NSLog(@"param: %@", param);
if ([param isEqualToString:@""]) {
NSLog(@"setting value to empty string");
@mootoh
mootoh / xml_encode.js
Last active January 13, 2020 14:26
XML escape function in Javascript.
// original:
// - http://stackoverflow.com/questions/7918868/how-to-escape-xml-entities-in-javascript
// - http://stackoverflow.com/questions/1091945/where-can-i-get-a-list-of-the-xml-document-escape-characters
// - http://www.w3.org/TR/xml/#syntax
if (!String.prototype.encodeXML) {
String.prototype.encodeXML = function () {
return this.replace(/&/g, '&amp;')
.replace(/</g, '&lt;')
.replace(/>/g, '&gt;')
@mootoh
mootoh / mixed.m
Created January 21, 2013 21:29
Mixing lower/upper case properties confuses clang.
#import <Foundation/Foundation.h>
@interface A : NSObject
{
NSString *lowercaseString;
NSString *LowercaseString;
}
@property (strong) NSString *lowercaseString;
@property (strong) NSString *LowercaseString;
@mootoh
mootoh / case.cpp
Created January 21, 2013 21:21
Output from `clang -Wall -pedantic -Wextra -rewrite-objc -c case.m`
struct objc_selector; struct objc_class;
struct __rw_objc_super { struct objc_object *object; struct objc_object *superClass; };
#ifndef _REWRITER_typedef_Protocol
typedef struct objc_object Protocol;
#define _REWRITER_typedef_Protocol
#endif
#define __OBJC_RW_DLLIMPORT extern
__OBJC_RW_DLLIMPORT struct objc_object *objc_msgSend(struct objc_object *, struct objc_selector *, ...);
__OBJC_RW_DLLIMPORT struct objc_object *objc_msgSendSuper(struct objc_super *, struct objc_selector *, ...);
__OBJC_RW_DLLIMPORT struct objc_object* objc_msgSend_stret(struct objc_object *, struct objc_selector *, ...);
@mootoh
mootoh / case.m
Last active December 11, 2015 08:58
Setting Property is Case Insensitive in Objective-C
#import <Foundation/Foundation.h>
@interface A : NSObject
{
NSString *lowercaseString;
}
@property (strong) NSString *lowercaseString;
@end