Skip to content

Instantly share code, notes, and snippets.

View vemahendran's full-sized avatar
🎯
Focusing

Venkatesan Mahendran vemahendran

🎯
Focusing
  • Bangalore, India
View GitHub Profile
@vemahendran
vemahendran / http-call.js
Last active February 5, 2024 12:03
A common utility for xhr and fetch apis
// START: HTTP library code
var isFetch = typeof fetch !== 'undefined' && fetch !== null;
var httpCall = function (url, method, headers, payload, callback) {
if (isFetch) return fetchWrapper(url, method, headers, payload, callback);
return invokeXHR(url, method, headers, payload, callback);
};
var invokeXHR = function (url, method, headers, payload, callback) {
const xhr = new XMLHttpRequest();
function convertToHrsMinsFormat(seconds) {
return "" + Math.floor(seconds / 3600) + ":" + Math.floor((seconds % 3600) / 60);
}
function convertToSeconds(hoursMinsStr) {
var secondsList = hoursMinsStr.split(":");
return (secondsList[0] * 60 * 60) + (secondsList[1] * 60);
}
@vemahendran
vemahendran / radar-test.csv
Created June 14, 2021 17:53
radar-test.csv
name quadrant ring isNew description
standard-name 1 Developers Adopt TRUE <p>standard-name 1 - description blah blah blah</p>
standard-name 2 Developers Adopt TRUE <p>standard-name 2 - description blah blah blah</p>
standard-name 3 Developers Adopt TRUE <p>standard-name 3 - description blah blah blah</p>
standard-name 4 Developers Trial TRUE <p>standard-name XYZ - description blah blah blah</p>
standard-name 5 Developers Trial TRUE <p>standard-name XYZ - description blah blah blah</p>
standard-name 6 Developers Trial FALSE <p>standard-name XYZ - description blah blah blah</p>
standard-name 7 Developers Assess FALSE <p>standard-name XYZ - description blah blah blah</p>
standard-name 8 Developers Assess FALSE <p>standard-name XYZ - description blah blah blah</p>
standard-name 9 Developers Hold TRUE <p>standard-name XYZ - description blah blah blah</p>
### Keybase proof
I hereby claim:
* I am vemahendran on github.
* I am vemahendran (https://keybase.io/vemahendran) on keybase.
* I have a public key whose fingerprint is E728 33B0 9540 8015 D2C6 D42B 1EC8 28A6 BC87 3092
To claim this, I am signing this object:
@vemahendran
vemahendran / Solution.java
Created January 20, 2021 14:40
Restaurant Menu Problem
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.HashMap;
class Solution {
static final String EXPECTED_OUTPUT = String.join(
System.getProperty("line.separator"),
"==== Just Falafs ====",
" ~ Menu ~",
@vemahendran
vemahendran / ExpressionEvaluation.java
Last active January 5, 2021 14:45
Evaluate math expression - Djikistra shunting yard algorithm - Using only stacks
package com.tutorial;
import java.util.Stack;
public class ExpressionEvaluation {
public static void main(String[] args) {
String expr1 = "10+5*13+2"; // 77
double result1 = evaluate(expr1);
String expr2 = "10*5+13*2"; // 76
@vemahendran
vemahendran / ExpressionEvaluation.java
Created January 4, 2021 20:52
Evaluate expression using Djikistra shunting yard algorithm
package com.tutorial;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.Map;
import java.util.Queue;
import java.util.Stack;
public class ExpressionEvaluation {
public void useParallelStream(List<MyTask> tasks) {
System.out.println("Run using a parallel stream. \nWait…");
Instant startTime = Instant.now();
List<Integer> result = tasks.parallelStream()
.map(MyTask::calculate)
.collect(Collectors.toList());
Instant endTime = Instant.now();
public void useCompletableFutureWithExecutor(List<MyTask> tasks) {
System.out.println("Run CompletableFutures with a custom Executor \nWait…");
final int NUM_OF_THREADS = 1000;
Instant startTime = Instant.now();
ExecutorService executor = Executors.newFixedThreadPool(
Math.min(tasks.size(), NUM_OF_THREADS));