Skip to content

Instantly share code, notes, and snippets.

Michael Shapiro koudelka

Block or report user

Report or block koudelka

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
@koudelka
koudelka / gist:f4d07b9d998d723e55a0
Created Jun 6, 2014
Possible http status codes module for Elixir Phoenix Web Framework
View gist:f4d07b9d998d723e55a0
#
# Would this be useful to Phoenix?
#
# In controllers, it'd be nice to be able to refer to status codes as atoms instead of integers.
#
defmodule Phoenix.Controller.StatusCodes do
@http_status_codes %{
@koudelka
koudelka / type_bully.exs
Created Mar 12, 2016
TypeBully is an (incomplete) toy module to force Elixir functions to respect their typespecs.
View type_bully.exs
#
# TypeBully forces functions to respect their typespecs by rewriting the function clauses to include proper guards.
#
# For example, the Wimp module below: cry/3 has typespecs, but no enforcing guards, normally, calling cry/3 would
# always match the first function clause, but TypeBully forces it to select the correct one based on its typespec.
#
#
# Without TypeBully:
#
# iex(1)> Wimp.cry("whaa")
@koudelka
koudelka / gist:5529764
Created May 7, 2013
Why doesn't my FANN work? :(
View gist:5529764
require 'ruby-fann'
input_data = (0..20000).collect do |i|
[i * 0.0001]
end
output_data = input_data.collect do |i|
[Math.sin(i.first)]
end
@koudelka
koudelka / gist:4322700
Created Dec 17, 2012
Deletes all Facebook friend requests, execute on https://www.facebook.com/friends/requests
View gist:4322700
var x = document.evaluate('//input[@value="Delete Request"]', document.documentElement, null, XPathResult.ANY_TYPE, null);
// gotta build an array of the elements, iterators throw exceptions if you modify the DOM from under them
var elements = [];
var thisNode = x.iterateNext();
while (thisNode) {
elements.push(thisNode);
thisNode = x.iterateNext();
}
@koudelka
koudelka / lookup.ex
Created Oct 2, 2015
Elixir Set Lookup
View lookup.ex
defmodule Lookup do
@wordfile "words.txt"
@external_resource @wordfile
@times 1_000_000
@words @wordfile |> File.stream! |> Enum.map(&String.strip/1)
@hash_set Enum.into(@words, HashSet.new)
@map_set Enum.into(@words, MapSet.new)
@koudelka
koudelka / patch-src__retr.c.diff
Created Feb 4, 2012
Patches wget to make the --convert-links option also rewrite the provided --input-file
View patch-src__retr.c.diff
--- retr.c.orig 2011-08-30 08:47:33.000000000 -0500
+++ retr.c 2012-02-04 13:01:29.000000000 -0600
@@ -944,6 +944,13 @@
set_uri_encoding (iri, opt.locale, true);
set_content_encoding (iri, opt.locale);
+ int input_url_len = strlen(opt.base_href) + strlen(file) + 1;
+ char *input_url = (char *)calloc(input_url_len, sizeof(char));
+ strcat(input_url, opt.base_href);
+ strcat(input_url, file);
View MacRubyCustomRubyCommand.diff
--- a/src/configure.in
+++ b/src/configure.in
@@ -993,11 +993,17 @@ AC_ARG_ENABLE(rubyinterp,
AC_MSG_RESULT($enable_rubyinterp)
if test "$enable_rubyinterp" = "yes"; then
AC_MSG_CHECKING(--with-ruby-command argument)
+ dnl If a ruby command was provided, set RUBY_CMD to the name of the binary and RUBY_PATH to its directory
AC_ARG_WITH(ruby-command, [ --with-ruby-command=RUBY name of the Ruby command (default: ruby)],
- RUBY_CMD="$withval"; AC_MSG_RESULT($RUBY_CMD),
- RUBY_CMD="ruby"; AC_MSG_RESULT(defaulting to $RUBY_CMD))
View MacVim 1.9.1 patch.diff
diff --git a/src/configure.in b/src/configure.in
index 85df7da..c812062 100644
--- a/src/configure.in
+++ b/src/configure.in
@@ -996,72 +996,75 @@ if test "$enable_rubyinterp" = "yes"; then
AC_ARG_WITH(ruby-command, [ --with-ruby-command=RUBY name of the Ruby command (default: ruby)],
RUBY_CMD="$withval"; AC_MSG_RESULT($RUBY_CMD),
RUBY_CMD="ruby"; AC_MSG_RESULT(defaulting to $RUBY_CMD))
+ if test "X$vi_cv_path_ruby" = "X"; then
+ vi_cv_path_ruby=$withval
View gist:376199
class A
include Mongoid::Document
field :some_field
validates_presence_of :some_field
before_validate :set_some_field
after_validate Proc.new { p "after_validation" }
@koudelka
koudelka / silent_shell.ex
Created Jul 2, 2014
a silent Mix.Shell.Process
View silent_shell.ex
defmodule Mix.Shell.Process.Quiet do
@moduledoc """
This is a Mix shell, identical to Mix.Shell.Process, except that console output is silenced.
"""
@behaviour Mix.Shell
defdelegate [flush(callback), cmd(command), prompt(message), yes?(message)], to: Mix.Shell.Process
def print_app, do: nil
You can’t perform that action at this time.