Skip to content

Instantly share code, notes, and snippets.

@cleishm
cleishm / income_vs_expenditure.cyp
Last active August 29, 2015 13:56
Import Data from City of Oakland Financial Disclosures
MATCH (f:Candidate)
MATCH (f)<-[n:CONTRIBUTED_TO]-()
WITH f, sum(n.amount) AS received WHERE received > 0
MATCH (f)-[n:PAYED]->()
WITH f, received, sum(n.amount) AS spent
RETURN f.name AS candidate, spent, received
@cleishm
cleishm / neoites_wanting_atom.cyp
Last active August 29, 2015 13:56
Neoites who'd like Atom Editor invites
= Neoites who'd like Atom Editor invites
:neo4j-version: 2.0.0
:author: Chris Leishman
:twitter: @cleishm
//setup
//hide
[source,cypher]
----
### Keybase proof
I hereby claim:
* I am cleishm on github.
* I am cleishm (https://keybase.io/cleishm) on keybase.
* I have a public key whose fingerprint is 80F6 D6B0 D90C 6747 7533 44CA B5A9 E81B 565E 89E0
To claim this, I am signing this object:
@cleishm
cleishm / gowalla.spots.xml
Created November 23, 2010 13:30
Extended version of gowalla.spots.xml for YQL that handles queries
<?xml version="1.0" encoding="UTF-8"?>
<table xmlns="http://query.yahooapis.com/v1/schema/table.xsd">
<meta>
<author>Zach Graves (zachg@yahoo-inc.com)</author>
<description>Gowalla API</description>
<documentationURL>http://gowalla.com/api/explorer#/spots/18568</documentationURL>
<documentationURL>http://gowalla.com/api/explorer#/spots?lat=30.2697&amp;lng=-97.7494&amp;radius=50</documentationURL>
<sampleQuery>select * from {table} where id=18568 and api_key='fa574894bddc43aa96c556eb457b4009';</sampleQuery>
<sampleQuery>select * from {table} where lat='30.2697' and lng='-97.7494' and radius='50' and api_key='fa574894bddc43aa96c556eb457b4009';</sampleQuery>
</meta>
@cleishm
cleishm / gist:1231545
Created September 21, 2011 08:18
Assigning an array of tags or a comma separated list of tags (or a combination)
def tags=(tags)
@tags = [ tags ].flatten.flat_map {|k| k.split(',')}.map(&:strip).uniq
end
@cleishm
cleishm / RandomDB.java
Created March 2, 2012 01:54
Create a huge neo4j dataset
import org.neo4j.kernel.impl.batchinsert.*;
import org.neo4j.graphdb.*;
import java.util.*;
class RandomDB {
public static void main(final String args[]) {
final Map<String, String> params = new HashMap<String,String>();
params.put("neostore.nodestore.db.mapped_memory", "1024M");
params.put("neostore.relationshipstore.db.mapped_memory", "2048M");
@cleishm
cleishm / gist:2123604
Created March 19, 2012 18:44
Format a time to H:MM:SS.mmm
function formatTime(time) {
var hours = Math.floor(time / 3600000);
var min = Math.floor(((time % 3600000) / 60000));
var sec = Math.floor(((time % 60000) / 1000));
var msec = time % 1000;
if (hours < 10)
hours = '0' + hours;
if (min < 10)
min = '0' + min;
if (sec < 10)
@cleishm
cleishm / gist:2973636
Created June 22, 2012 15:51
Generate timestamped signature
#!/usr/bin/env ruby
require 'digest/md5'
require 'base64'
if ARGV.length != 1
$stderr.puts "usage: #{$0} secret"
exit 1
end
timestamp = Time.now.to_i
= Product Catalog
Aravind R. Yarram <yaravind@gmail.com>
v1.0, 17-Sep-2013
== Domain
A product catalog is a collection of products, their categories, manufacturers with their pricing information. Products can be sold separately, included in one or more catalogs or used as substitute products
You can perform the following operations on a product:
Create, Update, Delete (Not recommended, deactivate instead), Deactivate (We should deactivate products that are no longer available instead of deleting them, because they are included in past orders, quotes, or opportunities.), Search etc.