Skip to content

Instantly share code, notes, and snippets.

@moeffju
moeffju / gist:894670
Created March 30, 2011 15:59
If you want to use clickheat, but don't want to bother with mixing PHP and Ruby, or getting mixed-content warnings on SSL, etc.
get '/c' => proc { |env|
request = Rack::Request.new(env)
params = request.params
unless params['x'] && params['y'] && params['w'] && params['g'] && params['s'] && params['b'] && params['c']
[200, {}, 'KO']
else
final = [params['s'].gsub(/[^a-z_0-9\-]+/, '_'), params['g'].gsub(/[^a-z_0-9\-]+/, '_')].join(',')
log_path = Rails.root.join('log', 'clickheat', final)
FileUtils.mkdir_p(log_path)
File.open([log_path, "#{Time.now.strftime('%Y-%m-%d')}.log"].join('/'), 'a') do |f|
@moeffju
moeffju / gist:1115879
Created July 30, 2011 19:18
brew upgrade / brew install -v poppler fails
==> Downloading http://poppler.freedesktop.org/poppler-0.16.7.tar.gz
File already downloaded in /Users/moeffju/Library/Caches/Homebrew
/usr/bin/tar xf /Users/moeffju/Library/Caches/Homebrew/poppler-0.16.7.tar.gz
==> ./configure --disable-dependency-tracking --prefix=/usr/local/Cellar/poppler/0.16.7
./configure --disable-dependency-tracking --prefix=/usr/local/Cellar/poppler/0.16.7
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... no
checking for mawk... no
@moeffju
moeffju / haml-scss-filter.rb
Created January 20, 2012 10:19
SCSS filter for Haml
module Haml::Filters
module Scss
include Base
lazy_require 'sass/plugin'
def render(text)
::Sass::Engine.new(text, ::Sass::Plugin.engine_options.merge(:syntax => :scss)).render
end
end
end
class User < ActiveRecord::Base
alias :devise_valid_password? :valid_password?
def valid_password?(password)
begin
devise_valid_password?(password)
rescue BCrypt::Errors::InvalidHash
return false unless Digest::SHA1.hexdigest(password) == encrypted_password
logger.info "User #{email} is using the old password hashing method, updating attribute."
self.password = password
@moeffju
moeffju / config.ru
Created June 22, 2012 21:02
Happy HelloWorld!
require 'happy'
class TestApp < Happy::Controller
def route
on 'hello-:name' do
"Hello, #{params['name']}!"
end
"Try #{link_to 'this', current_url('hello-hendrik')}!"
end
@moeffju
moeffju / de-dictionary-profanity.xml
Last active November 18, 2017 08:48
Android LatinIME Profanity List for German (de)
<wordlist locale="de" description="Deutsch" date="1339787575" version="15" options="german_umlaut_processing">
<!-- snip -->
<w f="0" flags="">Dummkopf</w>
<w f="0" flags="n">after</w>
<w f="0" flags="n">anal</w>
<w f="0" flags="n">angekettet</w>
<w f="0" flags="n">anus</w>
<w f="0" flags="n">ausgezogen</w>
<w f="0" flags="r">bastard</w>
<w f="0" flags="r">besoffen</w>
@moeffju
moeffju / moshalias.pl
Last active December 14, 2015 23:59 — forked from mariow/moshalias.pl
#!/usr/bin/perl
my $ssh="/usr/bin/ssh";
my $mosh="/usr/bin/mosh";
my $host;
my $unsupported=0;
for (my $i=0; $i <= $#ARGV; $i++) {
if ($ARGV[$i] =~ /^-/) {
$ssh .= " \"$ARGV[$i]\"";
@moeffju
moeffju / keybase.md
Created March 21, 2014 00:51
keybase prove github

Keybase proof

I hereby claim:

  • I am moeffju on github.
  • I am moeffju (https://keybase.io/moeffju) on keybase.
  • I have a public key whose fingerprint is 0960 7358 4D2A 0443 E950 BA66 AE3A 82E8 79AC F996

To claim this, I am signing this object:

@moeffju
moeffju / comicsansify.html
Last active June 14, 2020 02:27
Comic-Sans-ify the web. Paste this in your URL bar.
<h3>Bookmarklet time!</h3>
<a href="javascript:var css = '*{font-family:"Comic Sans MS" !important;}'; var head = document.getElementsByTagName('head')[0]; var s = document.createElement('style'); s.setAttribute('type', 'text/css'); if (s.styleSheet) { s.styleSheet.cssText = css; } else { s.appendChild(document.createTextNode(css)); } head.appendChild(s);">Comicsansify!</a>
<p>Drag this to your Bookmarks Bar.</p>
// Unblock everyone on Twitter: Go to https://twitter.com/settings/blocked and paste the below in DevTools
// Yes this is super ugly and hacky don’t @ me
function click_all_unblock_buttons() { document.querySelectorAll('button.blocked-text').forEach(btn => btn.click()); }
function unblock(min_num_accounts) {
var checkNumber, autoScroll, curScrollPos, prevScrollPos, checkScroll, done;
done = false;
curScrollPos = prevScrollPos = window.scrollY;
checkScroll = setInterval(() => {