Skip to content

Instantly share code, notes, and snippets.

/*! Top K elements of an unordered list
There are 3 ways to get the top k elements from an unsorted list.
1. Build a heap with all the elements and pop k times
2. Sort the whole list and return a slice from the end
3. Quick select k elements
Naively, I would expect 1 to be slowest, 2 to be faster and 3 the fastest.
//! Leveshtein distance
//!
//! Leveshtein distance considers the 3 possibilities strings can differ -
//! addition, subtraction and deletion at each state of iteration and tries all
//! the cases to find the minimum distance.
use std::{collections::HashMap, convert::TryInto};
pub fn levenshtein(a: &str, b: &str) -> i32 {
cached(a, b, &mut HashMap::new())
@jaseemabid
jaseemabid / log.txt
Created October 13, 2018 22:53
Stack + llvm-hs-pretty
Version 1.7.1 x86_64
Compiled with:
- Cabal-2.2.0.1
- Glob-0.9.2
- HUnit-1.6.0.0
- QuickCheck-2.11.3
- StateVar-1.1.1.0
- aeson-1.2.4.0
- aeson-compat-0.3.7.1
- annotated-wl-pprint-0.7.0
@jaseemabid
jaseemabid / README.md
Last active October 9, 2018 03:06
Safe

Safe

A safe storage for your personal data like photos, documents and notes for life. Privacy and safety over anything else.

What would it be?

  1. A dead simple folder you can drag and drop files into and forget about. As simple as dropbox but something you can trust.
@jaseemabid
jaseemabid / .gitignore
Last active March 22, 2018 08:53
Basic jenkins monitoring
/zbx_env
@jaseemabid
jaseemabid / spectre.c
Created January 4, 2018 04:42 — forked from ErikAugust/spectre.c
Spectre example code
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#ifdef _MSC_VER
#include <intrin.h> /* for rdtscp and clflush */
#pragma optimize("gt",on)
#else
#include <x86intrin.h> /* for rdtscp and clflush */
#endif
@jaseemabid
jaseemabid / 30-randomize-mac-address.conf
Created December 3, 2017 18:06 — forked from fawkesley/30-randomize-mac-address.conf
MAC address randomization in Ubuntu 17+ (>= 1.4.1): save to /etc/NetworkManager/conf.d/
# /etc/NetworkManager/conf.d/30-randomize-mac-address.conf
# REQUIRES NETWORK MANAGER >= 1.4.1 (Ubuntu Zesty and above)
# Thanks to https://blogs.gnome.org/thaller/2016/08/26/mac-address-spoofing-in-networkmanager-1-4-0/
# This randomize your MAC address for *new* connections
# Be sure to change your existing (saved) connections in
# /etc/NetworkManager/system-connections/*
@jaseemabid
jaseemabid / .gitignore
Last active August 25, 2017 09:51
sort.c
a.out
@jaseemabid
jaseemabid / adler.hs
Created February 26, 2017 10:04
Adler32 implementation in C and Haskell
adler32 :: String -> Int
adler32 = helper 1 0
where
helper a b (x:xs) = helper a' b' xs
where a' = (a + (ord x .&. 0xff)) `mod` base
b' = (a' + b) `mod` base
base = 65521
helper a b _ = (b `shiftL` 16) .|. a

What I Wish I'd Known About Equity Before Joining A Unicorn

Disclaimer: This piece is written anonymously. The names of a few particular companies are mentioned, but as common examples only.

This is a short write-up on things that I wish I'd known and considered before joining a private company (aka startup, aka unicorn in some cases). I'm not trying to make the case that you should never join a private company, but the power imbalance between founder and employee is extreme, and that potential candidates would