Skip to content

Instantly share code, notes, and snippets.

View zapnap's full-sized avatar

nap zapnap

View GitHub Profile
@zapnap
zapnap / crypto_trackers.md
Last active April 26, 2022 23:12
List of various cryptocurrency portfolio trackers and dashboards
Name Website Access Data Import (API/CSV) Trading Charts Login Required Transactions, P&L Coin Location **Tax Advisor ** Social Features Alerts Analysis Price Notes
Blockfolio http://blockfolio.com/ Mobile-only (Android, iOS) No Yes No* Yes Yes* No No No Free Desktop app "coming soon"
Delta https://getdelta.io/ Mac Desktop, iOS, Android No Yes No Yes Yes* No No Yes Free + Upgrade ($) Nice modern UI. Desktop app available as of March 2018
Lionshare https://lionshare.capital/ Mac Desktop & iOS No No No No No No No No Free, OSS
CryptoCompare http://cryptocompare.com/ Web App No? Yes Yes Yes Yes* No Yes No Free Portfolio is one part of a far larger community app
AltPocket h
Verifying my Blockstack ID is secured with the address 1LdX1QrtkNCKAuMp5ZUst1LZKQwQJDKcbg https://explorer.blockstack.org/address/1LdX1QrtkNCKAuMp5ZUst1LZKQwQJDKcbg
@zapnap
zapnap / keybase.md
Created July 24, 2014 18:36
keybase.md

Keybase proof

I hereby claim:

  • I am zapnap on github.
  • I am nap (https://keybase.io/nap) on keybase.
  • I have a public key whose fingerprint is F1CA FCB8 79B5 7AD7 6EB2 24E2 81F4 3ACE C5E1 C4E4

To claim this, I am signing this object:

@zapnap
zapnap / abstract_methods.rb
Created June 15, 2014 21:05
abstract base class mixin
module AbstractMethods
def self.included(base)
base.extend(ClassMethods)
end
module ClassMethods
def abstract_methods(*args)
args.each do |name|
class_eval(<<-END, __FILE__, __LINE__)
def #{name}(*args)
curl -XDELETE 'localhost:9200/test'
curl -XPUT 'localhost:9200/test/data/1' -d '
{
"numbers":[11,23,13,16,17,23.6]
},
'
@zapnap
zapnap / algolia_mongoid_batch_find.rb
Created February 11, 2014 21:59
More efficient find_in_batches for Algolia + Mongoid
module AlgoliaMongoidBatchFind
# more efficient than the built-in adapter for bulk reindexing (mongoid adapter)
def algolia_find_in_batches(options={}, &block)
options[:batch_size] ||= 100
offset = 0
offset.step(Product.count, options[:batch_size]) do |offset|
yield Product.limit(options[:batch_size]).skip(offset).to_a
end
end
end
#= require application
#= require angular-mocks
#= require sinon
#= require jasmine-sinon
beforeEach(module('AngularApp'))
beforeEach inject (_$httpBackend_, _$compile_, $rootScope, $controller, $location, $injector, $timeout) ->
@scope = $rootScope.$new()
@http = _$httpBackend_
#= require spec_helper
describe 'TasksController', ->
beforeEach ->
@controller('TasksController', { $scope: @scope })
@Task = @model('Task')
@tasks = [new @Task({ id: 1, name: 'first task' })]
@http.whenGET('/api/tasks').respond(200, @tasks)
@http.flush()
function colorToHex(color) {
if (color.substr(0, 1) === '#') {
return color;
}
var digits = /(.*?)rgb\((\d+), (\d+), (\d+)\)/.exec(color);
var red = parseInt(digits[2]);
var green = parseInt(digits[3]);
var blue = parseInt(digits[4]);
@zapnap
zapnap / ses-send-email.pl
Created May 4, 2012 18:01
SES send email script (read_message fixed to strip bad headers)
#!/usr/bin/perl -w
# Copyright 2010 Amazon.com, Inc. or its affiliates. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"). You may not
# use this file except in compliance with the License. A copy of the License
# is located at
#
# http://aws.amazon.com/apache2.0/
#