Skip to content

Instantly share code, notes, and snippets.

View jacobsantos's full-sized avatar

Jacob Santos jacobsantos

View GitHub Profile
#include <iostream>
using namespace std;
#include <stdlib.h> // For Rand
#include <time.h> // For SRand
#include <GL/glut.h> // For GLUT and OpenGL
#include <GL/glui.h> // For GLUI Menu API
#include <string.h> // For Strings
/*
* TODO:
@jacobsantos
jacobsantos / Display
Last active April 25, 2017 19:50
Luhn PHP
79927398710 is not valid.
79927398713 is valid.
Sending build context to Docker daemon 87.04 kB
Step 1 : FROM php:7.0-fpm
---> a4ecb424acb5
Step 2 : RUN set -ex && apt-get update && apt-get install -y curl g++ openssl libfreetype6-dev libjpeg62-turbo-dev libmcrypt-dev libpng12-dev libicu-dev libxml2-dev libcurl4-openssl-dev libsodium-dev && docker-php-ext-install -j$(nproc) iconv mcrypt json intl xml gettext mbstring soap zip curl mysqli pdo pdo_mysql && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && docker-php-ext-install -j$(nproc) gd && docker-php-ext-configure bcmath && docker-php-ext-install bcmath && pecl install apc && pecl install libsodium && docker-php-ext-enable libsodium
---> Using cache
---> 726852f013fd
Step 3 : RUN set -ex && apt-get update && apt-get install -y wget unzip libxml2-dev && curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && curl -fsSL 'http://www.libxl.co
FROM ubuntu:xenial
ARG PHP_VERSION=5.5
ARG LIBXL_BRANCH="master"
ARG LIBXL_VERSION="3.6.5"
ENV PHP_VERSION $PHP_VERSION
# LibXL PHPExcel
ENV LIBXL_SRC_DIR /opt/libxl
@jacobsantos
jacobsantos / Dockerfile
Last active December 8, 2016 16:26
PHP Excel Dockerfile using php:7.0-fpm
FROM php:7.0-fpm
RUN set -ex \
&& apt-get update && apt-get install -y \
curl \
g++ \
openssl \
libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
/bin/bash /tmp/php_excel-php7/libtool --mode=compile cc -I. -I/tmp/php_excel-php7 -DPHP_ATOM_INC -I/tmp/php_excel-php7/include -I/tmp/php_excel-php7/main -I/tmp/php_excel-php7 -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -I/opt/libxl/include_c/ -I/usr/include/libxml2 -fstack-protector-strong -fpic -fpie -O2 -DHAVE_CONFIG_H -fstack-protector-strong -fpic -fpie -O2 -c /tmp/php_excel-php7/excel.c -o excel.lo
mkdir .libs
cc -I. -I/tmp/php_excel-php7 -DPHP_ATOM_INC -I/tmp/php_excel-php7/include -I/tmp/php_excel-php7/main -I/tmp/php_excel-php7 -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -I/opt/libxl/include_c/ -I/usr/include/libxml2 -fstack-protector-strong -fpic -fpie -O2 -DHAVE_CONFIG_H -fstack-protector-strong -fpic -fpie -O2 -c /tmp/p

Notes

  1. EggHead has an actual name, but the community knows him as "Egghead" or EggHead as his monkier, so that will be used throughout. EggHead will not get timestamps, because he does not speak enough to warrant it and will be interrupted enough that it will be hard to track.
  2. The audio reference is from the YouTube video. The SoundCloud audio appears to be different and there seems to be edited from the video.
  3. Listening to the SoundCloud or iTunes has much less cringe than the video. It is recommended that you listen to the first half.

Intro

<?php
$data = [1,1,1,1,2,2,2,2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4];
$chunks = array_count_values($data);
$values = array_keys($chunks);
$used = array_combine($values, array_fill(0, count($values), 0));
$new_distribution = [];
$previous = null;
@jacobsantos
jacobsantos / EventStorageInterface.php
Created July 5, 2015 22:20
WordPress Plugin Refactoring Example
<?php
interface StorageInterface {
public function listen( $name, $listener, $priority = 10, $limitArguments = 1 );
public function hasListener( $name, $listener = null );
public function silence( $name, $listener, $priority = 10 );
@jacobsantos
jacobsantos / CacheDataInterface.php
Last active August 29, 2015 14:24
WordPress Cache Refactoring Example
<?php
interface CacheDataInterface {
public function setIndex($name, $group = '');
public function index();
public function setData( $value );
public function data();
public function increment( $offset = 1 );