Skip to content

Instantly share code, notes, and snippets.

View coryrylan's full-sized avatar

Cory Rylan coryrylan

View GitHub Profile
@coryrylan
coryrylan / gist:4670372
Last active June 23, 2026 20:31
Make any modern browser a text editor. Just open a new tab and paste this into the url
<!-- credit to https://coderwall.com/p/lhsrcq -->
data:text/html, <html contenteditable>
<!-- Or you can add more detail to customize your editor -->
data:text/html, <title>Text Editor</title>
<body contenteditable style="font-size:2.5em;line-height:1.4;max-width:1000px;margin:0 auto;padding:20px;">

Contract Killer 3

Revised date: 07/11/2012

Between us [company name] and you [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.

@media print {
* {
background:transparent !important;
color: #000; !important;
box-shadow: none !important;
text-shadow:none !important;
}
a[href^="http:"]::after {
content: " [" attr(href)"]"

Website Contract [month] [year]

Description of this Contract

This contract is not meant to trick or deceive you; the intention is purely to protect both parties. I have tried to keep the wording as plain as possible, but if anything is unclear, please let me know and I will be more than happy to clarify it with you. Also, until you sign it, please feel free to request to change bits of it to suit your requirements.

In short, [client name] is contracting me, [my name], to [description of my role] between [start date and finish date].

By signing this, you are confirming that you have the power and ability to enter into this contract on behalf of [client's company].

Contract Killer

The popular open-source contract for web designers and developers by Stuff & Nonsense

  • Originally published: 23/12/2008
  • Revised date: 15/12/2013
  • Original post

// Example
// <input ngControl="title" />
// <show-error control="title"></show-error>
import {Component, Inject, Host, NgFormModel} from 'angular2/angular2';
import {ValidatorsService} from './services/validation/validators.service';
@Component({
selector: 'show-error',
properties: ['controlPath: control'],
@coryrylan
coryrylan / deep-copy.ts
Created April 26, 2017 16:06
Deep copy
export function deepClone<T>(obj: T): T {
let copy;
if (null === obj || 'object' !== typeof obj) {
return obj;
}
if (obj instanceof Date) {
copy = new Date();
copy.setTime(obj.getTime());
import { NgModule, ModuleWithProviders } from '@angular/core';
import { CommonModule } from '@angular/common';
import { VideoDataService } from './video-data.service';
@NgModule({
imports: [CommonModule]
})
export class CoreModule {
static forRoot(): ModuleWithProviders {