Skip to content

Instantly share code, notes, and snippets.

View erszcz's full-sized avatar

Radek Szymczyszyn erszcz

View GitHub Profile
@erszcz
erszcz / TestHashTableArtificial.hs
Created April 18, 2012 07:15
Map-like structure benchmarks
module TestHashTableArtificial where
import Control.Monad (forM_)
import qualified Data.HashTable as HashTable
-- ByteString IO
import Data.ByteString (ByteString)
import qualified Data.ByteString as ByteString
import qualified Data.ByteString.UTF8 as UTF8
@erszcz
erszcz / HMTTest.hs
Created June 5, 2012 18:17
Populating map from text data
module HMTTest where
--{ imports
import Control.Monad (forM_)
import qualified Data.HashMap.Strict as HM
import Data.Hashable (Hashable)
import Data.Hashable
@erszcz
erszcz / dbg trace log
Created June 22, 2012 13:43
Erlang zlib issue
(<0.455.0>) call zlib:open()
(<0.455.0>) returned from zlib:open/0 -> #Port<0.2787>
(<0.455.0>) call zlib:open()
(<0.455.0>) returned from zlib:open/0 -> #Port<0.2788>
(<0.455.0>) call zlib:inflateInit(#Port<0.2787>)
(<0.455.0>) returned from zlib:inflateInit/1 -> ok
(<0.455.0>) call zlib:deflateInit(#Port<0.2788>)
(<0.455.0>) returned from zlib:deflateInit/1 -> ok
(<0.453.0>) call zlib:module_info()
(<0.453.0>) call zlib:deflate(#Port<0.2788>,["<",<<"stream:stream">>,
@erszcz
erszcz / jid_gen.erl
Last active October 27, 2015 10:32
XMPP related generators
bare_jid() ->
?LET({Username, Domain}, {username(), domain()},
<<(?l2b(Username))/bytes, "@", (?l2b(Domain))/bytes>>).
%full_jid() ->
% ?LET({Username, Domain, Res}, {username(), domain(), resource()},
% <<(?l2b(Username))/bytes, "@", (?l2b(Domain))/bytes, "/", (?l2b(Res))/bytes>>).
username() -> ascii_string().
domain() -> ascii_string().
@erszcz
erszcz / ejabberd-invalid-post.log
Created March 17, 2013 10:23
Log of an invalid POST request sent from a dynamic webapp bundled using PhoneGap and ran on Android 2.3. The first file is a log of `ejabberd` `mod_bosh` receiving an invalid POST request. The `Content-Length` header specifies body length of 269 (`{<<"content-length">>,<<"269">>}`), but trying to extract the body from the request fails with erro…
(ejabberd@localhost)8> dbg:tracer().
{ok,<0.786.0>}
(ejabberd@localhost)9> dbg:tpl().
** exception error: undefined function dbg:tpl/0
(ejabberd@localhost)10> dbg:p(all, call).
{ok,[{matched,ejabberd@localhost,399}]}
(ejabberd@localhost)11> dbg:tpl(mod_bosh, info, 3, x).
{ok,[{matched,ejabberd@localhost,1},{saved,x}]}
(ejabberd@localhost)12> dbg:tpl(cowboy_req, body, 1, x).
{ok,[{matched,ejabberd@localhost,1},{saved,x}]}
$ sudo ngrep -W byline -d wlan0 port 5280
interface: wlan0 (192.168.1.0/255.255.255.0)
filter: (ip or ip6) and ( port 5280 )
####
T 192.168.1.11:50308 -> 192.168.1.17:5280 [AP]
POST /http-bind/ HTTP/1.1.
Host: 192.168.1.17:5280.
@erszcz
erszcz / ejabberd.log
Created March 25, 2013 17:27
cowboy_req:stream_body_recv/1 returns {error,einval}
$ bin/ejabberd live
Exec: /home/erszcz/work/esl/ejabberd/dev/ejabberd_internal_mnesia/erts-5.9/bin/erlexec -boot /home/erszcz/work/esl/ejabberd/dev/ejabberd_internal_mnesia/releases/0.1/ejabberd -embedded -config /home/erszcz/work/esl/ejabberd/dev/ejabberd_internal_mnesia/etc/app.config -args_file /home/erszcz/work/esl/ejabberd/dev/ejabberd_internal_mnesia/etc/vm.args -- live
Root: /home/erszcz/work/esl/ejabberd/dev/ejabberd_internal_mnesia
Erlang R15B (erts-5.9) [source] [64-bit] [smp:8:8] [async-threads:5] [hipe] [kernel-poll:true]
2013-03-25 18:23:40.361 [info] <0.7.0> Application lager started on node ejabberd@localhost
2013-03-25 18:23:40.381 [notice] <0.174.0> Changed loglevel of log/ejabberd.log to info
2013-03-25 18:23:40.445 [info] <0.7.0> Application mnesia exited with reason: stopped
2013-03-25 18:23:40.534 [info] <0.7.0> Application mnesia started on node ejabberd@localhost
Eshell V5.9 (abort with ^G)
@erszcz
erszcz / arachne.js
Last active December 16, 2015 01:48
Historic SNA
/*jslint vars:true*/
/*global d3, $*/
var arachne = (function () {
"use strict";
var arachne = {
version: "0.0.1",
d3version: d3.version
};
@erszcz
erszcz / et_helper.erl
Created March 4, 2016 12:12
Erlang et (Event Tracer)
-module(et_helper).
-compile([export_all]).
-include_lib("et/include/et.hrl").
start() ->
start([]).
start(ExtraOptions) ->
Options = [{trace_global, true},
@erszcz
erszcz / exml_assert.hrl
Last active March 11, 2016 09:53
XML element equality assertion ignoring attribute / subelement ordering (using https://github.com/esl/exml data structures)
%% See assertEqual in $ERLANG/lib/stdlib-2.6/include/assert.hrl for the original.
-define(exmlAssertEqual(Example, Expr),
begin
((fun (__X, __V) ->
case __V of
__X -> ok;
__V -> erlang:error({exmlAssertEqual,
[{module, ?MODULE},
{line, ?LINE},
{expression, (??Expr)},