Skip to content

Instantly share code, notes, and snippets.

@nasitra
nasitra / unzip.js
Created December 25, 2015 09:26
Unzip .zip file in Windows
var argc = WScript.Arguments.Count();
if (argc !== 2) {
WScript.Echo('unzip.js [input file] [output folder]');
WScript.Quit(1);
}
var objShell = new ActiveXObject("shell.application");
var inputFileName = WScript.Arguments(0);
var outputFolderName = WScript.Arguments(1);
@nasitra
nasitra / xls2csv.js
Created December 25, 2015 09:24
Convert a Excel file to a CSV file in Windows
function error(message) {
excel.Quit();
excel = null;
WScript.Echo(message);
WScript.Quit(1);
}
var argc = WScript.Arguments.Count();
if (argc !== 2) {
WScript.Echo('xls2csv.js [source file] [target file]');
@nasitra
nasitra / play.vbs
Created December 25, 2015 09:21
Play a sound file in Windows Media Player
Set objParm = Wscript.Arguments
If objParm.Count < 1 Then
WScript.Echo "play.vbs [path]"
WScript.Quit
End If
Set wmp = WScript.CreateObject("WMPlayer.OCX")
Sub waitWMPlayerStop()
@nasitra
nasitra / jni_test.c
Created October 31, 2015 02:44
Shared buffer via JNI
struct data {
float a;
float b;
};
static jint com_example_test(JNIEnv *env, jobject thiz, jobject buffer) {
struct data* pbuf = (data *)env->GetDirectBufferAddress(buffer);
return 0;
}
@nasitra
nasitra / getprop.java
Created October 31, 2015 02:41
[android] getprop from Java
// ref: https://groups.google.com/forum/#!topic/android-developers/M-g3LqIY_xM
private String getProperty(String name, String defaultValue) {
ArrayList<String> processList = new ArrayList<String>();
String line;
Pattern pattern = Pattern.compile("\\[(.+)\\]: \\[(.+)\\]");
Matcher m;
try {
Process p = Runtime.getRuntime().exec("getprop");
@nasitra
nasitra / carray2slice.go
Created October 31, 2015 02:38
Convert 'C' array to golang slice
func carray2slice(array *C.int, len int) []C.int {
var list []C.int
sliceHeader := (*reflect.SliceHeader)((unsafe.Pointer(&list)))
sliceHeader.Cap = len
sliceHeader.Len = len
sliceHeader.Data = uintptr(unsafe.Pointer(array))
return list
}
@nasitra
nasitra / child.py
Created October 31, 2015 02:34
Interprocess communication of node.js and python
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import sys
sys.stdout.write("run\n")
sys.stdout.write(">> ")
for line in iter(sys.stdin.readline, ""):
@nasitra
nasitra / printk.c
Created October 31, 2015 02:26
Expand buffer size of kernel log
// kernel/kernel/printk.c
// before
#define __LOG_BUF_LEN (1 << CONFIG_LOG_BUF_SHIFT)
// after
#define __LOG_BUF_LEN (4 << CONFIG_LOG_BUF_SHIFT)
@nasitra
nasitra / printk.c
Created October 31, 2015 02:22
Add functions to change kernel log level dynamically
// kernel/kernel/printk.c
static int kmsg_level = 0;
void set_kmsg_lebel(int level)
{
kmsg_level = level;
}
void kmsg_write(const char *fmt, ...)
@nasitra
nasitra / gist:aa378d536888e20056ce
Last active July 23, 2020 09:05
Use member function for pthread and detach in C++
int T::method() {
return 0;
}
// static member function
void *T::threadStart(void *obj) {
int ret;
T *me = reinterpret_cast<T *>(obj);
ret = me->method();
return (void *)ret;