Skip to content

Instantly share code, notes, and snippets.

View thamsrang's full-sized avatar

Thams thamsrang

  • Chennai, Tamil Nadu, India
View GitHub Profile
// This implementation does not work with Symbols, BigInts
function stringify(data) {
if (data === undefined)
return undefined
if (data === null)
return 'null'
if (data.toString() === "NaN")
return 'null'
if (data === Infinity)
@thamsrang
thamsrang / service-checklist.md
Last active August 7, 2019 16:56 — forked from acolyer/service-checklist.md
Internet Scale Services Checklist

Internet Scale Services Checklist

A checklist for designing and developing internet scale services, inspired by James Hamilton's 2007 paper "On Desgining and Deploying Internet-Scale Services."

Basic tenets

  • Does the design expect failures to happen regularly and handle them gracefully?
  • Have we kept things as simple as possible?
@thamsrang
thamsrang / toUTF8Array.js
Created December 4, 2018 11:52 — forked from joni/toUTF8Array.js
toUTF8Array: Javascript function for encoding a string in UTF8.
function toUTF8Array(str) {
var utf8 = [];
for (var i=0; i < str.length; i++) {
var charcode = str.charCodeAt(i);
if (charcode < 0x80) utf8.push(charcode);
else if (charcode < 0x800) {
utf8.push(0xc0 | (charcode >> 6),
0x80 | (charcode & 0x3f));
}
else if (charcode < 0xd800 || charcode >= 0xe000) {
@thamsrang
thamsrang / sort-object-properties-by-value.md
Created November 15, 2018 11:45 — forked from umidjons/sort-object-properties-by-value.md
JavaScript: sort object properties by value (numeric or string)

Sort object properties by value (values are text)

I have following object:

var cities={10:'Tashkent', 14:'Karakalpakiya', 16:'Andijan'};

I want sort it by city names, so after sort it should be:

var cities={16:'Andijan', 14:'Karakalpakiya', 10:'Tashkent'};

But I can't sort object properties, instead can convert object into array, then sort items.

@thamsrang
thamsrang / random.js
Last active January 25, 2019 09:18 — forked from kerimdzhanov/random.js
JavaScript: get a random number from a specific range. #js #max #min #random
/**
* Get a random floating point number between `min` and `max`.
*
* @param {number} min - min number
* @param {number} max - max number
* @return {number} a random floating point number
*/
function getRandomFloat(min, max) {
return Math.random() * (max - min) + min;
}