Skip to content

Instantly share code, notes, and snippets.

View willgm's full-sized avatar

William Grasel willgm

View GitHub Profile
@willgm
willgm / index.html
Created July 10, 2014 00:49
A Pen by William Grasel.
<section ng-app="selectableApp"
ng-controller="exampleController">
<label>
<input type="checkbox" ng-model="selection" /> Toggle Selection
</label>
<p>
You've selected:
<span ng-hide="selected">none</span>
@willgm
willgm / .zshrc
Created October 28, 2015 13:05
svn git integration
function runCmd {
echo "\e[42m\e[30m>> $1 \e[49m\e[39m" ; bash -c $1
}
function svnup {
runCmd 'git pull' &&
runCmd 'svn up --accept tc' ;
runCmd 'svn revert -R .' ;
runCmd 'git status' ;
runCmd 'svn status'
@willgm
willgm / findKeyByValue.coffee
Created August 29, 2013 02:10
Find key by value, with underscore.js in CoffeeScript
findKeyByValue = (obj, value) ->
key = null
_.find obj, (v, k) ->
if v is value
key = k
true
key
var person = {
name: 'Homer Simpson',
address: {
street: '123 Fake St.',
city: 'Springfield'
}
};
//Complete Imperative
if (person != null && person['address'] != null) {
||paywall.estadao.com.br^
||estadao.com.br/paywall/*
||www1.folha.uol.com.br/folha/furniture/paywall/*
||static.folha.com.br/paywall/*
||static.folha.uol.com.br/paywall/*
||oglobo.globo.com/servicos/inc/payWall.Conteudo.js
||oglobo.globo.com/plataforma/js/*/minificados/paywall/registraConteudosLidos.js
||static.folha.uol.com.br/library/jquery/1.8.3/*
@@|http://www1.folha.uol.com.br/paywall/adblock.shtml?$document
@@*paywall/js/1/publicidade.ads.js
function mostFrequentIn(array) {
const score = array.reduce((m, i) => m.set(i, (m.get(i) || 0) + 1), new Map);
return Array.from(score)
.reduce(
(r, [key, val]) => val > r.val ? {key, val} : r,
{key: '', val: 0}
);
}
[1, 10, 100, 10000, 1000000, 100000000, 1000000000]
.forEach(size => {
console.log('with', size)
console.time('var');
for (var i = 0; i < size; i++) {}
console.timeEnd('var')
console.time('let');
for (let i = 0; i < size; i++) {}
@willgm
willgm / context.directive.ts
Last active January 19, 2017 19:30
creating template variable contexts
import { Directive, Input, ViewContainerRef, TemplateRef, EmbeddedViewRef } from '@angular/core';
@Directive({selector: '[context]'})
export class ContextDirective {
private view: EmbeddedViewRef<any>;
@Input() set contextFrom(context) {
if (!this.view) {
this.view = this.viewContainer.createEmbeddedView(this.template);
@willgm
willgm / angular-router-spinner.ts
Created August 22, 2017 18:33
Spinner no carregamento de uma rota no Angular 2+
import { Component } from '@angular/core';
import { Router, NavigationStart, NavigationEnd } from '@angular/router';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['../assets/styles/index.sass'],
})
export class AppComponent {
constructor(
@willgm
willgm / william_grasel_social_resume.md
Last active May 1, 2018 18:12
William Grasel Social Resume

William Grasel Social Resume

Bio

I'm a Web Developer for ~15 years, and during the last 6 years I have been working in several SPA and PWA projects in a big diversity of frameworks, such as Backbone, React and mainly Angular (1.x and 2+), which gave me a rich FrontEnd experience. I have always been close to the BackEnd as well in several platforms, such as NodeJS, Java and .NET, although FrontEnd and JavaScript will always be my preference. I am involved with IT and Open Source communities for a few years, where I began to share my knowledge in talks, organizing meetups and conference tracks.

Community Organization

AngularSP - Meetup Coordinator