Skip to content

Instantly share code, notes, and snippets.

View b22n's full-sized avatar

KyoBin Shin b22n

  • Seoul, Republic of Korea
View GitHub Profile
@b22n
b22n / AsyncQueryHandler.java
Created July 9, 2013 02:29
android.content.AsyncQueryHandler doesn't support the bulk insertion. I added a startBulkInsert method and onBulkInsertComplete callback pair.
package net.b22n.android.database;
import java.lang.ref.WeakReference;
import android.annotation.SuppressLint;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.database.Cursor;
import android.net.Uri;
import android.os.Handler;
@b22n
b22n / gist:304b01cdd113324a0f0d
Last active August 29, 2015 14:21
validate a youtube link and extract the video id
public static boolean isYoutubeLink(String link) {
link = link.trim();
if (TextUtils.isEmpty(link)) return false;
String pattern = "(http(?:s?):\\/\\/)?((?:www|m)(\\.))?youtu(?:be\\.com\\/watch\\?v=|\\.be\\/)([\\w\\-\\_]*)(&(amp;)?\u200C​[\\w\\?\u200C​=]*)?";
return link.matches(pattern);
}
public static String extractYoutubeVideoId(String link) {
link = link.trim();
if (isYoutubeLink(link)) {
@b22n
b22n / gist:2dcf36c2f26860323bf2
Last active February 13, 2017 04:29
SQL Function: Distance in meters between two Geo Points
CREATE FUNCTION `GEO_DISTANCE`(point1 POINT, point2 POINT) RETURNS NUMERIC
RETURN 6371000 * acos(
cos(radians(X(point2)))
* cos(radians(X(point1)))
* cos(radians(Y(point1)) - radians(Y(point2)))
+ sin(radians(X(point2)))
* sin(radians(X(point1)))
);
@b22n
b22n / gist:8a463dc7436bc3a866bb
Last active February 13, 2017 04:30
SQL Function: Distance in kilo meters between two Geo Points
CREATE FUNCTION `GEO_DISTANCE_KM`(point1 POINT, point2 POINT) RETURNS NUMERIC
RETURN 6371 * acos(
cos(radians(X(point2)))
* cos(radians(X(point1)))
* cos(radians(Y(point1)) - radians(Y(point2)))
+ sin(radians(X(point2)))
* sin(radians(X(point1)))
);
@b22n
b22n / remove-git-tags
Last active April 12, 2018 05:10
shell script for git tags batch deletion
#!/bin/bash
for i in $( git tag | grep $1 ); do
git tag -d $i
git push origin :refs/tags/$i
done