Skip to content

Instantly share code, notes, and snippets.

View jaymecd's full-sized avatar

Nikolai Zujev jaymecd

View GitHub Profile
@jaymecd
jaymecd / latency.markdown
Created May 10, 2016 11:41 — forked from hellerbarde/latency.markdown
Latency numbers every programmer should know

Latency numbers every programmer should know

L1 cache reference ......................... 0.5 ns
Branch mispredict ............................ 5 ns
L2 cache reference ........................... 7 ns
Mutex lock/unlock ........................... 25 ns
Main memory reference ...................... 100 ns             
Compress 1K bytes with Zippy ............. 3,000 ns  =   3 µs
Send 2K bytes over 1 Gbps network ....... 20,000 ns  =  20 µs
SSD random read ........................ 150,000 ns  = 150 µs

Read 1 MB sequentially from memory ..... 250,000 ns = 250 µs

@jaymecd
jaymecd / tmux-cheatsheet.markdown
Created April 22, 2016 05:30 — forked from MohamedAlaa/tmux-cheatsheet.markdown
tmux shortcuts & cheatsheet

tmux shortcuts & cheatsheet

start new:

tmux

start new with session name:

tmux new -s myname
<?php
class VersioningHook
{
public function beforeSendingResponse(Req $request, Res $response)
{
$version = $request->headers->get('version');
$eventName = "api-v$version.response"
$this->eventDispatcher->dispatch($eventName, array(
@jaymecd
jaymecd / haproxy.conf
Created December 30, 2015 00:42 — forked from lpirola/haproxy.conf
Haproxy configuration file example, serving a golang service listening at port 3001. Its forced to response only SSL connections
# this config needs haproxy-1.1.28 or haproxy-1.2.1
global
log 127.0.0.1 local0
maxconn 10000
uid 99
gid 99
daemon
defaults
@jaymecd
jaymecd / benchmark+go+nginx.md
Created December 30, 2015 00:39 — forked from hgfischer/benchmark+go+nginx.md
Benchmarking Nginx with Go

Benchmarking Nginx with Go

There are a lot of ways to serve a Go HTTP application. The best choices depend on each use case. Currently nginx looks to be the standard web server for every new project even though there are other great web servers as well. However, how much is the overhead of serving a Go application behind an nginx server? Do we need some nginx features (vhosts, load balancing, cache, etc) or can you serve directly from Go? If you need nginx, what is the fastest connection mechanism? This are the kind of questions I'm intended to answer here. The purpose of this benchmark is not to tell that Go is faster or slower than nginx. That would be stupid.

So, these are the different settings we are going to compare:

  • Go HTTP standalone (as the control group)
  • Nginx proxy to Go HTTP
  • Nginx fastcgi to Go TCP FastCGI
  • Nginx fastcgi to Go Unix Socket FastCGI
@jaymecd
jaymecd / Phalcon-Zephir.md
Created December 4, 2015 21:33 — forked from denji/Phalcon-Zephir.md
Zephir write your PHP Extension

About this article will do the following things:

  • Install & Setup
  • Write a simple Router
  • Zephir rewritten version
  • Extension installation and testing

Installation

@jaymecd
jaymecd / osx-pdf-from-markdown.markdown
Last active August 29, 2015 14:26 — forked from georgiana-gligor/osx-pdf-from-markdown.markdown
Markdown source for the "Create PDF files from Markdown sources in OSX" article

Create PDF files from Markdown sources in OSX

When [Markdown][markdown] appeared more than 10 years ago, it aimed to make it easier to express ideas in an easy-to-write plain text format. It offers a simple syntax that takes the writer focus away from the formatting, thus giving her time to focus on the actual content.

The market abunds of editors to be used for help with markdown. After a few attempts, I settled to Sublime and its browser preview plugin, which work great for me and have a small memory footprint to accomplish that. To pass the results around to other people, less technical, a markdown file and a bunch of images is not the best approach, so converting it to a more robust format like PDF seems like a much better choice.

[Pandoc][pandoc] is the swiss-army knife of converting documents between various formats. While being able to deal with heavy-weight formats like docx and epub, we will need it for the more lightweight markdown. To be able to generate PDF files, we need LaTeX. On OSX, the s

@jaymecd
jaymecd / backend-architectures.md
Last active August 29, 2015 14:26 — forked from ngocphamm/backend-architectures.md
Backend Architectures
@jaymecd
jaymecd / HAProxy SNI fallback workaround example
Last active August 29, 2015 14:25 — forked from PiBa-NL/HAProxy SNI fallback workaround example
HAProxy SNI fallback/workaround example this example shows some of the possibilities that are possible to give 'best effort' support for browsers that do not support SNI.. (or at least my quick testcase/workout turned into this.., i dont use it myself, and i don't claim its actually usable for anyone.)
global
maxconn 300
log 192.168.0.40 local0 debug
stats socket /tmp/haproxy.socket level admin
gid 80
nbproc 1
chroot /var/empty
daemon
#
# Example configuration for HAProxy 1.5-dev19 for using SNI
@jaymecd
jaymecd / config
Last active August 29, 2015 14:25 — forked from mbj/config
radon# cat /etc/systemd/system/mongodb.service
[Unit]
Description=MongoDB Server
Wants=network.target
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/mongod --config /etc/mongodb.conf
User=mongodb