Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

View mgol's full-sized avatar

Michał Gołębiowski-Owczarek mgol

View GitHub Profile
@mgol
mgol / undefinedMutability.js
Created April 10, 2013 16:41
Show's what the EcmaScript 5 undefined immutability really means.
(function ( undefined ) {
console.log( '0: ' + undefined );
})( 0 ); // => 0
(function ( undefined ) {
'use strict';
console.log( '1: ' + undefined );
})( 1 ); // => 1
(function () {
hooks.method = function() {
if (supportTestPasses()) {
delete hooks.method;
return;
}
hooks.method = function () {
// current hook code here
}
return hooks.method();
};
@mgol
mgol / git-fixed.sh
Last active April 25, 2017 10:27
Show the sorted list of tickets fixed between 2 given commits.
#!/bin/sh
# Show the sorted list of tickets fixed between 2 given commits.
if [ $# -ne 2 ]; then
echo "USAGE: `basename $0` commit1id commit2id"
exit 1
fi
git log --ancestry-path $1..$2 | egrep -i 'fix|fixes|fixed' | grep '#' | cut -f2 -d'#' | awk '{ printf "%d\n", $1 }' | sort
@mgol
mgol / chrome-angularjs.js
Last active November 22, 2021 15:23
Chrome DevTools Snippet for AngularJS apps.
var ngAppElem = angular.element(document.querySelector('[ng-app]') || document);
window.$injector = ngAppElem.injector();
window.inject = $injector.invoke;
window.$rootScope = ngAppElem.scope();
// getService('auth') will create a variable `auth` assigned to the service `auth`.
var getService = serviceName =>
inject([serviceName, s => window[serviceName] = s]);
(function () {
'use strict';
const o = {
f: function () {
console.log(a);
}
};
const a = 'aaa';
o.f();
})();
@mgol
mgol / psa
Last active April 25, 2017 10:28
List processes matching a pattern
#!/bin/sh
# Usage: move this file to ~/bin/ and create a link ~/bin/psa-full -> psa.
# `psa STRING` will show you the output clipped to current number of columns in
# the terminal, `psa-full STRING` will give the full output.
# Tested on OS X 10.9-10.10.
if [[ "`basename "$0"`" == *-full ]]; then
COLS=10000
else
@mgol
mgol / jquery-bugs-migration.js
Last active April 25, 2017 10:28
jQuery bug migration script
var tickets = [
// List of tickets to migrate.
"http://bugs.jquery.com/ticket/XXXX",
"http://bugs.jquery.com/ticket/YYYY",
];
var request = require('request'),
jsdom = require('jsdom'),
apiPrefix = 'https://api.github.com/repos/jquery/jquery/';
// The diff between the following two definitions has one line: `+c: 3,`:
var o1 = {
a: 1,
b: 2,
};
var o1 = {
a: 1,
b: 2,
c: 3,
};
@mgol
mgol / ie11-only.md
Last active May 11, 2023 15:50
How to easily not serve JS and/or CSS to IE<11

Here's how to make your site not load CSS and/or JS in IE older than 11:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=8,9,11">
        <title>Page title</title>
        <!--[if !IE]>-->
 
import template from './my-dummy.html';
import './my-dummy.scss';
const deps = new WeakMap();
class MyDummyController {
constructor($timeout, $q) {
'ngInject';
deps.set(this, {$timeout, $q});
}