Skip to content

Instantly share code, notes, and snippets.

View tlhunter's full-sized avatar
📷
Taking Photos

Thomas Hunter II tlhunter

📷
Taking Photos
View GitHub Profile
@tlhunter
tlhunter / embed.js
Last active November 3, 2018 05:56
Replace GitHub Gist's, YouTube, Vimeo URLs with their embed equivalent
/**
* This function accepts text which is to be transformed into HTML. When
* it encounteres a line which simply contains a single URL it will replace
* that URL with an HTML tag to embed the corresponding resource.
*
* Supported services:
* - GitHub Gists
* - YouTube Videos
* - Vimeo Videos
*/
@tlhunter
tlhunter / linux-desktop-install.sh
Created April 10, 2018 19:27
For my Openbox setup. Needs manual intervention everywhere
sudo apt install leafpad htop \
openbox menu openbox-menu tint2 \
obconf lxappearance scrot \
terminator git stterm arandr \
build-essential curl dia dmenu etherape \
filezilla gimp gparted hexcurse \
inkscape nmap tig tmux transmission-gtk \
vim-gtk vlc wireshark zsh keepassx snapd \
feh galculator kazam xbacklight
// parent.js
const fork = require('child_process').fork;
const CHILDREN = require('os').cpus().length;
const pool = [];
const OPTS = {
stdio: [0, 1, 2, 'ipc']
};
@tlhunter
tlhunter / challenge.eml
Last active November 30, 2017 16:39
Resignation Email Engineering Challenge
I included the following block of text, disguised to resemble a PGP sig, at
the end of my goodbye work email. It also included information about which
internal chat room to post the solution in. The first engineer to reply won
the recognition of our coworkers. Can you come up with the answer?
-----BEGIN SUPER FUN ENGINEERING CHALLENGE-----
IyBTdXBlciBGdW4gRW5naW5lZXJpbmcgQ2hhbGxlbmdlCgpDb25jYXRlbmF0ZSB0aGUgc29sdXRp
b24gdG8gZWFjaCBwcm9ibGVtIChzaW1wbGUgQVNDSUkpIGZvciB0aGUgZmluYWwgYW5zd2VyLgpF
YWNoIGFuc3dlciB3aWxsIGNvbnNpc3Qgb2YgbnVtYmVycyBhbmQgY2FwaXRhbCBsZXR0ZXJzLgpZ
b3Ugd2lsbCBrbm93IGlmIHlvdSBoYXZlIHRoZSBjb3JyZWN0IHN0cmluZyBpZiB0aGUgU0hBMSBz
# Setup Realm's PackageCloud repository
curl -s https://packagecloud.io/install/repositories/realm/realm/script.deb.sh | sudo bash
# Update the repositories
sudo apt-get update
# Install the Realm Object Server
sudo apt-get install realm-object-server-developer
# Enable and start the service
@tlhunter
tlhunter / simple-cache.js
Last active October 6, 2017 19:58
In-Memory Namespaced Key Expiration Cache
/**
* In-Memory Namespaced Key Expiration Cache
*
* Assumptions: There's a finite amount of namespaces
* Data is frequently read
* Expirations don't happen frequently
* Self-cleaning, doesn't use setTimeout / setImmediate
*/
class SimpleCache {
constructor() {
/**
* Proposing a new rule for no-unused-vars.args
* See http://eslint.org/docs/rules/no-unused-vars#args
* It would behave similar to after-used, except arguments with `error` sounding names should cause errors if ignored
* Configuring this manually with an array would be great
*/
/*eslint no-unused-vars: ["error", { "args": "after-used-and-errors", "errors": ["e", "err", "error"] }]*/
asyncWork((err, data) => { // e.g. args: all
'use strict';
/**
* Experimenting with building a better grid based entity management system
* Uses more efficient Map/Set calls, requiring modern browsers / Node.js
*/
const SPAWNS = [
{x: 1, y: 1},
{x: 1, y: 2},
@tlhunter
tlhunter / example.php
Created September 5, 2013 17:47
How does one use DocBlocks to specify a require array key?
<?php
class MyCoolClass {
/**
* @var $data array How does one specify this array needs a 'subelement' key?
*/
public function performAction($data) {
echo $data['requiredkey'];
}
}

Computing Needs

  • Ability to build and sign iOS Apps
  • Ability to play games in Steam library
  • Ability to develop applications on the go

Solutions

Keep Existing System ($0)