Skip to content

Instantly share code, notes, and snippets.


Ravindranath Akila ravindranathakila

View GitHub Profile
ravindranathakila /
Created Feb 6, 2021 — forked from wojteklu/
Summary of 'Clean code' by Robert C. Martin

Code is clean if it can be understood easily – by everyone on the team. Clean code can be read and enhanced by a developer other than its original author. With understandability comes readability, changeability, extensibility and maintainability.

General rules

  1. Follow standard conventions.
  2. Keep it simple stupid. Simpler is always better. Reduce complexity as much as possible.
  3. Boy scout rule. Leave the campground cleaner than you found it.
  4. Always find root cause. Always look for the root cause of a problem.

Design rules

View Dockerfile
FROM openjdk:14-alpine
ENV P=8080
ADD build/distributions/$D.tar /opt/run/
ENTRYPOINT /opt/run/$D/bin/$D
ravindranathakila / balance.go
Created Oct 1, 2019 — forked from darkhelmet/balance.go
Simple TCP load balancer in Go.
View balance.go
package main
import (
#! /usr/bin/env bash
zookeeper-server \
hadoop-hdfs-datanode \
hadoop-hdfs-journalnode \
hadoop-hdfs-namenode \
hadoop-hdfs-secondarynamenode \
hadoop-httpfs \
hadoop-mapreduce-historyserver \
ravindranathakila /
Last active Feb 6, 2017
# Runs Cloudera Quick Start image with commonly used Web UI ports. Perquisites: Cloudera Quickstart Image already pulled as cloudera
#!/usr/bin/env bash
grep "^[^_].\+(){$" $0 | while read line; do
local cmd=$(echo "$line" | sed "s/(){//g")
local info=$(grep -C0 -A0 -B1 "$cmd(){" $0 | sed "N;s/\n.*//g" )
printf " $0 %-20s %-40s\n" "$cmd" "$info" | grep "#"
done; echo "";
# Runs Cloudera Quick Start image with commonly used Web UI ports. Perquisites: Cloudera Quickstart Image already pulled as cloudera
ravindranathakila / pedantically_commented_playbook.yml
Created Oct 17, 2016 — forked from marktheunissen/pedantically_commented_playbook.yml
Insanely complete Ansible playbook, showing off all the options
View pedantically_commented_playbook.yml
# ^^^ YAML documents must begin with the document separator "---"
#### Example docblock, I like to put a descriptive comment at the top of my
#### playbooks.
# Overview: Playbook to bootstrap a new host for configuration management.
# Applies to: production
# Description:
# Ensures that a host is configured for management with Ansible.
package example;
import java.util.Properties;
import cascading.flow.Flow;
import cascading.flow.FlowDef;
import cascading.flow.hadoop.HadoopFlowConnector;
import cascading.pipe.CoGroup;
import cascading.pipe.Pipe;
import cascading.pipe.assembly.CountBy;

The introduction to Reactive Programming you've been missing

(by @andrestaltz)

So you're curious in learning this new thing called Reactive Programming, particularly its variant comprising of Rx, Bacon.js, RAC, and others.

Learning it is hard, even harder by the lack of good material. When I started, I tried looking for tutorials. I found only a handful of practical guides, but they just scratched the surface and never tackled the challenge of building the whole architecture around it. Library documentations often don't help when you're trying to understand some function. I mean, honestly, look at this:

Rx.Observable.prototype.flatMapLatest(selector, [thisArg])

Projects each element of an observable sequence into a new sequence of observable sequences by incorporating the element's index and then transforms an observable sequence of observable sequences into an observable sequence producing values only from the most recent observable sequence.

View gist:bdc0b9269d78512a3a3e
package com.tistory.devyongsik.hadoop.mapre;
import org.apache.hadoop.mapreduce.Mapper;