Skip to content

Instantly share code, notes, and snippets.

@douglas-vaz
douglas-vaz / linux_io.c
Last active August 29, 2015 13:57
Fast file read in Linux
#include "linux_io.h"
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
#include <wchar.h>
int main(void)
{
@douglas-vaz
douglas-vaz / matrix.py
Created April 21, 2014 19:05
Matrix operations in Python with a functional style
#!/usr/bin/python3
'''
Copyright (c) 2014 Douglas Vaz
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
@douglas-vaz
douglas-vaz / rsa.py
Created May 6, 2014 19:48
RSA in Python
import math
def ExtendedEuclid(m, b, verbose=False):
a1, a2, a3 = 1, 0, m
b1, b2, b3 = 0, 1, b
if(verbose):
print("Q\tA1\tA2\tA3\tB1\tB2\tB3")
q = None
@douglas-vaz
douglas-vaz / substring.md
Created July 23, 2014 07:32
Bruteforce substring check
isSubstring(String A, String B) {
    for i = 0 to len(A)-len(B) {
        j = 0;
        while j < len(B) and A[i+j] == B[j] {
            j = j + 1;
        }
        if j == len(B) {
            return True;
 }

Keybase proof

I hereby claim:

  • I am douglas-vaz on github.
  • I am mistcrafter (https://keybase.io/mistcrafter) on keybase.
  • I have a public key whose fingerprint is 8F57 F022 A6B3 175A 5695 13C0 5B97 A84B 8B6E 4651

To claim this, I am signing this object:

A quick jQuery plugin for asynchronously embedding a gist in an HTML document.

There are a couple of ways to use it. The simpler way is replacing all Gist links in document by their embedded version:

<script>$($.gist);</script>

All links that point to a gist, or gist file will be replaced by the corresponding embedded gist, or gist file.

Gist link replacement can also be called on a container element:

@douglas-vaz
douglas-vaz / prime.clj
Last active August 29, 2015 14:25
Prime function in Clojure
(defn divisible? [x y] (zero? (mod x y)))
(defn prime? [num]
(or (= num 2) (and (not (even? num)) (not-any? #(divisible? num %) (range 3 (inc (Math/sqrt num)) 2)))))
@douglas-vaz
douglas-vaz / merge.clj
Created July 16, 2015 05:59
Merge sort in Clojure
(ns merge-sort)
(defn split-at-middle [xs] (split-at (/ (count xs) 2) xs))
(defn merge [X Y]
(loop [ [xhead & xtail :as x] X, [yhead & ytail :as y] Y, Result []]
(if (and (not-empty x) (not-empty y))
(if (<= xhead yhead)
(recur xtail y (conj Result xhead))
(recur x ytail (conj Result yhead)))
@douglas-vaz
douglas-vaz / stc.c
Created June 14, 2012 07:58 — forked from tanayseven/gist:2928879
Stack
#include<stdio.h>
#include<stdlib.h>
struct stack
{
int info;
struct stack *next;
};
typedef struct stack *s;
@douglas-vaz
douglas-vaz / evav_in.c
Created June 14, 2012 19:00
Infix to Postfix and evaluate
#include <stdio.h>
#include <stdlib.h>
struct Node{
int info;
struct Node *next;
};
typedef struct Node *nodeptr;