Skip to content

Instantly share code, notes, and snippets.

View ashang's full-sized avatar

에런 ashang

  • Between Chair and Keyboard
View GitHub Profile
@hzhou
hzhou / 170302.md
Last active June 28, 2022 08:14
Perl Philosophy vs Python Philosophy

Perl's motto is, "There is more than one way to do it."

Python's motto is, "There should be one — and preferably only one — obvious way to do it."

Perl's way has a few requirement: you need understand your problem; you need understand your tools; you need understand that your problem is often unique and the (best) solution depends on many factors including the nature to the problem, the mechanisms of your tools, as well as your experience. Perl's way is how we solve our every day problems -- not by following templates -- by applying common sense.

Now let's say you don't really understand your problem, or more often, you don't really understand your tools. Then typically you would be forced to read manual and follow the instructions. And often, you want to fit your problem into the model that the manual of your tool describes. In this situation, you certainly would wish there is only one (obvious) way to do it.

In the early days, programmers are intrinsicly hackers, problem solvers and far in between. The

@kevincennis
kevincennis / v8.md
Last active October 7, 2025 21:46
V8 Installation and d8 shell usage

Installing V8 on a Mac

Prerequisites

  • Install Xcode (Avaliable on the Mac App Store)
  • Install Xcode Command Line Tools (Preferences > Downloads)
  • Install depot_tools
    • $ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
    • $ nano ~/.zshrc
    • Add path=('/path/to/depot_tools' $path)
@aledbf
aledbf / gist:df4bf8e266bd00d8e37f
Created July 12, 2014 22:26
Upgrade CentOS 6.5 to 7
rpm --import ftp://ftp.inf.utfsm.cl/pub/Linux/CentOS/7/os/x86_64/RPM-GPG-KEY-CentOS-7
yum install -y python-simplejson m2crypto mod_wsgi openscap wget
wget http://dev.centos.org/centos/6/upg/x86_64/Packages/preupgrade-assistant-1.0.2-33.el6.x86_64.rpm
wget http://dev.centos.org/centos/6/upg/x86_64/Packages/preupgrade-assistant-contents-0.5.13-1.el6.noarch.rpm
wget http://dev.centos.org/centos/6/upg/x86_64/Packages/preupgrade-assistant-ui-1.0.2-33.el6.x86_64.rpm
wget http://dev.centos.org/centos/6/upg/x86_64/Packages/python-rhsm-1.9.7-1.el6.x86_64.rpm
wget http://dev.centos.org/centos/6/upg/x86_64/Packages/redhat-upgrade-tool-0.7.22-1.el6.noarch.rpm
inoremap <silent> <Bar> <Bar><Esc>:call <SID>align()<CR>a
function! s:align()
let p = '^\s*|\s.*\s|\s*$'
if exists(':Tabularize') && getline('.') =~# '^\s*|' && (getline(line('.')-1) =~# p || getline(line('.')+1) =~# p)
let column = strlen(substitute(getline('.')[0:col('.')],'[^|]','','g'))
let position = strlen(matchstr(getline('.')[0:col('.')],'.*|\s*\zs.*'))
Tabularize/|/l1
normal! 0
call search(repeat('[^|]*|',column).'\s\{-\}'.repeat('.',position),'ce',line('.'))