Skip to content

Instantly share code, notes, and snippets.

# import sources from where check for auth backends
SOCIAL_AUTH_IMPORT_SOURCES = (
'social_auth.backends',
'social_auth.backends.contrib',
) + getattr(settings, 'SOCIAL_AUTH_IMPORT_BACKENDS', ())
def get_backends():
backends = {}
for mod_name in SOCIAL_AUTH_IMPORT_SOURCES:
@nwalker
nwalker / install.md
Created June 25, 2012 07:47
документация по системе

Installation for v1.4

Streaming Server

Зависимости

  • Erlang R15B. Можно из репозитория, если есть подходящий.
  • Erlyvideo, именно отсюда, там мелкие нужные патчи.
public function connect(parent : ClientController) : void
{
ns = new NetStream(parent.nc);
parent.addEventListener(PublishEvent.START, start);
parent.addEventListener(PublishEvent.STOP, stop);
ns.client = {};
ns.client.onMetaData = function(md : Object) : void { parent.ui.log.appendText("onMetaData: " + md + "\n"); };
ns.client.onPlayStatus = function(ev : Object) : void { parent.ui.log.appendText(ev.code + "\n"); };
@nwalker
nwalker / protocol.md
Created July 2, 2012 11:03
protocol documetation

Protocol documentation for v1.4

Meta

В качестве транспорта используется Flash.Network.NetConnection и AMF3. В протоколе есть и push-, и pull-методы. В дальнейшем, push-методы помечены [MSG] и далее именуются сообщениями, pull - [RPC]. Для push-вызовов используется единая точка входа event

; A REPL-based, annotated Seesaw tutorial
; Please visit https://github.com/daveray/seesaw for more info
;
; This is a very basic intro to Seesaw, a Clojure UI toolkit. It covers
; Seesaw's basic features and philosophy, but only scratches the surface
; of what's available. It only assumes knowledge of Clojure. No Swing or
; Java experience is needed.
;
; This material was first presented in a talk at @CraftsmanGuild in
; Ann Arbor, MI.

tmux cheatsheet

As configured in my dotfiles.

start new:

tmux

start new with session name:

diff --git a/plugins/erlang/erlang.c b/plugins/erlang/erlang.c
index 4ac45cc..a8d23b8 100644
--- a/plugins/erlang/erlang.c
+++ b/plugins/erlang/erlang.c
@@ -84,6 +84,91 @@ void dump_eterm(ei_x_buff *x) {
21
}
+int erl_to_rpc_args(ei_x_buff *x, int *argc, char **argv, uint16_t *argvs) {
+ int etype, esize;
(gevent)nwalker@asgard:~/pg/gevent/pyerl$ python enode.py
Incoming connection from 127.0.0.1:53356
# recv_name
Name: erl@asgard
Version: 5
Flags: EXPORT_PTR_TAG(0x200) HIDDEN_ATOM_CACHE(0x40) ATOM_CACHE(0x2) NEW_FUN_TAGS(0x80) PUBLISHED(0x1) BIT_BINARIES(0x400) UNICODE_IO(0x1000) DIST_MONITOR(0x8) EXTENDED_REFERENCES(0x4) DIST_HDR_ATOM_CACHE(0x2000) DIST_MONITOR_NAME(0x20) SMALL_ATOM_TAGS(0x4000) NEW_FLOATS(0x800) FUN_TAGS(0x10) EXTENDED_PIDS_PORTS(0x100)
# send_challenge
# recv_challenge_reply
# send_challenge_ack
# established!
@nwalker
nwalker / etf.py
Created March 24, 2013 19:42
Чем лучше заменить длинные свитчи? В _read так и просится dict { tag: handler }, но есть нюанс - его неудобно расширять в сабклассе. Что делать с _write(особенно, см. #195)?
ettAtom = 'd'
# ettAtomUTF8 = 'v' # this is beyond retarded
# ettBinary = 'm'
# ettBitBinary = 'M'
# ettCachedAtom = 'C'
# ettCacheRef = 'R'
# ettExport = 'q'
ettFloat = 'c'
# ettFun = 'u'
ettInteger = 'b'
loki@asgard:~/dev/flvsplit$ ./flvsplit -in ~/pg/encoding/webinar-2344.flv -out splitted
2013/04/30 21:06:42 new writer for 10013254
2013/04/30 21:06:42 new writer for 892
2013/04/30 21:06:42 new writer for 10014674
2013/04/30 21:06:42 new writer for 10003419
2013/04/30 21:06:42 new writer for 18
2013/04/30 21:06:42 new writer for 10014625
2013/04/30 21:06:42 new writer for 10014975
2013/04/30 21:06:42 new writer for 10015392
2013/04/30 21:06:42 new writer for 10015420