Skip to content

Instantly share code, notes, and snippets.

@zh012
zh012 / ironpython_launch_browser.py
Created March 18, 2017 14:50
ironpython launch browser
import System
import Microsoft
import Microsoft.Win32.Registry as Registry
from System.Threading import Thread, ThreadStart
def get_default_browser():
try:
key = Registry.ClassesRoot.OpenSubKey("HTTP\shell\open\command", False)
browser = key.GetValue(None).ToString().ToLower()
if browser.startswith('"'):
@zh012
zh012 / scala_validator.scala
Created October 24, 2016 19:59
scala validator
package util.validate
import scala.util.{Failure, Success, Try}
object `package` {
class ValidationError(val msg: String) extends Exception(msg)
case object InvalidType extends ValidationError("invalid type")
def typeChecker[T: Manifest](v: Any): Try[Any] = v match {
case v: T => Success(v)
@zh012
zh012 / liferay.md
Last active July 1, 2016 14:45
start liferay development

Setup dev environment

Make sure Java (>= 6) is installed

Install jpm4j

curl -sL https://github.com/jpm4j/jpm4j.installers/raw/master/dist/biz.aQute.jpm.run.jar > jpm4j.jar
@zh012
zh012 / anaconda.md
Last active March 3, 2016 20:20
anaconda

Install psycopg2

link libs

  ln -s /Users/YOURUSERNAME/anaconda/lib/libssl.1.0.0.dylib /usr/local/lib
  ln -s /Users/YOURUSERNAME/anaconda/lib/libcrypto.1.0.0.dylib /usr/local/lib

or probably better (safer) with

@zh012
zh012 / postgis_geofencing.md
Last active February 23, 2016 16:05
geo fencing

Install postgis first if you do not have it yet. brew install postgis

Check if the db has created postgis extension

select * from pg_extension;

Create postgis extension

create extension if not exists postgis;
@zh012
zh012 / sqlite_dataset.py
Created February 17, 2016 14:22
Json dataset via sqlite3
import sqlite3
########################################
# simple json dataset via sqlite3
########################################
class StatusDataset(object):
def __init__(self, db, name, create=True):
self._db = db
self._name = name
@zh012
zh012 / python_tips.md
Last active September 25, 2015 16:35

split search string

import re
[and_group.split() for and_group in re.split(r'[ ]*,[, ]*', key_words.strip(', ')) if and_group]
@zh012
zh012 / flask_url_for_blueprint.md
Last active September 10, 2015 16:11
flask url_for with a blueprint mounted multiple times

A way to work around this issue in flask.

class BlueFactory(object):
    _seq = 0

    def __init__(self, name, *args, **kwargs):
        self.base_name = name
        self.bp_args = args
        self.bp_kwargs = kwargs
@zh012
zh012 / gis_commands.md
Last active September 21, 2015 13:31
Gis commands

install gdal with postgres support

brew install gdal --with-postgresql

shape file to postgis

shp2pgsql -c -D -s 4269 -i -W LATIN1 -I xxxx.shp > xxxx.sql
@zh012
zh012 / mac_tricks.md
Last active September 28, 2015 13:14
mac tricks

Remove Java from mac

sudo rm -rf  /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk
sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane
sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin

Install Java with homebrew