Skip to content

Instantly share code, notes, and snippets.

View hellodaniel's full-sized avatar

daniel thornbury hellodaniel

View GitHub Profile
@hellodaniel
hellodaniel / README.md
Last active September 15, 2024 14:44 — forked from zhiguangwang/README.md
Installing and running shadowsocks on Ubuntu Server

Installing and running shadowsocks on Ubuntu Server

  1. Install the the shadowsocks-libev package from apt repository.

     sudo apt update
     sudo apt install shadowsocks-libev
    
  2. Save config.json as /etc/shadowsocks-libev/config.json.

  3. Replace server_port and password in config.json with your own choices.

@hellodaniel
hellodaniel / contract.md
Last active August 22, 2016 13:07
The latest version of my ‘killer contract’ for web designers and developers

Web Development Contract


Between [company name] and [customer name].

Summary:

We’ll always do our best to fulfil your needs and meet your expectations, but it’s important to have things written down so that we both know what’s what, who should do what and when, and what will happen if something goes wrong. In this contract you won’t find any complicated legal terms or long passages of unreadable text. We’ve no desire to trick you into signing something that you might later regret. What we do want is what’s best for both parties, now and in the future.

@hellodaniel
hellodaniel / rivets.formatters.js
Last active June 19, 2016 09:55 — forked from der-On/rivets_formatters.js
Rivets.js general purpose formatters
/**
* A set of simple set of Rivets.js formatters
*/
// Access dynamic data elements from a model
// { model | index someDynamicVar | index 'someOtherIndex' }
rivets.formatters.index = function(value, index){
return value.index || value[index] || 0;
};