Skip to content

Instantly share code, notes, and snippets.

View hellodaniel's full-sized avatar

daniel thornbury hellodaniel

View GitHub Profile
@hellodaniel
hellodaniel / acidman.md
Last active September 22, 2024 22:42
Mark's idea of a good time

EXT. BEACH - NIGHT

The waves crash against the shoreline as the wind picks up. The camera moves slowly toward a parked car, its windows fogged up. Faint movement can be seen inside. The mood is tense.

INT. PARKED CAR - NIGHT

The camera catches glimpses of two figures: a GUY (mid-20s, jock-type) and a GIRL (early 20s, punk rock vibes) in the front seats. The guy leans back, eyes closed, a smirk of satisfaction on his face.

Suddenly, her SCREAM pierces the air. The car door swings open as the girl stumbles out, clutching her face, eyes wide with terror.

@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.

Sites can be slow for a number of reasons.

1. Your internet connection

This is relatively easy to check using a site like http://speedtest.net

  • ADSL/Cable connections should expect 10 megabits or higher
  • 4G should expect 20 megabits +

Anything about 5 megabits should be okay, but anything less might indicate an issue. This isn't a comprehensive test as sometimes the connection between you and the server might be the issue also.

// If a new certificate is required for this domain then issue it
if (strstr($output[count($output)-1], 'Certificate not found') || strstr($output[count($output)-1], 'Certificate is going to expire') || $result)
$issue = true;

To what extent do heuristics and usability influence the effective facilitation of online learning?

Daniel Thornbury, October 2009

An education revolution appears to be looming. eLearning, or its myriad of other pseudonyms, is poised to become a universal solution for us to seemingly solve all the educational woes of our time. Should eLearning live up to the hype we can expect to see accessible, affordable, equitable, any-time/any-place, life-long learning permeate every aspect of our increasingly knowledge driven society. Yet, despite the growing ubiquity and impact that eLearning has had, it is interesting to note that – amidst the copious research articles, reports and discussion papers relating to improving the state web based education – “a consolidated evaluation methodology of e-learning applications does not yet exist” (Ardito, et al., 2006, p. 270). There are now established traditions of research into educational learning and human computer interactions (HCI), however these two fields of r

@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;
};