Skip to content

Instantly share code, notes, and snippets.

View miguelarauj1o's full-sized avatar
🎯
Focusing

Miguel Araujo miguelarauj1o

🎯
Focusing
View GitHub Profile
@miguelarauj1o
miguelarauj1o / Matrix.md
Created May 29, 2018 00:08 — forked from nadavrot/Matrix.md
Efficient matrix multiplication

High-Performance Matrix Multiplication

This is a short post that explains how to write a high-performance matrix multiplication program on modern processors. In this tutorial I will use a single core of the Skylake-client CPU with AVX2, but the principles in this post also apply to other processors with different instruction sets (such as AVX512).

Intro

Matrix multiplication is a mathematical operation that defines the product of

@miguelarauj1o
miguelarauj1o / vpn.md
Created February 14, 2018 01:09 — forked from joepie91/vpn.md
Don't use VPN services.

Don't use VPN services.

No, seriously, don't. You're probably reading this because you've asked what VPN service to use, and this is the answer.

Note: The content in this post does not apply to using VPN for their intended purpose; that is, as a virtual private (internal) network. It only applies to using it as a glorified proxy, which is what every third-party "VPN provider" does.

(A Russian translation of this article can be found here, contributed by Timur Demin.)

Why not?

@miguelarauj1o
miguelarauj1o / cunsultaplaca.rb
Created October 4, 2017 16:21 — forked from ronanrodrigo/cunsultaplaca.rb
Consulta de informações básicas sobre veículos através da placa utilizando o sistema Sinesp Cidadão.
require "uri"
require "net/http"
require 'base64'
require 'cgi'
require 'openssl'
HOST_KEY = "shienshenlhq"
def search_plate plate
hmac = OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new('sha1'), HOST_KEY.encode("ASCII"), plate.encode("ASCII"))
@miguelarauj1o
miguelarauj1o / master.vim
Created June 26, 2017 01:02 — forked from gmccreight/master.vim
A script that gives you a playground for mastering vim
" copy all this into a vim buffer, save it, then...
" source the file by typing :so %
" Now the vim buffer acts like a specialized application for mastering vim
" There are two queues, Study and Known. Depending how confident you feel
" about the item you are currently learning, you can move it down several
" positions, all the way to the end of the Study queue, or to the Known
" queue.
" type ,, (that's comma comma)
@miguelarauj1o
miguelarauj1o / The Technical Interview Cheat Sheet.md
Created June 22, 2017 23:25 — forked from tsiege/The Technical Interview Cheat Sheet.md
This is my technical interview cheat sheet. Feel free to fork it or do whatever you want with it. PLEASE let me know if there are any errors or if anything crucial is missing. I will add more links soon.

Studying for a Tech Interview Sucks, so Here's a Cheat Sheet to Help

This list is meant to be a both a quick guide and reference for further research into these topics. It's basically a summary of that comp sci course you never took or forgot about, so there's no way it can cover everything in depth. It also will be available as a gist on Github for everyone to edit and add to.

Data Structure Basics

###Array ####Definition:

  • Stores data elements based on an sequential, most commonly 0 based, index.
  • Based on tuples from set theory.
@miguelarauj1o
miguelarauj1o / git_submodules.md
Created March 7, 2017 23:42 — forked from gitaarik/git_submodules.md
Git Submodules basic explanation

Git Submodules basic explanation

Why submodules?

In Git you can add a submodule to a repository. This is basically a repository embedded in your main repository. This can be very useful. A couple of advantages of using submodules:

  • You can separate the code into different repositories.
@miguelarauj1o
miguelarauj1o / offenses.txt
Last active March 7, 2017 22:47
`rubocop --format json` in Homebrew to inspect `brew audit --strict` fails
rubocop --format offenses
12 Style/UnneededCapitalW
11 Lint/UnneededSplatExpansion
11 Style/UnneededInterpolation
8 Style/MultilineIfModifier
8 Style/RedundantParentheses
8 Style/TrailingCommaInArguments
6 Homebrew/CorrectBottleBlock
6 Style/MultilineArrayBraceLayout
-module(mymodule).
start_link() ->
gen_server:start_link({local, ?MODULE}, ?MODULE, [], []).
...
crash() ->
gen_server:cast(?MODULE, crash).
...
handle_cast(crash,State) ->
{stop, error, State};
...
@miguelarauj1o
miguelarauj1o / example.erl
Created December 14, 2016 03:34 — forked from kevsmith/example.erl
Example of gen_server template output
%% -*- erlang-indent-level: 4;indent-tabs-mode: nil -*-
%% ex: ts=4 sw=4 et
%% @author Kevin Smith <kevin@opscode.com>
%% @copyright 2011 Opscode, Inc.
-module(example).
-behaviour(gen_server).
-export([start_link/0]).
@miguelarauj1o
miguelarauj1o / kill-erlang-node.sh
Created December 14, 2016 03:33 — forked from robertoaloi/kill-erlang-node.sh
Kill an Erlang process by node name
#!/usr/bin/env bash
# Kill an Erlang process by node name
#
# e.g.: kill-erlang-node kred
# Check usage
if [ -z "$1" ]; then
echo "Usage: `basename $0` NODE_NAME"
exit 1