Skip to content

Instantly share code, notes, and snippets.

const { Socket } = require('net');
const { Duplex } = require('stream');
class JsonSocket extends Duplex {
/**
JsonSocket implements a basic wire-protocol that encodes/decodes
JavaScripts objects as JSON strings over the wire. The wire protocol
is defined as:
4 len - length of JSON body
/**
* Usage: Call BigAutorelease* a = create_autorelease_object();. If the dealloc message is not printed, this code is not running in an autorelease pool block.
*/
@interface BigAutorelease: NSObject
@property(strong, nonatomic) NSMutableArray *arr;
@end
@implementation BigAutorelease
- (instancetype)init {
NSLog(@"Make BigAutorelease");
@theicfire
theicfire / -
Created January 10, 2015 20:01
hi there
# Find sqrt(2)
# Get a graph of y^2 - 2, find the 0. Use newtons's method.
import math
def iterate_root(start, n, p):
dx = .01
dy = ((start + dx) ** p) - (start ** p)
return start - ((start**p) - n)/(dy/dx)
def get_sqrt(n):
# Q: Given a list of length n+1 with numbers from 1 to n, there will be at least one duplicate. Find it.
# Running time: O(n). Space: O(1). Or rigorously O(lgn) given that a constant variable to represent the number "n" grows with lgn.
# http://stackoverflow.com/questions/6420467/find-any-one-of-multiple-possible-repeated-integers-in-a-list/6420503#6420503
import random
import pytest
def find_dup(lst):
assert(len(lst) >= 2)
assert(all(map(lambda x: 0 < x < len(lst), lst)))
#find cycle
# Makefile tutorial, through examples
# This is not a makefile! I just called it as such to have vim coloring work well.
########
# This makefile will always run. The default target is some_binary, because it is first.
########
some_binary:
echo "nothing"
########
@theicfire
theicfire / designer.html
Created September 29, 2014 18:36
designer
<link rel="import" href="../code-mirror/code-mirror.html">
<link rel="import" href="../speech-mic/speech-mic.html">
<link rel="import" href="../yt-video/yt-search-video.html">
<link rel="import" href="../cool-clock/cool-clock.html">
<link rel="import" href="../paper-radio-button/paper-radio-button.html">
<polymer-element name="my-element">
<template>
<style>
@theicfire
theicfire / gist:8535877
Created January 21, 2014 07:47
Hide Old Rows for Google Docs using Apps Script
/**
* Looks for rows with old dates, and hides them if so.
* It finds the date column my checking the first column for the word 'Date'.
*/
function hideOldRows(colNum) {
var sheet = SpreadsheetApp.getActiveSheet();
var header = sheet.getRange(1, 1, 1, sheet.getLastColumn());
var colNum = header.getValues()[0].indexOf('Date') + 1;
if (colNum === 0) {
Logger.log(header.getValues());
@theicfire
theicfire / gist:6573314
Last active December 23, 2015 03:28
Resizable line with handles | SVG, d3.js, Javascript
<!DOCTYPE html>
<meta charset="utf-8">
<style>
svg {
float: left;
}
line {
shape-rendering: crispEdges;
stroke-width: 1px;
@theicfire
theicfire / new_bashrc.sh
Created August 11, 2012 16:54 — forked from josephwecker/new_bashrc.sh
Replace .bashrc, .bash_profile, .profile, etc. with something much more clean, consistent, and meaningful.
#!/bin/bash
# License: Public Domain.
# Author: Joseph Wecker, 2012
#
# Are you tired of trying to remember what .bashrc does vs .bash_profile vs .profile?
# Are you tired of trying to remember how darwin/mac-osx treat them differently from linux?
# Are you tired of not having your ~/.bash* stuff work the way you expect?
#
# Symlink all of the following to this file:
# * ~/.bashrc