Skip to content

Instantly share code, notes, and snippets.

@potatosalad
potatosalad / rsa-decrypted.pem
Created November 30, 2015 17:09
Example decrypted and encrypted RSA 512-bit key (password is "secret")
-----BEGIN RSA PRIVATE KEY-----
MIIBPQIBAAJBANkpF/lVw/COC3QGJmWfw5Kay97N7+O2LaKdo+eWuEFnCxGEiB67
Q7/q7ntJeDg+vxMXK30w8w18e2Xjd9AqFY8CAwEAAQJBAII9RBSUnGwENNhD6/lc
5QVi80xQBER0eVAi7S8y1JTb5Sqc/NPFT9KqeI8RpEv+uRx5K24hFzkkAFxRH2Eg
gtkCIQD/hxD/7VrrRmWqAHicbmm9yvMktT53kCKNPspVbnUNewIhANmP3ocFpw4g
hdN/tLgjQE1eCUIMhVvGicx9mK1WpFn9AiEAt0SMMMJv3ybSa6eC2c9nD7Srxrwn
XWGHJn7OZ4+dbFkCIQCQeB+9q3w+Pkx/oHriF854Uax2Jphb1B/nIbPDzxf+BQIh
AI5O3sI8LYKvBJhBTnzzWfjYQMaRmHMyz+0ZBbgfwXPq
-----END RSA PRIVATE KEY-----
@potatosalad
potatosalad / jwk_ed25519.json
Last active June 28, 2019 10:14
Example keys for JOSE.JWS documentation https://hexdocs.pm/jose
{
"crv": "Ed25519",
"d": "VoU6Pm8SOjz8ummuRPsvoJQOPI3cjsdMfUhf2AAEc7s",
"kty": "OKP",
"x": "l11mBSuP-XxI0KoSG7YEWRp4GWm7dKMOPkItJy2tlMM"
}
@potatosalad
potatosalad / jws-payload-example.ex
Created September 22, 2015 15:53
Example of extracting the payload from a JWS signature
jwk_map = %{ "kty" => "oct", "k" => :base64url.encode("secret")}
jws_map = %{ "alg" => "HS256" }
jwt_map = %{ "test" => true }
signature = JOSE.JWT.sign(jwk_map, jws_map, jwt_map)
signature_compacted = JOSE.JWS.compact(signature)
{_, signature_map} = JOSE.JWS.expand(signature_compacted)
payload = JOSE.JWT.from(:base64url.decode(Map.get(signature_map, "payload")))
# one-liner version:
@potatosalad
potatosalad / designer.html
Last active August 29, 2015 14:10
designer
<link rel="import" href="../topeka-elements/category-icons.html">
<link rel="import" href="../core-icon/core-icon.html">
<polymer-element name="my-element">
<template>
<style>
:host {
position: absolute;
width: 100%;
PipeFactorial = fun(Ns) ->
XF = fun
({X, N, Factorial}, P, FD) when X =< 0 ->
riak_pipe_vnode_worker:send_output({N, Factorial}, P, FD);
({X, N, Factorial}, P, FD) ->
riak_pipe_vnode_worker:recurse_input({X-1, N, Factorial * X}, P, FD);
(X, P, FD) when is_integer(X) ->
riak_pipe_vnode_worker:recurse_input({X, X, 1}, P, FD)
end,
XC = fun(Input) ->
ip`ip_fanout_v4+0xd29
ip`ip_input_local_v4+0x16e
ip`ire_recv_local_v4+0x132
ip`ill_input_short_v4+0x4d6
ip`ip_input_common_v4+0x372
ip`ip_input+0x2b
dls`i_dls_link_rx+0x1cd
mac`mac_rx_deliver+0x37
mac`mac_rx_soft_ring_process+0x19a
mac`mac_rx_srs_proto_fanout+0x29a
// -*- mode: c; tab-width: 8; indent-tabs-mode: 1; st-rulers: [70] -*-
// vim: ts=8 sw=8 ft=c noet
#include <sys/types.h>
#include <sys/fcntl.h>
#include <sys/dumpadm.h>
#include <unistd.h>
#include <inttypes.h>
#include <string.h>
#include <stdio.h>
%% riak_dt_map: OR-Set schema based multi CRDT container
M = riak_dt_map:new(),
%% Braxton adds key and val fields
{ok, M1B} = riak_dt_map:update({update, [
{add, {key, riak_dt_lwwreg}},
{add, {val, riak_dt_pncounter}}
]}, braxton, M),
%% Braxton sets key to 'a' and increments val by 1
{ok, M2B} = riak_dt_map:update({update, [
{update, {key, riak_dt_lwwreg}, {assign, a}},
#!/usr/sbin/dtrace -Zs
erlang*:::global-function-entry
{
self->t[copyinstr(arg1)] = vtimestamp;
}
erlang*:::function-return
/self->t[copyinstr(arg1)]/
{
# echo '::stack' | mdb /zones/global/cores/core.segment.39951
libc.so.1`_lwp_kill+0xa()
libc.so.1`raise+0x20(b)
main+0xe()
_start+0x6c()
# echo '::mappings' | mdb /zones/global/cores/core.segment.39951
BASE LIMIT SIZE NAME
400000 401000 1000
/root/segment