Skip to content

Instantly share code, notes, and snippets.

@andkerosine
andkerosine / raskell.rb
Created August 15, 2012 05:56
Haskell-like list comprehensions in Ruby
$stack, $draws = [], {}
def method_missing *args
return if args[0][/^to_/]
$stack << args.map { |a| a or $stack.pop }
$draws[$stack.pop(2)[0][0]] = args[1] if args[0] == :<
end
class Array
def +@
@mwanji
mwanji / tent_blog_proposal
Created October 5, 2012 09:27
Tent Blogging App Proposal
Two parts: Viewer and Publisher
Viewer
GET /posts of type Essay (https://tent.io/types/post/essay/v0.1.0)
Is notified when a new Essay is POSTed
Displays them as a blog
Publisher
(defmacro >> [& [first-expr & rest-exprs]]
(if (empty? rest-exprs)
first-expr
`(let [~'it ~first-expr]
(thread-it ~@rest-exprs))))
(>>
[jay john mike chris]
(filter (comp (partial = "new york") :current-city) it)
(group-by :employer it)
@elimisteve
elimisteve / goroutines2.go
Last active February 18, 2024 01:52
Programming Challenge: Launch 4 threads, goroutines, coroutines, or whatever your language uses for concurrency, in addition to the main thread. In the first 3, add numbers together (see sample code below) and pass the results to the 4th thread. That 4th thread should receive the 3 results, add the numbers together, format the results as a strin…
// Steve Phillips / elimisteve
// 2013.01.03
// Programming Challenge: Launch 4 threads, goroutines, coroutines, or whatever your language uses for concurrency,
// in addition to the main thread. In the first 3, add numbers together (see sample code below) and pass the results
// to the 4th thread. That 4th thread should receive the 3 results, add the numbers together, format the results as
// a string (see sample code), and pass the result back to `main` to be printed.
//
// Do this as succinctly and readably as possible. _Go!_ #golang #programming #concurrency #challenge
package main
@peterc
peterc / pi.rb
Created February 23, 2013 13:34
Calculating pi using the Monte Carlo method
r = 5
points_total = 0
points_inside = 0
loop do
points_total += 1
x, y = rand * r * 2 - r, rand * r * 2 - r
points_inside += 1 if (x ** 2 + y ** 2) < (r ** 2)
puts "#{points_inside}/#{points_total}: pi == #{4 * points_inside / points_total.to_f}" if points_total % 10000 == 0
@osuushi
osuushi / pi.js
Last active December 14, 2015 03:38 — forked from peterc/pi.js
var points_total = 0;
var points_inside = 0;
var x, y, i;
while(true) {
for(i = 0; i < 10000; i++) {
x = Math.random();
y = Math.random();
points_inside += 2 + ~(x*x + y*y);
}
points_total += i;
(defprotocol IOffset
(-offset [x]))
(extend-type js/Element
IOffset
(-offset [x]
[(.-offsetLeft x) (.-offsetTop x)]))
(defprotocol IScroll
(-scroll [x]))
@tef
tef / python_ruby.py.rb
Last active December 17, 2015 13:29
python/ruby quine. changes comment to indicate what it last ran as.
# Python or Ruby
l,p,q=(""and"# Ruby"+10 .chr or"# Python"+chr(10)),'l,p,q=(""and"# Ruby"+10 .chr or"# Python"+chr(10))','print((""and"#{print l;c=39.chr;puts p+44.chr+c+p+c+44.chr+c+q+c;puts q}"or"{}{},{!r},{!r}{}{}".format(l,p,p,q,chr(10),q)))'
print((""and"#{print l;c=39.chr;puts p+44.chr+c+p+c+44.chr+c+q+c;puts q}"or"{}{},{!r},{!r}{}{}".format(l,p,p,q,chr(10),q)))
@davidbalbert
davidbalbert / cps-map.js
Created December 11, 2013 21:43
Three implementations of `map` in continuation passing style.
(function () {
"use strict";
var first = function (arr, c) {
c(arr[0]);
};
var rest = function (arr, c) {
c(arr.slice(1));
};
@jvns
jvns / interview-questions.md
Last active March 5, 2024 19:03
A list of questions you could ask while interviewing

A lot of these are outright stolen from Edward O'Campo-Gooding's list of questions. I really like his list.

I'm having some trouble paring this down to a manageable list of questions -- I realistically want to know all of these things before starting to work at a company, but it's a lot to ask all at once. My current game plan is to pick 6 before an interview and ask those.

I'd love comments and suggestions about any of these.

I've found questions like "do you have smart people? Can I learn a lot at your company?" to be basically totally useless -- everybody will say "yeah, definitely!" and it's hard to learn anything from them. So I'm trying to make all of these questions pretty concrete -- if a team doesn't have an issue tracker, they don't have an issue tracker.

I'm also mostly not asking about principles, but the way things are -- not "do you think code review is important?", but "Does all code get reviewed?".