Skip to content

Instantly share code, notes, and snippets.

Avatar

Eran Kampf ekampf

View GitHub Profile
@ekampf
ekampf / gist:21455ffc416ba3045448ed4874d4ec9b
Last active Jul 13, 2021
Block Taboola by changing /etc/hosts
View gist:21455ffc416ba3045448ed4874d4ec9b
# Block Taboola
0.0.0.0 popup.taboola.com
0.0.0.0 www.popup.taboola.com
0.0.0.0 taboola.com
0.0.0.0 www.taboola.com
0.0.0.0 cdn.taboolasyndication.com
0.0.0.0 taboolasyndication.com
0.0.0.0 www.taboolasyndication.com
0.0.0.0 www.cdn.taboolasyndication.com
0.0.0.0 trc.taboola.com
View GalaxyCount.md

Galaxies Count

Problem Description

Given a 2d grid of '1's (space clusters with stars) and '0's (dark space clusters without any stars), count the number of galaxies on the grid. An Galaxy is a group a space clusters containing stars, surrounded by dark clusters (no starts) and connected horizontally or vertically.

Examples:

View cache.py
"""
Implement a cache class that stores given item. The cache is limited to a given `size` and will discard the
least recently used item if it needs the space.
Clearly document design choices, algorithm and possible optimizations.
While we require you to implement one memory allocation algorithm,
also document future looking design considerations.
Implementation Notes:
* While the interface below is written in Python, feel free to implement the Cache in the language of your choosing.
@ekampf
ekampf / mem.c
Last active Jul 13, 2021
Eran's Interview Question
View mem.c
// Implement a virtual 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.
// You do need to consider the case of fragmentation.
//
// Example test case:
// - initialize a buffer of 5 chars: -----
// - allocate 5 blocks of 1 char: XXXXX
// - free the 2nd and 4th: X-X-X
// - Can you now call Alloc(2) ? What would you need to change in the interface to be able to do so?
@ekampf
ekampf / big_query_dsl.py
Last active Apr 28, 2017
Choosing an Analytics Schema Scales
View big_query_dsl.py
__author__ = 'ekampf'
class FieldTypes(object):
integer = 'INTEGER'
float = 'FLOAT'
string = 'STRING'
record = 'RECORD'
ts = 'TIMESTAMP'
class FieldMode(object):
View test
{
"streams": {
"nasa": {
"input-path": "/HBOHD_HD_TVE_15152_0_5472624192174078163/format-hls-track-muxed-bandwidth-3101600-repid-root_audio_video1.m3u8",
"servers": [
"http://odol-atsec-sfb-43.linear-tve-pil.top.comcast.net"
]
}
},
"actions": [
@ekampf
ekampf / normalize.py
Last active Nov 20, 2016
Normalize values by std deviation
View normalize.py
def zscore(numbers_list):
numbers = numpy.array(numbers_list)
return (numbers - numbers.mean()) / numbers.std()
@ekampf
ekampf / resource_route.py
Last active Dec 17, 2015
webapp2.py (Google AppEgnine) Resource Route to describe RESTful resources
View resource_route.py
from webapp2 import Route
from webapp2_extras.routes import MultiRoute
from inflection import singularize, pluralize
__author__ = 'ekampf'
# pylint:disable=C0326,R0902
class ResourceRoute(MultiRoute):
@ekampf
ekampf / gist:13916578123fedb60977
Last active Aug 29, 2015
Python NotificationsManager and observer
View gist:13916578123fedb60977
class Singleton(type):
_instances = {}
def __call__(cls, *args, **kwargs):
if cls not in cls._instances:
cls._instances[cls] = super(Singleton, cls).__call__(*args, **kwargs)
return cls._instances[cls]
class observes(object):
def __init__(self, name):
@ekampf
ekampf / pypossibly.py
Created Jun 11, 2014
Python option patrern (Maybe Monad)
View pypossibly.py
import logging
import sys
class Maybe(object):
pass
class Nothing(Maybe):
def is_some(self):
return False