Skip to content

Instantly share code, notes, and snippets.

View maxkoretskyi's full-sized avatar

Max Koretskyi maxkoretskyi

View GitHub Profile
@maxkoretskyi
maxkoretskyi / gist:89e8a8c7876671fbd893
Last active August 29, 2015 14:24
event.preventDefault() on `$stateChangeStart` together with '$urlRouterProvider.when("/", "/home")' causes infinite digest loop
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.15/angular-ui-router.js"></script>
<script src="https://code.jquery.com/jquery-2.1.4.js"></script>
<script>
// Here's a skeleton app. Fork this plunk, or create your own from scratch.
var app = angular.module('demonstrateissue', ['ui.router']);
// Empty config block. Define your example states here.
@maxkoretskyi
maxkoretskyi / scratch_9.js
Created September 27, 2016 06:52
for loop in java
for(int i=1; 1/i > 0; i++)
@maxkoretskyi
maxkoretskyi / loop ending on 2nd iteration
Created September 27, 2016 06:58
loop ending on 2nd iteration
for (int i=1; 1/i > 0; i++) {
System.out.println("Count is: " + i);
}
@maxkoretskyi
maxkoretskyi / never ending loop
Created September 27, 2016 07:07
never ending loop
for (var i=1; 1/i > 0; i++) {
console.log("Count is: " + i);
}
@maxkoretskyi
maxkoretskyi / Representing number as 64 bit float
Created September 29, 2016 08:26
Representing number as 64 bit float
function to64bitFloat(number) {
var f = new Float64Array(1);
f[0] = number;
var view = new Uint8Array(f.buffer);
var i, result = "";
for (i = view.length - 1; i >= 0; i--) {
var bits = view[i].toString(2);
if (bits.length < 8) {
bits = new Array(8 - bits.length).fill('0').join("") + bits;
}
@maxkoretskyi
maxkoretskyi / Representing a number as 64 bit float
Created October 5, 2016 04:57
Representing a number as 64 bit float
function to64bitFloat(number) {
var i, result = "";
var dv = new DataView(new ArrayBuffer(8));
dv.setFloat64(0, number, false);
for (i = 0; i < 8; i++) {
var bits = dv.getUint8(i).toString(2);
if (bits.length < 8) {
bits = new Array(8 - bits.length).fill('0').join("") + bits;
@maxkoretskyi
maxkoretskyi / All comparison operations return `false`
Created October 12, 2016 07:11
All comparison operations return `false`
NaN === NaN
NaN > NaN
NaN < NaN
NaN > 3
NaN < 3
NaN === 3
const fs = require('fs');
const path = require('path');
class HelloWorldCheckerPlugin {
constructor(options) {
this.options = options;
}
apply(compiler) {
compiler.plugin('make', (compilation, cb) => this._make(compilation, cb));
@Injectable()
export class I1 implements HttpInterceptor {
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
const modified = req.clone({setHeaders: {'Custom-Header-1': '1'}});
return next.handle(modified);
}
}
@Injectable()
export class I2 implements HttpInterceptor {
@NgModule({
providers: [
{
provide: HTTP_INTERCEPTORS,
useClass: I1,
multi: true
},
{
provide: HTTP_INTERCEPTORS,
useClass: I2,