Slides and code examples from my "Pythons Sinister Secrets" presentation.
The slide deck can be downloaded here.
Slides and code examples from my "Pythons Sinister Secrets" presentation.
The slide deck can be downloaded here.
RDP Eavesdropping and Hijacking | |
******************************* | |
I spent some time this evening looking at ways to eavesdrop and hijack RDP sessions. Here is a gist of (semi) interesting findings | |
that is not very new... | |
=========== | |
Inspiration | |
=========== | |
As you may already know... |
#!/bin/bash | |
# Desktop build | |
MAKE="make -j 4 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-" | |
# C.H.I.P. build | |
#MAKE="make" | |
CDIR=$PWD | |
LINUX=$CDIR/CHIP-linux | |
WIFI=$CDIR/RTL8723BS |
By default when Nginx starts receiving a response from a FastCGI backend (such as PHP-FPM) it will buffer the response in memory before delivering it to the client. Any response larger than the set buffer size is saved to a temporary file on disk. This process is also explained at the Nginx ngx_http_fastcgi_module page document page.
Since disk is slow and memory is fast the aim is to get as many FastCGI responses passing through memory only. On the flip side we don't want to set an excessively large buffer as they are created and sized on a per request basis (i.e. it's not shared memory).
The related Nginx options are:
fastcgi_buffering
appeared in Nginx 1.5.6 (1.6.0 stable) and can be used to turn buffering completely on/off. It's on by default.fastcgi_buffer_size
](http://nginx.org/en/var debug = process.env.NODE_ENV !== "production"; | |
var webpack = require('webpack'); | |
module.exports = { | |
context: __dirname, | |
devtool: debug ? "inline-sourcemap" : null, | |
entry: "./js/scripts.js", | |
output: { | |
path: __dirname + "/js", | |
filename: "scripts.min.js" |
Roll your own iPython Notebook server with Amazon Web Services (EC2) using their Free Tier.
<?php | |
class My_Form_Template extends My_Form | |
{ | |
public function init() | |
{ | |
parent::init(); | |
$this->addElements(array( | |
$this->createElement(self::TYPE_MULTICHECKBOX, 'checks', array( |
// don't change these variables | |
var p = false; // currently playing | |
var e = false; // ended | |
var j = true; // first play | |
var videoTimeRaw = 0; | |
var currentTime = 0; | |
var defaultInterval = 100; | |
// configure these variables | |
var vidId = 'videoEmbed'; // the ID of the div holding the video |