Skip to content

Instantly share code, notes, and snippets.

Miguel Araújo miguelarauj1o

Block or report user

Report or block miguelarauj1o

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@miguelarauj1o
miguelarauj1o / Matrix.md
Created May 29, 2018 — forked from nadavrot/Matrix.md
Efficient matrix multiplication
View Matrix.md

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 Feb 14, 2018 — forked from joepie91/vpn.md
Don't use VPN services.
View vpn.md

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 Oct 4, 2017 — forked from ronanrodrigo/cunsultaplaca.rb
Consulta de informações básicas sobre veículos através da placa utilizando o sistema Sinesp Cidadão.
View cunsultaplaca.rb
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 Jun 26, 2017 — forked from gmccreight/master.vim
A script that gives you a playground for mastering vim
View master.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 Jun 22, 2017 — 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.
View The Technical Interview Cheat Sheet.md

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 Mar 7, 2017 — forked from gitaarik/git_submodules.md
Git Submodules basic explanation
View git_submodules.md

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 Mar 7, 2017
`rubocop --format json` in Homebrew to inspect `brew audit --strict` fails
View offenses.txt
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
View mymodule.erl
-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 Dec 14, 2016 — forked from kevsmith/example.erl
Example of gen_server template output
View example.erl
%% -*- 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 Dec 14, 2016 — forked from robertoaloi/kill-erlang-node.sh
Kill an Erlang process by node name
View kill-erlang-node.sh
#!/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
You can’t perform that action at this time.