Skip to content

Instantly share code, notes, and snippets.

View philsong's full-sized avatar

S. philsong

View GitHub Profile
@philsong
philsong / Makefile
Created November 15, 2013 13:42 — forked from border/Makefile
include $(GOROOT)/src/Make.inc
GOFMT=gofmt -spaces=true -tabindent=false -tabwidth=4
all:
$(GC) jsontest.go
$(LD) -o jsontest.out jsontest.$O
format:
$(GOFMT) -w jsontest.go
@philsong
philsong / main.go
Created November 15, 2013 15:43 — forked from icub3d/main.go
package main
import (
"bufio"
"bytes"
"flag"
"fmt"
"github.com/golang/groupcache"
"io"
"net"
package main
import (
"bytes"
"fmt"
"github.com/golang/groupcache"
"image"
_ "image/gif"
_ "image/jpeg"
"image/png"
package main
import (
"log"
"github.com/piotrnar/gocoin/blockdb"
"github.com/piotrnar/gocoin/btc"
"encoding/hex"
)
func main() {
// Set real Bitcoin network
@philsong
philsong / Dockerfile
Last active August 29, 2015 14:28 — forked from andychase/Dockerfile
Faking XT Nodes for fun
# Use the Ubuntu Linux distro as the base for this image
FROM ubuntu
# Install necessary build tools
RUN apt-get update && apt-get upgrade --yes && apt-get install build-essential clang git --yes
# Download and install PseudoNode
RUN cd /root && git clone https://github.com/basil00/PseudoNode.git && cd ./PseudoNode && make
# These two commands enable port 8333 to be routed and start the node by default
EXPOSE 8333
CMD ["bash", "-c", "cd /root/PseudoNode && ./pseudonode --stealth --coin=bitcoin-xt"]
@philsong
philsong / pg_change_schema_owner.sh
Created October 10, 2015 01:51 — forked from bspkrs/pg_change_schema_owner.sh
Changes the owner on all tables, sequences, views, and functions in a PostgreSQL database with support for identifiers with whitespace and non-public schemas.
#!/bin/bash
usage()
{
cat << EOF
usage: $0 options
This script sets ownership for all tables, sequences, views, and functions for a given schema.
Run this script as your postgres OS user.
@philsong
philsong / RealPathUtil.java
Created October 26, 2016 02:47 — forked from tatocaster/RealPathUtil.java
Real Path Utility class for Android, works for all API
public class RealPathUtil {
public static String getRealPath(Context context, Uri fileUri) {
String realPath;
// SDK < API11
if (Build.VERSION.SDK_INT < 11) {
realPath = RealPathUtil.getRealPathFromURI_BelowAPI11(context, fileUri);
}
// SDK >= 11 && SDK < 19
else if (Build.VERSION.SDK_INT < 19) {
@philsong
philsong / PermissionUtils.java
Created October 26, 2016 02:47 — forked from tatocaster/PermissionUtils.java
Utility class for access to runtime permissions.
/**
* Utility class for access to runtime permissions.
*/
public abstract class PermissionUtils {
/**
* Requests the fine location permission. If a rationale with an additional explanation should
* be shown to the user, displays a dialog that triggers the request.
*/
public static void requestPermission(AppCompatActivity activity, int requestId,
@philsong
philsong / RxBus.java
Created October 26, 2016 02:47 — forked from tatocaster/RxBus.java
RxBus singleton
public class RxBus {
private static RxBus instance = null;
private final Subject<Object, Object> _bus = new SerializedSubject<>(PublishSubject.create());
private static RxBus getInstance() {
if (instance == null) {
instance = new RxBus();
}
return instance;
}
@philsong
philsong / bellman.py
Created February 6, 2021 07:33 — forked from joninvski/bellman.py
Bellman ford python implementation
import pdb
"""
The Bellman-Ford algorithm
Graph API:
iter(graph) gives all nodes
iter(graph[u]) gives neighbours of u
graph[u][v] gives weight of edge (u, v)
"""