Skip to content

Instantly share code, notes, and snippets.

Avatar
:octocat:
Working from home

Julian David juliandavidmr

:octocat:
Working from home
View GitHub Profile
View counterdown.ts
import { Observable, timer } from "rxjs";
import { map, takeWhile, take } from "rxjs/operators";
export function countdown(minutes: number, delay: number = 0) {
return new Observable<{ display: string; minutes: number; seconds: number, finished: boolean }>(
subscriber => {
timer(delay, 1000)
.pipe(take(minutes * 60))
.pipe(map(v => minutes * 60 - 1 - v))
.pipe(takeWhile(x => x >= 0 && !subscriber.closed))
View compile.sh
emcc main.c -O3 -o index.js -s "EXTRA_EXPORTED_RUNTIME_METHODS=['ccall', 'cwrap']"
@juliandavidmr
juliandavidmr / packageLock2Markdown.js
Created Oct 29, 2019
Generate markdown file from package-lock.json
View packageLock2Markdown.js
// Run: node packageLock2Markdown.js "C:\..PATH..\package-lock.json" > out.md
const fs = require('fs');
const args = process.argv.slice(2);
let markdownOutput = '';
const contents = JSON.parse(fs.readFileSync(args[0], 'utf8'));
@juliandavidmr
juliandavidmr / packageLock2Markdown.js
Created Oct 29, 2019
Generate markdown file from package-lock.json
View packageLock2Markdown.js
// Run: node packageLock2Markdown.js "C:\..PATH..\package-lock.json" > out.md
const fs = require('fs');
const args = process.argv.slice(2);
let markdownOutput = '';
const contents = JSON.parse(fs.readFileSync(args[0], 'utf8'));
@juliandavidmr
juliandavidmr / index.html
Created Jul 10, 2019
Change $scope/model from jquery/vanilla
View index.html
<!DOCTYPE html>
<html ng-app="revalidation">
<head>
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet" data-semver="3.3.1" data-require="bootstrap@3.3.1" />
<script data-require="angular.js@1.4.3" data-semver="1.4.3" src="https://code.angularjs.org/1.4.3/angular.js"></script>
<script
src="https://code.jquery.com/jquery-3.4.1.min.js"
integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
crossorigin="anonymous"></script>
@juliandavidmr
juliandavidmr / cinecalidad.js
Created Feb 24, 2019
Get a list of movies from Cinecalidad
View cinecalidad.js
function getDetailsMovie(htmlString) {
var div = document.createElement('div');
div.innerHTML = htmlString.trim();
div = div.querySelectorAll('#content_inside > .post_box');
var listMovies = [];
div.forEach(element => {
var a = element.querySelector("a")
if (a) {
@juliandavidmr
juliandavidmr / pasos_para_entender_lib.md
Last active Dec 27, 2018
Pasos para entender un proyecto/librería de npm, github, gitlab, etc.
View pasos_para_entender_lib.md

Pasos para entender una librería

  • Leer la documentación general (Normalmente se encuentra en un archivo README.md o Wiki).
  • Determinar herramienta de empaquetación: Rollup, Webpack…
  • Determinar estándar usado: ES6, ES5, TypeScript…
  • Determinar archivo(s) de arranque (Normalmente se visualiza desde un principio en el package.json con la clave main).
  • Obtener listado de dependencias (package.json > dependencies) y observar su comportamiento/funcionamiento (puede observarse rapidamente en la documentación oficial de cada librería desde npm o git(hub|lab)).
  • Abrir archivo de arranque encontrado anteriormente:
    • Buscar función inicializadora, probablemente esté declarado con alguno de los siguientes nombres: boostrap, main, lib. En ES6, ES7 o Typescript se puede encontrar con la exportacion de una funcion anonima o una clase: export default function ...
    • La función inicializadora (parametros de constructuctor cuando se trata de class) puede
View markdown_gnome.md

Nombre Componente

Descripción del componente/librería. Lorem Ipsum es simplemente el texto de relleno de las imprentas y archivos de texto. Lorem Ipsum ha sido el texto de relleno estándar de las industrias desde el año 1500, cuando un impresor (N. del T. persona que se dedica a la imprenta) desconocido usó una galería de textos y los mezcló de tal manera que logró hacer un libro de textos especimen. No sólo sobrevivió 500 años, sino que tambien ingresó como texto de relleno en documentos electrónicos, quedando esencialmente igual al original. Fue popularizado en los 60s con la creación de las hojas "Letraset", las cuales contenian pasajes de Lorem Ipsum, y más recientemente con software de autoedición, como por ejemplo Aldus PageMaker, el cual incluye versiones de Lorem Ipsum.

Guía de uso

<bzg-demo [color]="'red'">
  <p>Contenido</p>
</bzg-demo>
@juliandavidmr
juliandavidmr / filter_svg_css.css
Created Nov 25, 2018
Apply filter CSS from SVG
View filter_svg_css.css
path {
stroke-width: 1px;
&:hover {
cursor: pointer;
stroke-width: 2px;
filter: url(#dropshadow);
}
}
View shadow.html
<svg>
<filter id="dropshadow" height="130%">
<feGaussianBlur in="SourceAlpha" stdDeviation="3"></feGaussianBlur> <!-- stdDeviation is how much to blur -->
<feOffset dx="2" dy="2" result="offsetblur"></feOffset> <!-- how much to offset -->
<feComponentTransfer>
<feFuncA type="linear" slope="0.5"></feFuncA> <!-- slope is the opacity of the shadow -->
</feComponentTransfer>
<feMerge>
<feMergeNode></feMergeNode> <!-- this contains the offset blurred image -->
<feMergeNode in="SourceGraphic"></feMergeNode> <!-- this contains the element that the filter is applied to -->
You can’t perform that action at this time.