Skip to content

Instantly share code, notes, and snippets.

View sureshg's full-sized avatar
🚀
☕️

Suresh sureshg

🚀
☕️
View GitHub Profile
@sureshg
sureshg / sl.go
Created September 21, 2014 23:47
Steam Locomotive in go - http://play.golang.org/p/NOycgN2i6b
package main
import (
"time"
"fmt"
"strings"
)
func main() {
p := [][][]string {
@sureshg
sureshg / HeadlessBrowser.md
Last active August 29, 2015 14:13
Headless Browser on CentOS 6.5
# Installation Steps on CentOS 6.5
# --------------------------------

$ sudo su -
$ yum install xorg-x11-server-Xvfb
$ yum install firefox
$ yum install ImageMagick
$ dbus-uuidgen > /var/lib/dbus/machine-id
@sureshg
sureshg / JMM.java
Created June 12, 2016 21:51
Java Memory Model Tests
class DataRace {
// Make volatile
boolean ready = false;
int answer = 0;
void thread1() {
// Spin Lock
while(!ready);
assert answer == 42
}
@sureshg
sureshg / Glyphs.kt
Last active January 24, 2018 20:30
Glyphs
/**
* Glyph object provides Unicode glyphs as well as it's plain ASCII alternatives.
* All ASCII glyphs are guaranteed to be the same number of characters as the
* corresponding Unicode glyphs, so that they line up properly when printed on
* a terminal. The orginal data file is taken from "Dart term_glyph" project.
*
* @author Suresh
*
* @see https://github.com/dart-lang/term_glyph
*/
@sureshg
sureshg / keybase.md
Created June 11, 2017 18:41
My Keybase Proof

Keybase proof

I hereby claim:

  • I am sureshg on github.
  • I am suresh (https://keybase.io/suresh) on keybase.
  • I have a public key ASD8u-c3VMPka4yOWW5gIiwIpdyKn01ITOTj-WRklYLQBAo

To claim this, I am signing this object:

@sureshg
sureshg / projectDependencyGraph.gradle
Created June 9, 2018 08:06
Gradle project dependency graph
task projectDependencyGraph {
doLast {
def dot = new File(rootProject.buildDir, 'project.dot')
dot.delete()
dot << 'digraph {\n'
dot << " graph [label=\"${rootProject.name}\\n \",labelloc=t,fontsize=30];\n"
dot << ' node [style=filled, fillcolor="#bbbbbb"];\n'
dot << ' rankdir=TB;\n'
@sureshg
sureshg / convert to pkcs 8.md
Created June 20, 2018 18:10 — forked from markscottwright/convert to pkcs 8.md
How to convert a java private key from PKCS#1 encoding to PKCS#8

I had some historical key material data in pkcs#1 format that needed to be in pkcs#8 for input into another system. Here's how to do it, using BouncyCastle:

import org.bouncycastle.asn1.ASN1InputStream;
import org.bouncycastle.asn1.DERObject;
import org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers;
import org.bouncycastle.asn1.pkcs.PrivateKeyInfo;
import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
import java.security.PrivateKey;
@sureshg
sureshg / Regex.md
Last active July 13, 2018 06:27
Catastrophic Backtracking
@sureshg
sureshg / openssl_commands.md
Created February 18, 2020 19:26 — forked from p3t3r67x0/openssl_commands.md
Some list of openssl commands for check and verify your keys

openssl

Install

Install the OpenSSL on Debian based systems

sudo apt-get install openssl
@sureshg
sureshg / latency.txt
Created June 16, 2020 19:29 — forked from jboner/latency.txt
Latency Numbers Every Programmer Should Know
Latency Comparison Numbers (~2012)
----------------------------------
L1 cache reference 0.5 ns
Branch mispredict 5 ns
L2 cache reference 7 ns 14x L1 cache
Mutex lock/unlock 25 ns
Main memory reference 100 ns 20x L2 cache, 200x L1 cache
Compress 1K bytes with Zippy 3,000 ns 3 us
Send 1K bytes over 1 Gbps network 10,000 ns 10 us
Read 4K randomly from SSD* 150,000 ns 150 us ~1GB/sec SSD