Skip to content

Instantly share code, notes, and snippets.

Keybase proof

I hereby claim:

  • I am abyrd on github.
  • I am abyrd (https://keybase.io/abyrd) on keybase.
  • I have a public key ASB0W_UgM4aBW9imJSn81xpdjPNLBCfej9WzV7W_8qAemwo

To claim this, I am signing this object:

Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@abyrd
abyrd / ORMLitePersistence.java
Created September 5, 2017 16:47
An example of basic ORMLite persistence of Java objects with Postgres
package com.conveyal.datatools.manager.persistence;
import com.j256.ormlite.dao.Dao;
import com.j256.ormlite.dao.DaoManager;
import com.j256.ormlite.field.DatabaseField;
import com.j256.ormlite.jdbc.DataSourceConnectionSource;
import com.j256.ormlite.table.DatabaseTable;
import com.j256.ormlite.table.TableUtils;
import org.apache.commons.dbcp2.ConnectionFactory;
import org.apache.commons.dbcp2.DriverManagerConnectionFactory;
package com.conveyal.datatools.manager.persistence;
import com.mongodb.MongoClient;
import com.mongodb.MongoClientOptions;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
import org.bson.codecs.configuration.CodecRegistry;
import org.bson.codecs.pojo.PojoCodecProvider;
import org.bson.types.ObjectId;
@abyrd
abyrd / MorphiaMain.java
Created September 2, 2017 12:28
Example code for serializing and deserializing plain Java objects into MongoDB with Morphia
package com.conveyal.datatools.common.persistence;
import com.conveyal.datatools.manager.DataManager;
import com.conveyal.datatools.manager.models.FeedSource;
import com.conveyal.datatools.manager.models.Project;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.MongoClient;
import com.mongodb.MongoClientOptions;
#!/usr/bin/env python
# Helps create Gradle dependency lists by processing output of:
# mvn dependency:list -DexcludeTransitive=true | cut -c11- > deps.txt
# Note: Install gradle manually, the package is broken on Ubuntu.
with open("deps.txt") as f:
deps = []
for line in f.readlines() :
fields = [x.strip() for x in line.split(':')]
@abyrd
abyrd / JettyServer.java
Created May 15, 2013 06:56
Embedded Jetty Server for OTP
package org.opentripplanner.api.servlet;
import org.eclipse.jetty.server.Connector;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.bio.SocketConnector;
import org.eclipse.jetty.webapp.WebAppContext;
import org.eclipse.jetty.webapp.WebInfConfiguration;
import org.eclipse.jetty.webapp.WebXmlConfiguration;
public class JettyServer {
@abyrd
abyrd / gist:1486806
Created December 16, 2011 16:45
three-case epsilon dominance
private boolean eDominates(State s0, State s1) {
final double EPSILON1 = 0.05;
final double EPSILON2 = 0.25;
if (s0.similarTripSeq(s1)) {
return s0.getWeight() <= s1.getWeight() * (1 + EPSILON1) &&
s0.getElapsedTime() <= s1.getElapsedTime() * (1 + EPSILON1) &&
s0.getWalkDistance() <= s1.getWalkDistance() * (1 + EPSILON1) &&
s0.getNumBoardings() <= s1.getNumBoardings();
} else if (s0.getTripId() != null && s0.getTripId() == s1.getTripId()) {
return s0.getNumBoardings() < s1.getNumBoardings() &&
@abyrd
abyrd / test_in_place_2.py
Created August 12, 2009 17:24
Tests / demonstrates calculation of an SPT without making a new Graph
from graphserver.core import *
from graphserver.graphdb import GraphDatabase
import time
import random
gdb = GraphDatabase('trimet_13sep2009.linked.gsdb')
g = gdb.incarnate()
t0 = 1253730000
time.ctime(t0)
@abyrd
abyrd / basic_pygs_test1.py
Created August 11, 2009 23:50
Checking basic Graphserver functions
# Incarnate the graph database created earlier
# with the graph compiler tools
from graphserver.core import Graph, State, Link
from graphserver.graphdb import GraphDatabase
gdb = GraphDatabase('trimet_13sep2009.linked.gsdb')
g = gdb.incarnate()
# Board-alight graphs contain many vertices which do not
# correspond to stations – print a list of only the stations
# Is there a better way to do this?