Skip to content

Instantly share code, notes, and snippets.

View jdjuan's full-sized avatar
:octocat:

Juan Herrera jdjuan

:octocat:
View GitHub Profile
@jdjuan
jdjuan / pada.md
Last active December 15, 2022 18:06
The Official P.A.D.A Format: A standard for better meeting invites

P.A.D.A.

Purpose | Agenda | Documents | Actions

1. Context

Meetings are aimed at discussions where the perspective of attendees is key to solve important matters and reach conclusions. Meetings are not group working sessions that are aimed at getting something done. Meetings should range between 5 minutes and 30 minutes. Working sessions range from 30 minutes to 4 hours.

2. Meeting Invite

@jdjuan
jdjuan / ngcolombia-speaker.md
Last active December 16, 2018 22:38
NgColombia Speaker Guidelines

NgColombia Speaker Guidelines

We want you to be a rockstar in the stage 🔥, we want everyone calling your name euphorically and following you everywhere (not just in your social media 😜). To help you achieve it, we have defined a set of guidelines that will make you shine! Read them carefully:

1. Accessibility

First, we want everyone to be able to enjoy your talk fully:

  • ⚓️ English is not a native language in Latin America so speak slow. Despite the fact that the audience will have translation devices, strive to be as clear as possible.
@jdjuan
jdjuan / meta-regimen.md
Last active June 15, 2018 22:32
Meta Regimen: How to stick to your habits

Meta Regimen

Lessons I've learned throughout the years to keep up with my habits.

1. Motivate Yourself 💪

Nothing will make you skip your habits more than the lack of motivation

  • Believe you can
  • Watch motivational videos
import { paint } from './canvas.js';
const { fromEvent } = Rx.Observable;
const { takeUntil, mergeMap } = Rx.operators;
const move$ = fromEvent(document, 'mousemove')
const down$ = fromEvent(document, 'mousedown')
const up$ = fromEvent(document, 'mouseup')
const paints$ = down$.pipe(
mergeMap(down => move$.pipe(takeUntil(up$)))
import { paint } from './canvas.js';
const { fromEvent } = Rx.Observable;
const { takeUntil, mergeMap } = Rx.operators;
const move$ = fromEvent(document, 'mousemove')
const down$ = fromEvent(document, 'mousedown')
const up$ = fromEvent(document, 'mouseup')
const paints$ = down$.pipe(
mergeMap(down => move$)
import { paint } from './canvas.js';
const { fromEvent } = Rx.Observable;
const { skipUntil, takeUntil, repeat } = Rx.operators;
const move$ = fromEvent(document, 'mousemove');
const down$ = fromEvent(document, 'mousedown')
const up$ = fromEvent(document, 'mouseup')
const paints$ = move$.pipe(
skipUntil(down$),
import { paint } from './canvas.js';
const { fromEvent } = Rx.Observable;
const { skipUntil, takeUntil } = Rx.operators;
const move$ = fromEvent(document, 'mousemove');
const down$ = fromEvent(document, 'mousedown')
const up$ = fromEvent(document, 'mouseup')
const paints$ = move$.pipe(
skipUntil(down$),
import { paint } from './canvas.js';
const { fromEvent } = Rx.Observable;
const move$ = fromEvent(document, 'mousemove');
move$.subscribe(paint);
const { fromEvent } = Rx.Observable;
const move$ = fromEvent(document, 'mousemove');
const log = x => console.log(x);
move$.subscribe(log);
<!DOCTYPE html>
<html>
<head>
<title>Hello!</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="https://unpkg.com/@reactivex/rxjs/dist/global/Rx.js"></script>
</head>
<body>