Skip to content

Instantly share code, notes, and snippets.

View bitsevn's full-sized avatar

Arun Kumar bitsevn

View GitHub Profile
@bitsevn
bitsevn / DelayedEvictionCacheTest.java
Created January 28, 2020 05:37
Evict items from cache based of provided delay
package com.bitsevn.azure.app.service.greeter.jar;
import java.time.Duration;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CountDownLatch;
@bitsevn
bitsevn / BoggleGameSolver.java
Created August 6, 2019 19:49
Boggle Game Solver - Uses Tries, Graph DFS & Backtracking
package com.datastructures.problems;
import java.util.*;
import java.util.stream.Stream;
/**
* Dictionary = [ CAT, DOG, BYTE, TUBE, CAN, ANT, CAR, TANK ]
* Boggle = {
* C J Z E
* V A X B
@bitsevn
bitsevn / HierarchyConverter.java
Created January 13, 2019 19:53
Convert delimited string records into hierarchy
package in.cubestack.tree;
import java.util.ArrayList;
import java.util.List;
public class TreeDemo {
public static void main(String[] args) {
List<Record> records = new ArrayList<>();
records.add(new Record(1, "Neelgiri Tea", ""));
@bitsevn
bitsevn / d3-tree-chart.html
Created October 6, 2017 20:49
d3 tree chart
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Tree Example</title>
<style>
.node {
cursor: pointer;
}
@bitsevn
bitsevn / Main.java
Created February 16, 2017 17:58
Send mail with embedded images
package cubestack.examples.mail;
import java.io.IOException;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.Message.RecipientType;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
@bitsevn
bitsevn / drag-n-drop.html
Created November 17, 2016 05:41
HTML5 native drag and drop implementation
<!DOCTYPE html>
<-- reference: https://www.html5rocks.com/en/tutorials/dnd/basics/ -->
<html>
<head>
<meta charset="UTF-8">
<title>Title of the document</title>
<style type="text/css">
body { padding: 50px; }
/* Prevent the text contents of draggable elements from being selectable. */
@bitsevn
bitsevn / actionCreators.js
Last active May 25, 2016 21:35
Utilities for creating Redux Action Creators - Reducing boilerplate code
import createActionCreator from './createActionCreators' // path to the file
const add = createActionCreator(ADD_TODO, { firstName: 'arun', lastName: 'kumar', addresses: ['mumbai', 'delhi'] })
const edit = createActionCreator(EDIT_TODO, { id: 10, firstName: 'arun', lastName: 'kumar', accounts: [{ accountType: 'saving' }, { accountType: 'current' }] });
const remove = createActionCreator(REMOVE_TODO, { id: 10 })
// Produces below output
console.log('add', add())
// {type: "ADD_TODO", firstName: 'arun', lastName: 'kumar', addresses: ['mumbai', 'delhi']}
@bitsevn
bitsevn / SerialParallelStreams.java
Last active May 21, 2016 13:14
Serial/Parellel Processing using Java 8 Streams.
package com.cubestacklabs.arrow.files;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.concurrent.ConcurrentHashMap;
import java.util.stream.Stream;
public class SerialParallelStreams {
@bitsevn
bitsevn / webpack.config.optimized.js
Created May 20, 2016 21:03
Webpack configuration for crunching the React build file size
var debug = process.env.NODE_ENV !== "production";
var webpack = require('webpack');
var path = require('path');
// get build version
var pkg = require('./package.json');
// build timestamp
var buildTimestamp = buildTime();
module.exports = {
context: path.join(__dirname, "src"),
@bitsevn
bitsevn / custom-react-modules.text
Created May 20, 2016 20:06
Common way of importing custom re-usable React Components in your React App, without ../../
// webpack.config.js
resolve: {
alias: {
"modules": __dirname + "/src/modules"
}
}
// in src/modules folder
modules
|_ lib
| |_ MyModule1.js