Skip to content

Instantly share code, notes, and snippets.

John Tantalo tantalor

Block or report user

Report or block tantalor

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@tantalor
tantalor / merge.py
Created May 5, 2014
Merge Algorithm
View merge.py
def merge(streams):
# Keep track of the least value in each stream.
head = [stream.next() for stream in streams]
while len(head):
# Yield the least value of all streams.
next = min(head)
yield next
index = head.index(next)
try:
# Get next value from that stream.
@tantalor
tantalor / newcomments.pl
Created Nov 8, 2013
A perl script which outputs the usernames for new comments on Hacker News, preceded by the date.
View newcomments.pl
#!/usr/bin/perl
my $url = "https://news.ycombinator.com/newcomments";
sub html {
`curl get $url 2>/dev/null`;
}
printf "# %s", `date`;
@tantalor
tantalor / reservoir.py
Created Jul 2, 2013
Testing whether reservoir sampling works when you sample the RNG only once. reservoir1: Samples RNG once per stream element. reservoir2: Samples the RNG once per stream.
View reservoir.py
from random import random as rand
def reservoir1(stream):
i = 1
choice = None
for value in stream:
if rand() * i < 1:
choice = value
i = i + 1
return choice
@tantalor
tantalor / catalan.py
Created Jun 3, 2012
linear algorithm to generate catalan numbers
View catalan.py
def catalan():
"""Yields catalan numbers: 1 1 2 5 14 42 132..."""
n = 0
c = 1
while 1:
yield c
n = n+1
c = c * 2 * (2*n-1) / (n+1)
# print the first ten catalan numbers
@tantalor
tantalor / graph.js
Created Apr 26, 2012
liquidGraph minimal no-solution
View graph.js
{"polys":[{"fillColor":"110-hsb(0.1820702975615859,0.7,1)-hsb(0.38207029756158595,0.9,1)","vertices":[{"x":0.0380517503805175,"y":0.25799086757990863},{"x":0.11643835616438353,"y":0.25722983257229837},{"x":0.13318112633181123,"y":0.21232876712328766},{"x":0.1582952815829528,"y":0.27853881278538817},{"x":0,"y":0.2808219178082192},{"x":0.1537290715372907,"y":0},{"x":0.33409436834094364,"y":0.2808219178082192},{"x":0.1811263318112633,"y":0.27929984779299843},{"x":0.20319634703196343,"y":0.21232876712328766},{"x":0.2161339421613394,"y":0.25494672754946723},{"x":0.29147640791476404,"y":0.258751902587519},{"x":0.1552511415525114,"y":0.04033485540334855}]}],"particles":[]}
@tantalor
tantalor / original.js
Created Apr 3, 2012
Mozilla Notification API
View original.js
var notification = navigator.mozNotification;
if (notification && notification.requestRemotePermission) {
// Ask the user to allow notifications.
var request = notification.requestRemotePermission();
request.onsuccess = function() {
var url = request.result;
console.log('New push URL: ' + url);
// We got a new push URL, store it on the server.
jQuery.post('/push-urls/', {url: url});
};
@tantalor
tantalor / gist:2244383
Created Mar 29, 2012 — forked from jedsundwall/gist:2244379
hacking google spreadhseets
View gist:2244383
function makeURL(firstname,lastname) {
var name = firstname + lastname;
if (!name) {
return null;
} else {
return name;
}
}
View moon.html
<body style="background: black">
<a href="http://inamidst.com/stuff/notes/csspx">
<img src="http://upload.wikimedia.org/wikipedia/en/thumb/c/c9/Moon_nearside_LRO.jpg/170px-Moon_nearside_LRO.jpg" style="width:24.3px;height:24.3px">
</a>
View ssh.py
import thor
thor.ssh()
@tantalor
tantalor / Custom.css
Created Jan 18, 2012
Wikipedia Blackout Blocker
View Custom.css
#mw-page-base, #mw-head-base, #content,
#mw-head, #mw-panel, #footer {
display: block !important;
}
#mw-sopaOverlay {
display: none !important;
}
You can’t perform that action at this time.