Skip to content

Instantly share code, notes, and snippets.

View vu3rdd's full-sized avatar

Ramakrishnan Muthukrishnan vu3rdd

View GitHub Profile
@vu3rdd
vu3rdd / ps-tree.md
Last active August 29, 2015 14:07
ps-tree

pstree output on a fresh Debian GNU/Linux (unstable) running GNOME 3.14 (Oct 2014)

ram@debian:~$ pstree
systemd─┬─ModemManager─┬─{gdbus}
        │              └─{gmain}
        ├─NetworkManager─┬─dhclient
        │                ├─{NetworkManager}
        │                ├─{gdbus}
        │                └─{gmain}
        ├─accounts-daemon─┬─{gdbus}
@vu3rdd
vu3rdd / less-magic.md
Last active August 29, 2015 14:07
less magic

Arthur C. Clarke said "Any sufficiently advanced technology is indistinguishable from magic".

As a programmer my job is to make my own use of computers seem less of a magic. Let me explain.

Note that I didn't say, I am here to make the use of computers by "everyone" appear less of a magic. I said about /my/ use of computers. That is, as a programmer/engineer, I want to know what is going on in my computer (or data center or whatever is the current definition of a computer) when I run a program. I also want to be in a position to explain what is happening to someone else, say another fellow programmer.

But modern programming (especially programming with the web) seem to make it appear as if it is magic. Let us say, I am a new programmer in a brand new project and we decide to use a particular programming language to implement a web service. The programming language itself is not new to me, but I am new to web programming. So I go about searching the web for blog posts explaining what the other fellow pro

@vu3rdd
vu3rdd / dht.txt
Last active April 27, 2023 02:16
consistent hashing papers
Thesis on consistent hashing: http://dspace.mit.edu/handle/1721.1/9947
Chord: http://pdos.csail.mit.edu/papers/chord:sigcomm01/chord_sigcomm.pdf
Kademlia: http://pdos.csail.mit.edu/~petar/papers/maymounkov-kademlia-lncs.pdf
Coral: https://www.cs.princeton.edu/~mfreed/docs/coral-nsdi04.pdf
S/Kademlia: http://www.tm.uka.de/doc/SKademlia_2007.pdf
IPFS: http://static.benet.ai/t/ipfs.pdf
http://highscalability.com/paper-consistent-hashing-and-random-trees-distributed-caching-protocols-relieving-hot-spots-world-wi
http://www.tom-e-white.com/2007/11/consistent-hashing.html
Freenet
@vu3rdd
vu3rdd / tahoe-lafs-install.txt
Created September 30, 2014 17:29
getting a personal tahoe-lafs grid going
0. Get a VPS machine running Debian on it.
1. apt-get install tahoe-lafs
2. Create an introducer.
mkdir tahoe-introducer
cd tahoe-introducer
tahoe start .
cat private/introducer.furl #note down the long furl string
3. Create a storage node on the same VPS machine
tahoe create-node
edit ~/.tahoe/tahoe.cfg
  • Motivation

I am of the opinion that one should really (at least to a great extend) know what is going on in one's computer. I want less magic happening on my machine and want me to be the master of the system than the system to be a master of me.

When the systems were smaller, it was easy to reason about it at the high level. Unless one reads the code, one can never be sure. Most users don't read the source code even if it is available to them. The latest "shellshock" bug is a good example that "given enough eyeballs, most bugs are shallow" argument proposed by Eric Raymond.

  • A simple experiment.

Let us see what disk partitions are mounted on our operating systems.

@vu3rdd
vu3rdd / auth-links.txt
Last active August 29, 2015 14:06
auth
@vu3rdd
vu3rdd / new.txt
Last active August 29, 2015 14:06
setting up a new OSX machine
Packages to install
0. install nix. remove brew.
1. install firefox and privacy plugins (AdBlockEdge, https everywhere, disconnect.me ...)
2. vcsh and mr
3. git
4. Hg
5. plan9port
6. ghc and cabal - https://ghcformacosx.github.io/
7. emacs - https://github.com/railwaycat/emacs-mac-port
8. racket - http://racket-lang.org
@vu3rdd
vu3rdd / foldTree.hs
Last active February 2, 2018 09:03
why-fp-matters
-- if you search for "why fp matters" on google, the first hit is this page
-- http://www.cs.kent.ac.uk/people/staff/dat/miranda/whyfp90.pdf
-- Unfortunately it has some bugs on page 7 (foldtree function..). This
-- has been fixed by the author and republished here:
-- http://www.cse.chalmers.se/~rjmh/Papers/whyfp.pdf
foldTree f g a (Node label subtrees) = f label (foldTree' subtrees)
where foldTree' [] = a
foldTree' (subtree : subtrees) = g (foldTree f g a subtree)
(foldTree' subtrees)
@vu3rdd
vu3rdd / papers-queue.md
Last active August 29, 2015 14:05
Papers in my current read queue
@vu3rdd
vu3rdd / p9-faq.md
Last active August 29, 2015 14:01
Plan9/9atom questions
  1. How can the default font be changed?
  2. How to create a new user?
  3. How can I build my own kernel?
  4. How can I update the OS+applications?

replica/pull /dist/replica/network (to update from the network)

  1. How can I see the source code changes and why the changes were made (i.e. equivalent of hg/git log)?
  2. How can I build Python and Hg?
  3. How can I get Golang?