Skip to content

Instantly share code, notes, and snippets.

@philsong
philsong / bellman.py
Created Feb 6, 2021 — forked from joninvski/bellman.py
Bellman ford python implementation
View bellman.py
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)
"""
@philsong
philsong / 0x5DE45A7985ae5828f153b635B872655222FdB9eC
Created Oct 20, 2017
0x5DE45A7985ae5828f153b635B872655222FdB9eC
View 0x5DE45A7985ae5828f153b635B872655222FdB9eC
0x5DE45A7985ae5828f153b635B872655222FdB9eC
@philsong
philsong / RxBus.java
Created Oct 26, 2016 — forked from tatocaster/RxBus.java
RxBus singleton
View RxBus.java
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 / PermissionUtils.java
Created Oct 26, 2016 — forked from tatocaster/PermissionUtils.java
Utility class for access to runtime permissions.
View PermissionUtils.java
/**
* 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 / RealPathUtil.java
Created Oct 26, 2016 — forked from tatocaster/RealPathUtil.java
Real Path Utility class for Android, works for all API
View RealPathUtil.java
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 / pg_change_schema_owner.sh
Created Oct 10, 2015 — 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.
View pg_change_schema_owner.sh
#!/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 / Dockerfile
Last active Aug 29, 2015 — forked from andychase/Dockerfile
Faking XT Nodes for fun
View Dockerfile
# 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 / genNonce.cpp
Last active Aug 29, 2015
计算符合pow要求的最小值
View genNonce.cpp
CBlock block;
block.nNonce = 2084731820;
block.vtx.push_back(txNew);
block.hashPrevBlock = 0;
block.hashMerkleRoot = block.BuildMerkleTree();
block.nVersion = 1;
block.nTime = 1409745976;
block.nBits = 0x1e0ffff0;
#if 1
View blockchain_parser.go
package main
import (
"log"
"github.com/piotrnar/gocoin/blockdb"
"github.com/piotrnar/gocoin/btc"
"encoding/hex"
)
func main() {
// Set real Bitcoin network
View webserver.go
package main
import (
"bytes"
"fmt"
"github.com/golang/groupcache"
"image"
_ "image/gif"
_ "image/jpeg"
"image/png"