Skip to content

Instantly share code, notes, and snippets.

View thomasdavis's full-sized avatar

Thomas Davis thomasdavis

View GitHub Profile
### Keybase proof
I hereby claim:
* I am thomasdavis on github.
* I am thomasdavis (https://keybase.io/thomasdavis) on keybase.
* I have a public key whose fingerprint is 0BF3 622D 9D47 DB82 7CDD E1A5 2811 E1C5 FF43 2089
To claim this, I am signing this object:

The introduction to Reactive Programming you've been missing

(by @andrestaltz)

So you're curious in learning this new thing called (Functional) Reactive Programming (FRP).

Learning it is hard, even harder by the lack of good material. When I started, I tried looking for tutorials. I found only a handful of practical guides, but they just scratched the surface and never tackled the challenge of building the whole architecture around it. Library documentations often don't help when you're trying to understand some function. I mean, honestly, look at this:

Rx.Observable.prototype.flatMapLatest(selector, [thisArg])

Projects each element of an observable sequence into a new sequence of observable sequences by incorporating the element's index and then transforms an observable sequence of observable sequences into an observable sequence producing values only from the most recent observable sequence.

{
"checks": {
"cron_check": {
"handlers": ["default"],
"command": "/etc/sensu/plugins/check-procs.rb -p crond -C 1 ",
"interval": 60,
"subscribers": [ "all" ]
},
"nginx_check": {
"handlers": ["default"],
Started POST "/api/v1/users" for 127.0.0.1 at 2014-11-27 12:28:56 +1000
ActiveRecord::SchemaMigration Load (0.3ms) SELECT "schema_migrations".* FROM "schema_migrations"
Processing by Api::V1::UsersController#create as JSON
Parameters: {"email"=>"asssssstffffffddffssffhoddsdmsaafddfsdaggf@fgmasail.com", "user"=>{"email"=>"asssssstffffffddffssffhoddsdmsaafddfsdaggf@fgmasail.com"}}
(0.2ms) begin transaction
User Exists (0.4ms) SELECT 1 AS one FROM "users" WHERE LOWER("users"."email") = LOWER('asssssstffffffddffssffhoddsdmsaafddfsdaggf@fgmasail.com') LIMIT 1
Binary data inserted for `string` type on column `ip_address`
SQL (0.6ms) INSERT INTO "users" ("created_at", "email", "ip_address", "lat", "lon", "updated_at") VALUES (?, ?, ?, ?, ?, ?) [["created_at", "2014-11-27 02:28:57.008474"], ["email", "asssssstffffffddffssffhoddsdmsaafddfsdaggf@fgmasail.com"], ["ip_address", "127.0.0.1"], ["lat", 0.0], ["lon", 0.0], ["updated_at", "2014-11-27 02:28:57.008474"]]
(4.3ms) commit transaction
Render
include AlgoliaSearch
algoliasearch do
# all attributes will be sent
attributesForFaceting [:part_name]
add_attribute :part_name do
Part.find(part_id).name
end
customRanking ['asc(part_name)', 'asc(name)']
include AlgoliaSearch
algoliasearch do
# all attributes will be sent
attributesForFaceting [:part_name]
add_attribute :part_name do
Part.find(part_id).name
end
customRanking ['asc(part_name)', 'asc(name)']
@thomasdavis
thomasdavis / edges.csv
Created January 22, 2016 01:52 — forked from futureperfect/edges.csv
Sample data for Gephi demonstration
Source Target Type Id Weight Average Degree
1 3 Undirected 1 1.0 1.0
2 10 Undirected 8 1.0 1.0
3 4 Undirected 2 1.0 1.0
4 5 Undirected 3 1.0 1.0
5 10 Undirected 4 1.0 1.0
8 2 Undirected 7 1.0 1.0
8 9 Undirected 11 1.0 1.0
10 1 Undirected 5 1.0 1.0
10 6 Undirected 10 1.0 1.0
// boot.js
require('babel-core/register');
require('coffee-script/register');
module.exports = require('./app');
// app.js
import from 'foo';
import from 'bar';
// foo.js
@thomasdavis
thomasdavis / company-ownership.md
Created July 6, 2016 00:21 — forked from jdmaturen/company-ownership.md
Who pays when startup employees keep their equity?

Who pays when startup employees keep their equity?

JD Maturen, 2016/07/05, San Francisco, CA

As has been much discussed, stock options as used today are not a practical or reliable way of compensating employees of fast growing startups. With an often high strike price, a large tax burden on execution due to AMT, and a 90 day execution window after leaving the company many share options are left unexecuted.

There have been a variety of proposed modifications to how equity is distributed to address these issues for individual employees. However, there hasn't been much discussion of how these modifications will change overall ownership dynamics of startups. In this post we'll dive into the situation as it stands today where there is very near 100% equity loss when employees leave companies pre-exit and then we'll look at what would happen if there were instead a 0% loss rate.

What we'll see is that employees gain nearly 3-fold, while both founders and investors – particularly early investors – get dilute

Keybase proof

I hereby claim:

  • I am thomasdavis on github.
  • I am thomasdavis (https://keybase.io/thomasdavis) on keybase.
  • I have a public key whose fingerprint is 85FF 9DAC 5D77 0454 B574 6F7D 1E8A BFB1 DF7C E9DE

To claim this, I am signing this object: