Skip to content

Instantly share code, notes, and snippets.

View erans's full-sized avatar
馃挱
Hiring developers in Oakland, thje Bay area and anywhere in the US!

Eran Sandler erans

馃挱
Hiring developers in Oakland, thje Bay area and anywhere in the US!
View GitHub Profile
@erans
erans / mem.c
Created October 14, 2018 17:49 — forked from ekampf/mem.c
Eran's Interview Question
// Implement a memory manager that takes a large contiguous block of memory and manages allocations
// and deallocations on it.
// The entire buffer needs to be available for allocation. You can use whatever extra memory you need to manage it.
//
// Clearly document design choices, algorithm and possible optimizations.
// While we require you to implement one memory allocation algorithm,
// also document future looking design considerations.
// There are many ways to implement this memory manager. It is important for us to know why you implemented it the way you did,
// whats the pros and cons to your implementation, etc.
//
@erans
erans / keybase.md
Created July 11, 2018 16:06
keybase.md

Keybase proof

I hereby claim:

  • I am erans on github.
  • I am erans (https://keybase.io/erans) on keybase.
  • I have a public key whose fingerprint is 2DBE C674 27AD 6FD9 209F 0C1D 2403 18B5 90D1 4A2F

To claim this, I am signing this object:

@erans
erans / json-unmarshal-test.go
Created July 18, 2016 07:38
Unmarshaling JSON text with a long integer number to Struct with field of type interface{}
package main
import (
"encoding/json"
"fmt"
)
type container struct {
Name string
Value interface{}
@erans
erans / main.go
Last active June 5, 2024 14:36
Go Example: Google CloudSQL with CloudSQL Proxy and GORM
package main
import (
"github.com/jinzhu/gorm"
_ "database/sql"
_ "github.com/GoogleCloudPlatform/cloudsql-proxy/proxy/dialers/mysql"
)
// You can read more in this post: http://forecastcloudy.net/2016/06/28/using-google-cloud-sql-from-go-with-gorm-in-google-container-engine-and-google-compute-engine/
func main() {
@erans
erans / mongobackup.sh
Last active October 7, 2019 16:59
MongoDB ReplicaSet Backup Script on Google Compute Engine and Google Cloud Storage
# Path to boto config file, needed by gsutils
BOTO_CONFIG="/etc/boto.cfg"
# Path in which to create the backup (will get cleaned later)
BACKUP_PATH="/mnt/data/dump/"
# DB name
DB_NAME="mydatabase"
# Google Cloud Storage Bucket Name
@erans
erans / alert_areas_to_city_mappings
Created July 10, 2014 05:40
诪讬驻讜讬 讗讬讝讜专讬 讛转专讗讛 诇注专讬诐
var cities = [{label:"讗 讚讛讗讘砖讛", value:"124"},
{label:"讗 讚讬专讗转", value:"122"},
{label:"讗 讚谞驻讬专讬", value:"205"},
{label:"讗 讝讬讗讚谞讛 讚专讜诪讬转 诇专讛讟", value:"179"},
{label:"讗 讝讬讗讚谞讛 爪驻讜谞讬转 诇专讛讟", value:"179"},
{label:"讗 讝注讬讬诐", value:"96"},
{label:"讗 讟讘拽讛", value:"122"},
{label:"讗 讟讜讜讗谞讬", value:"122"},
{label:"讗 诇讜讘讗谉", value:"92"},
{label:"讗 谞讘讗专讬", value:"199"},
@erans
erans / encrypt_decrypt_example.js
Last active October 14, 2022 02:31
Example of encryption and decryption in node.js
var crypto = require("crypto")
function encrypt(key, data) {
var cipher = crypto.createCipher('aes-256-cbc', key);
var crypted = cipher.update(data, 'utf-8', 'hex');
crypted += cipher.final('hex');
return crypted;
}
@erans
erans / UIImage+Resize.m
Created November 7, 2011 07:10
UIImage+Resize.m Fix for Rotation / Orientation on iOS 5
- (UIImage *)resizedImage:(CGSize)newSize interpolationQuality:(CGInterpolationQuality)quality {
BOOL drawTransposed;
CGAffineTransform transform = CGAffineTransformIdentity;
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 5.0) {
// Apprently in iOS 5 the image is already correctly rotated, so we don't need to rotate it manually
drawTransposed = NO;
} else {
switch (self.imageOrientation) {
case UIImageOrientationLeft:
@erans
erans / s3clonebucket.py
Last active April 25, 2020 12:27
Clone S3 Bucket
import argparse
import time
from boto.s3.connection import S3Connection
from boto.exception import S3ResponseError
def run(args):
s3_connection = S3Connection(args.aws_access_key, args.aws_secret_access_key)
source_bucket = s3_connection.get_bucket(args.source_bucket)
destination_bucket = None
@erans
erans / gmail_email.py
Created July 17, 2011 07:45
Check if an Email address is Gmail or Google Apps for your domain
import sys
import re
import dns.resolver # Requires dnspython
email_host_regex = re.compile(".*@(.*)$")
gmail_servers_regex = re.compile("(.google.com.|.googlemail.com.)$", re.IGNORECASE)
def is_gmail(email):
""" Returns True if the supplied Email address is a @gmail.com Email or is a Google Apps for your domain - hosted Gmail address
Checks are performed by checking the DNS MX records """