Skip to content

Instantly share code, notes, and snippets.

View alexandernst's full-sized avatar

Alexander Nestorov alexandernst

View GitHub Profile
import datetime
from telethon import TelegramClient
api_id = 123456789
api_hash = 'abcdef123456789'
client = TelegramClient('session_name', api_id, api_hash)
client.session.report_errors = True
client.start()
→ base64 -i trace.log.gpg
decrypt with `security@hashicorp.com` private key
hQEMA9X0O2Qy6nfzAQf/R3esSzbODtS6hccMvjGWYT4GRLEtu/wxqXKdN4YhXRZ7JSdL3ZeSr76fv4V1En21Mf2WSDH3TbnzzSruUWPN/NaLpuZrrtin2fWwbl75Z9eYaUnhC7+GGSnP+viZPZneYUDjL25ItlXVAWckor4egNgEjcuvceayiKMddGvkeOnP53sVAcQVQBUweiI/Uanawj46aWNA8HVkEuqnXlcHMz3SlHROw8J1cYeyDAcdWUniumKUZkqfWdoIVK15ab3jk8MTB0Lm8X8ihPNUwBXbfgscwM6iwKVEXD5ajjT26HS/rhPz1ds4cdDAXMknrjNDsCwolDM8NAxPjLSeIirGUNLtASsk0V+ip/evt633vulaF7uaH4potvL7zYDHtZs4acqubkf/nxXDJPRCuehumHPK+tjdBZE9ViSQXrO7yveQkgNxj2oX0gbJZbJoMn2VVxu+WVVWVwl7WMSYbQxElV5RjwRhRpXdKdZru/zklYBkXfN1MG/3MB6mFFRf4dw1XXKxchGqK7Qd9DNUn7c8R5imnNzx4lIUycUDYQoB2qmJ0qNPof9BjVSaWhA0UYRf0deSHGuIjKzbn71M2RsriAnX9/3VKwQoS6utzDtyAqCAi/yKvxfXTsUXVUKLkGFY8J7TwU3IMr16dDm9xOS/F5XKtuGTnJ21VYpim0H+DQoKKDgsZQLQifkrmt3fsruiiH7ryqO59yfwEExldwLQ//SWvcLugU/HbPONPLAKgSg96xtPWgNkvr3uUbwvifb2WwT1kmEpXBd4BbiFZVN/EVck9nBHMQdmvIw96OSEcc2Q8cnxp+Dkz7kFYy80ZejDJF34FP86jLZ8328ZoPHmuDKOaXn3WkJ/vJokZo04I4qB5PWH51exrSz9k9iOHyocJFXbygOFhhnLf5lQ8aHTe02f6TTe5a
@alexandernst
alexandernst / cross-compiling-hello-world
Last active December 30, 2016 06:04
Cross-compiling applications for ARM
$ pwd
/home/alexandernst/tmp_arm_build
$ cat hello_world.c
#include <stdio.h>
int main(int argc, char **argv){
printf("Hello world!\n");
return 0;
}
$ gcc -o hello_world hello_world.c
@alexandernst
alexandernst / cross-compiling-gstreamer-hello-world
Created March 25, 2013 00:54
Cross-compiling applications for ARM
$ sb2 gcc `sb2 pkg-config --cflags gstreamer-app-0.10` -o gst_hello_world gst_hello_world.c `sb2 pkg-config --libs gstreamer-app-0.10` -L/home/alexandernst/tmp_arm_build/libs/ -lffi
$ file gst_hello_world
gst_hello_world: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, not stripped
@alexandernst
alexandernst / cross-compiling-folder-structure
Created March 25, 2013 00:37
Cross-compiling applications for ARM
$ tree -L 2
.
├── deps
│   ├── glib-2.35.9
│   ├── gst-plugins-base-0.10.36
│   ├── gstreamer-0.10.36
│   ├── libffi-3.0.13
│   ├── orc-0.4.17
│   └── zlib-1.2.7
├── gst_hello_world
@alexandernst
alexandernst / cross-compiling-folder-structure
Last active December 15, 2015 08:49
Cross-compiling applications for ARM
$ pwd
/home/alexandernst/tmp_arm_build
$ cd deps/zlib-1.2.7/
$ export PKG_CONFIG_PATH=/home/alexandernst/tmp_arm_build/libs/lib/pkgconfig/
$ sb2 ./configure --prefix=/home/alexandernst/tmp_arm_build/libs/ &> /dev/null
$ sb2 make &> /dev/null
$ sb2 make install &> /dev/null
$ cd ../..
$ pwd
/home/alexandernst/tmp_arm_build
@alexandernst
alexandernst / cross-compiling-folder-structure
Last active December 15, 2015 08:49
Cross-compiling applications for ARM
$ pwd
/home/alexandernst/tmp_arm_build
$ tree -L 2
.
├── deps
│   ├── glib-2.35.9
│   ├── gst-plugins-base-0.10.36
│   ├── gstreamer-0.10.36
│   ├── libffi-3.0.13
│   ├── orc-0.4.17
@alexandernst
alexandernst / cross-compiling-gstreamer-hello-world
Last active December 15, 2015 08:48
Cross-compiling applications for ARM
$ pwd
/home/alexandernst/tmp_arm_build
$ cat gst_hello_world.c
#include <gst/gst.h>
int main(int argc, char **argv){
gst_init(&argc, &argv);
GMainLoop *loop = g_main_loop_new(NULL, FALSE);
GstElement *pipeline = gst_parse_launch("videotestsrc ! autovideosink", NULL);
GstElement *test = gst_bin_get_by_name(GST_BIN(pipeline), "test");
@alexandernst
alexandernst / eventbuscall.js
Created July 18, 2012 08:10
EventBus call from server side
<?php
// handle file ...
// more stuff ...
?>
<script language='javascript' type='text/javascript'>
window.top.window.EventBus.dispatch("upload_done", this, 42);
</script>
@alexandernst
alexandernst / myview.js
Created July 18, 2012 08:07
Backbone View listening for finished uploads
var myView = Backbone.View.extend({
events: {
'click .start_upload': 'start_upload'
}
initialize: function(){
EventBus.addEventListener("upload_done", this.upload_callback);
}