Skip to content

Instantly share code, notes, and snippets.

@kinncj
kinncj / binaryTree.php
Created August 30, 2016 00:35
binaryTree max height PHP
<?php
class Node
{
private $left;
private $right;
public function __construct(Node $left = null, Node $right = null)
{
$this->left = $left;
@kinncj
kinncj / sorting.php
Created August 30, 2016 00:24
Sorting in PHP
<?php
function bubble(array $array)
{
$n = count($array);
for($counter = 1; $counter < $n; $counter++) {
for ($current = $n -1; $current >= $counter; $current--) {
$next = $current - 1;
@kinncj
kinncj / message.js
Created August 22, 2016 23:03
console log message
(function() {
var m = 'font-family:monospace;color:#';
if(window.console) {
console.log('%cyour %cmessage %chere! %chttp://www.site.com', m+'1EFF00',m+'FF0000',m+'668CFF', m+'C6F612');
}
}())
@kinncj
kinncj / String.prototype.js
Last active August 12, 2016 14:44
String.replaceMap(parameterList);
String.prototype.replaceMap = function(parameters) {
var string = this.toString();
Object.keys(parameters).forEach(function(key){
string = string.replace(new RegExp(key, 'g'), parameters[key]);
});
return string;
}
@kinncj
kinncj / Dilmas.php
Last active June 6, 2017 13:54
Dilmas Currency
<?php
class Dilmas extends \SplFloat
{
public function __construct($value)
{
$currency = json_decode(file_get_contents('http://api.fixer.io/latest?base=USD&symbols=BRL'), true);
$brl =(float) $currency['rates']['BRL'];
parent::__construct(((float) round($value / $brl, 2)));
@kinncj
kinncj / Map.php
Last active September 21, 2015 15:51
Map
<?php
class Map extends ArrayObject
{
public function __construct($input = [], $flags = 0, $iterator_class = "ArrayIterator")
{
parent::__construct([], $flags, $iterator_class);
foreach ($input as $k=>$v) {
$this[$k] = $v;
@kinncj
kinncj / Enum.php
Created September 17, 2015 20:07
Enum
<?php
abstract class Enum extends \ArrayObject
{
public final function __construct()
{
$constantsToRemove = ['STD_PROP_LIST', 'ARRAY_AS_PROPS'];
$constants = (new \ReflectionObject($this))->getConstants();
foreach ($constants as $constant => $value) {
@kinncj
kinncj / index.php
Created August 13, 2015 14:18
ZCEs from CANADA
<?php
function readStdin($message = null)
{
if ($message) {
echo $message.PHP_EOL;
}
$fr=fopen("php://stdin","r");
$input = fgets($fr,128);
$input = rtrim($input);
@kinncj
kinncj / oauth.js
Created July 17, 2015 22:22
Pebble OAuth Handler
function hex_sha1(e){return binb2hex(core_sha1(str2binb(e),e.length*chrsz))}function b64_sha1(e){return binb2b64(core_sha1(str2binb(e),e.length*chrsz))}function str_sha1(e){return binb2str(core_sha1(str2binb(e),e.length*chrsz))}function hex_hmac_sha1(e,t){return binb2hex(core_hmac_sha1(e,t))}function b64_hmac_sha1(e,t){return binb2b64(core_hmac_sha1(e,t))}function str_hmac_sha1(e,t){return binb2str(core_hmac_sha1(e,t))}function sha1_vm_test(){return"a9993e364706816aba3e25717850c26c9cd0d89d"==hex_sha1("abc")}function core_sha1(e,t){e[t>>5]|=128<<24-t%32,e[(t+64>>9<<4)+15]=t;for(var r=Array(80),n=1732584193,a=-271733879,o=-1732584194,u=271733878,h=-1009589776,c=0;c<e.length;c+=16){for(var s=n,i=a,f=o,l=u,d=h,A=0;80>A;A++){16>A?r[A]=e[c+A]:r[A]=rol(r[A-3]^r[A-8]^r[A-14]^r[A-16],1);var m=safe_add(safe_add(rol(n,5),sha1_ft(A,a,o,u)),safe_add(safe_add(h,r[A]),sha1_kt(A)));h=u,u=o,o=rol(a,30),a=n,n=m}n=safe_add(n,s),a=safe_add(a,i),o=safe_add(o,f),u=safe_add(u,l),h=safe_add(h,d)}return Array(n,a,o,u,h)}function sha1
@kinncj
kinncj / app.js
Last active August 29, 2015 14:24
ReactJS Modal
'use strict';
import { createClass } from 'react/addons';
let App = createClass({
render: function() {
return <div>
<Button label="Open!" target="modalTest" classNames=".buttonStyle" />
<Modal name="modalTest">
<div class='modal'>