Skip to content

Instantly share code, notes, and snippets.

View 2called-chaos's full-sized avatar
😐
perpetually bored

Sven Pachnit 2called-chaos

😐
perpetually bored
View GitHub Profile
@2called-chaos
2called-chaos / mail.md
Created February 12, 2019 17:47
My letter to the MEPs concerning the copyright reform / Article 13 and 11

Dear Member of the European Parlament,

my name is Sven Pachnit and I work as, for and with content creators and providers of general web services. I'm deeply concerned about Article 13 and let's don't forget Article 11.

Both will harm the free internet to an enormous extend and will result in even worse conditions for small companies and startups in the EU (you already wonder why all the big web companies are in the US, it's not because they are so much better at it but the climate in the EU just isn't that appealing to have ones HQ in, this will certainly won't make it any better). I know quite a few companies that are being operated by EU citizens but they registered the company outside of the EU.

Upload filters are a huge problem. I'm guessing you are not a content creator on YouTube so let me tell you how bad the world's most advanced content filter (Content ID from Google) really is. It "detects" ones voice (with nothing else, e.g. background music) and claims it as copyright violation. It also common

@2called-chaos
2called-chaos / recaptcha.coffee
Created January 20, 2019 13:24
AppOS module excerpt
class AppOS.Component.Recaptcha extends AppOS.Component
name: "recaptcha"
API_URL: "https://www.google.com/recaptcha/api.js?onload=%callback&render=explicit&hl=%hl"
init: ->
@pending = []
@apiState = "unloaded"
# init event
$(document).on "recaptcha:init", (ev, el) =>
@2called-chaos
2called-chaos / _form.html.erb
Last active January 23, 2019 18:46
Bootstrap 3 rails form builder
<%= bs_form_for [:backend, @publisher] do |f| %>
<%= f.lock %>
<%= f.error_messages %>
<%= f.labeled_text_field :name %>
<%= f.labeled_text_field :support_link, placeholder: "http://help.ea.com", hint: "Possibly visible to customers if given." %>
<%= f.labeled_text_field :support_email, placeholder: "support@ea.com", hint: "Only for internal use." %>
<%= f.indicate_tenant(:global) unless @publisher.persisted? %>
<%= f.actions do %>
@2called-chaos
2called-chaos / setup-autossh-tunnel.sh
Last active April 30, 2018 15:38
Adds a start script which will setup a port forwarding over SSH (via autossh) for database traffic tunneling. You can use this script for every port actually. I might called it different but I only need it for MySQL ;-)
#!/bin/bash
# Install:
# curl -O https://gist.githubusercontent.com/2called-chaos/4285767/raw/setup-autossh-tunnel.sh
# chmod u+x setup-autossh-tunnel.sh
# ./setup-autossh-tunnel.sh
SSH_USER="mysql_tunnel"
SSH_SERVER="db.example.net"
SSH_PORT="22"
@2called-chaos
2called-chaos / z_airbrake.rb
Created April 17, 2018 15:44
Airbrake 6.3 config
Airbrake.configure do |config|
# project specific
config.project_key = ''
# use git SHA & current commit as app version
config.app_version = "Ruby: #{RUBY_VERSION} » Rails: #{Rails::VERSION::STRING} » " << `cd #{Rails.root} && git log -1 --pretty="%h - %B" HEAD`
# can always be 1
config.project_id = 1
@2called-chaos
2called-chaos / srcds_log.rb
Last active September 15, 2016 15:17
Log filterer/colorizer/analyzer for source servers (CS:GO + sourcemod tested only)
#
@2called-chaos
2called-chaos / page_sketch.coffee
Last active August 30, 2016 12:28
My sketch.js implementation... Example: http://tloz.breitzeit.de/s/525e08bd2d6df
window.PageSketch =
init: ->
@opened = false
@redo_buffer = []
# custom sketch close link
@getCloseLink().click (ev) =>
@toggleSketch()
return false
@2called-chaos
2called-chaos / profile.sh
Created March 16, 2016 13:42
binstubs light (hack)
# binstubs light
function bundle_exec {
bundler=`bundle list 2>&1`
cmd=$1
shift
if [[ $bundler == "" || $bundler =~ "Could not locate Gemfile" ]]
then
command="$cmd $@"
else
@2called-chaos
2called-chaos / rails_resource_routing.rb
Created January 19, 2016 14:57
Rails resource routing
/* ====================== */
/* = resources :baskets = */
/* ====================== */
butler_baskets GET /butler/baskets(.:format) {:action=>"index", :controller=>"butler/baskets"}
POST /butler/baskets(.:format) {:action=>"create", :controller=>"butler/baskets"}
new_butler_basket GET /butler/baskets/new(.:format) {:action=>"new", :controller=>"butler/baskets"}
edit_butler_basket GET /butler/baskets/:id/edit(.:format) {:action=>"edit", :controller=>"butler/baskets"}
butler_basket GET /butler/baskets/:id(.:format) {:action=>"show", :controller=>"butler/baskets"}
PUT /butler/baskets/:id(.:format) {:action=>"update", :controller=>"butler/baskets"}
DELETE /butler/baskets/:id(.:format) {:action=>"destroy", :controller=>"butler/baskets"}
module Banana
# Provides low level support functionalities.
module Kernel
# Calls a method with the maximum possible amount of arguments.
#
# Ruby's arity telling is too inaccurate so we just try to call the method
# with everything we have and if this raises an ArgumentError we examine the
# maximum allowed amount of arguments and pass those.
#
# Dont believe me?