Skip to content

Instantly share code, notes, and snippets.

View trongthanh's full-sized avatar
🎈
Keep calm and code on

Thanh Tran trongthanh

🎈
Keep calm and code on
View GitHub Profile
@trongthanh
trongthanh / hook-fns.js
Last active November 1, 2018 04:25 — forked from getify/1.js
experiment: mimicking React's new "useState()" hook for stand-alone functions.
/**
* Note: I have forked this gist from @getify to rewrite it with variable naming with closer association with hook and state
* and added some comments of my own so that it is easier to follow
* A demo is live at: https://codepen.io/trongthanh/pen/WaqqoJ?editors=0012
*/
'use strict';
[foo, bar] = enableHooks(foo, bar);
function foo(origX, origY) {
@trongthanh
trongthanh / index.html
Created October 13, 2018 08:10
jquery-handlebars-boilerplate
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>MY PAGE TITLE HERE</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.0.4/handlebars.js"></script>
<script>
$(function() {
@trongthanh
trongthanh / tizonia_aliases.sh
Last active August 9, 2018 04:36
Tizonia aliases
# Tizonia aliases
alias ti="tizonia"
function tis() {
echo "Shortcuts for tizonia --spotify-*"
echo "tistr arg Search and play from Spotify by track name."
echo "tisar arg Search and play from Spotify by artist name."
echo "tisal arg Search and play from Spotify by album name."
echo "tispl arg Search and play public playlists (owner is assumed current user, unless --spotify-owner is provided)."
echo "tisop ow pl Search and play public playlist by an owner"
@trongthanh
trongthanh / demo.html
Created July 12, 2012 03:30
Google Swiffy Hacks
Visit: http://jsfiddle.net/ttt_conan/bzqnu/ for live demonstration
@trongthanh
trongthanh / init-goalify-chat-server.sh
Created March 5, 2018 08:11
Goalify Chat server instance init
#!/bin/bash
# NOTE: The commands here only applicable for Ubuntu 16.04 Xenial, do not use it for other distros
# Get user inputs for some customizable variables
# NOTE: map domain to this VPS instance first
read -p "Domain: " DOMAIN
# Update server to latest packages
sudo apt update && sudo apt upgrade -y
@trongthanh
trongthanh / index.js
Last active July 11, 2017 04:02
Read a News table (exported from MS SQL Server in Unicode format) and convert to static HTML pages
/**
* (c) 2017 Thanh Tran
*
* Node script to convert a SQL Server table of News article to a static HTML site (for archive purpose)
*
* The SQL Server management tool extract the table to flat text file with below specs:
* - Row delimiters: {CR} \r
* - Col delimiters: {|} vertical bars
* - Unicode encoding (UTF-16)
* By Windows OS nature, HTML content in Contents column has new lines with CRLF sequence.
# initialization file (not found)
@trongthanh
trongthanh / AppView.js
Last active March 2, 2017 16:41
Maintainable JavaScript - From Zero to Hero
define(
['TodoItem'],
function(TodoItem) {
'use strict';
// constants
var ENTER_KEY = 13;
function AppView($el) {
this.$el = $el;
@trongthanh
trongthanh / dabblet.css
Created July 27, 2013 04:52
Demo: Fixed Web Font padding issues on Mac/Linux/Android
/*
Demo: Fixed Web Font padding issues on Mac/Linux/Android
Blog post: http://blog.int3ractive.com/2013/07/fixing-web-fonts-padding-issues-on-linux-mac.html
*/
@font-face {
font-family: 'HelveticaLight'; font-weight: normal; font-style: normal;
src: local('☺'), url('https://github.com/trongthanh/trongthanh.github.com/blob/master/css/webfonts-padding-fix/HelveticaNeue-Light.woff?raw=true') format('woff');
}
@font-face {
font-family: 'HelveticaLightFixed'; font-weight: normal; font-style: normal;
@trongthanh
trongthanh / dabblet.css
Created May 15, 2013 08:13
Animated 3D Stereo Images with CSS3 (Enhanced with Steps)
/**
* Animated 3D Stereo Images with CSS3 (Enhanced with Steps)
* Author: Thanh Tran (int3ractive.com)
* Blog post: http://blog.int3ractive.com/2012/05/cave-3d-stereo-images-2-state-looping.html
* Older solution (without steps() function): http://dabblet.com/gist/2651495
* Note: prefix-free in use
*/
.image1 {
background: url(http://labs.int3ractive.com/javascript/effects/stereo-images/img/DSC_0192.jpg) no-repeat;