Lo más reciente

Guía Python Javascript, CSS Doodle, Snap

How to write X in both Python 3 and JavaScript (ES2015) Python and JavaScript are two of the most popular programming languages. If you&...

martes, 18 de septiembre de 2018

Guía Python Javascript, CSS Doodle, Snap


jueves, 13 de septiembre de 2018

Shards Vue, JS patterns


  • Addy Osmani)Shards
    • A free and modern UI toolkit for web makers based on the popular Bootstrap 4 (final) framework.
  • Shards Vue
    • A high-quality & free Vue UI kit featuring a modern design system with dozens of custom components.
  • Eloquent Javascript (Marijn Haverbeke)
    • This is a book about JavaScript, programming, and the wonders of the digital. You can read it online here.
  • Learning JavaScript Design Patterns (Addy Osmani)
    • Design patterns are reusable solutions to commonly occurring problems in software design. They are both exciting and a fascinating topic to explore in any programming language.
  • JS Patterns (Shi Chuan)
    • A JavaScript pattern and antipattern collection that covers function patterns, jQuery patterns, jQuery plugin patterns, design patterns, general patterns, literals and constructor patterns, object creation patterns, code reuse patterns, DOM and browser patterns (upcoming).

Operadores spread/rest en javascript

spread

...a
Esparce el array a, tratándolo como una lista

rest

...a
Si el parámetro ...a es una lista, entonces a será un array

Ejemplo

function add(...x) {// ...a es una lista, entonces a será un array
  return x.reduce((s, i) => s + i, 0);
}
console.log(add(...[1, 2, 3], ...[4, 5]));// esparce los arrays como listas
See the Pen JS spread/rest by Rulo Kobashikawa (@akobashikawa) on CodePen.

Referencias

miércoles, 12 de septiembre de 2018

ES Modules, Svelte, PWA Universal Builder, Ballerina


jueves, 2 de agosto de 2018

HTTPS gratis con LetsEncrypt



  • Seguir las indicaciones de https://letsencrypt.org/getting-started/
  • Es necesario tener acceso a la consola del hosting. En mi caso, tengo una cuenta en DigitalOcean,  con acceso ssh a un servidor corriendo Ubuntu 14.04 y con el dominio rulo.me
  • Entro a Certbot y elijo Apache y Ubuntu 14.04: https://certbot.eff.org/lets-encrypt/ubuntutrusty-apache
    • $ sudo apt-get update
    • $ sudo apt-get install software-properties-common
    • $ sudo add-apt-repository ppa:certbot/certbot
    • $ sudo apt-get update
    • $ sudo apt-get install python-certbot-apache 
    • $ sudo certbot --apache
  • Al terminar, pude hacer un test en https://www.ssllabs.com/ssltest/analyze.html?d=rulo.me
  • Después de eso, ya puedo usar https://rulo.me

Referencias

miércoles, 1 de agosto de 2018

Cómo hacer un blog secreto en WordPress

En WordPress.com

  • Es conveniente si tienes una cuenta en WordPress.com.
  • Entrar a WordPress.com y crear un blog, si no lo tienes creado ya.
  • Entrar a SettingsPrivacyGeneralPrivacy y cambiar Public a Private y guardar los cambios
    • Aquí puedes indicar qué otros usuarios de WordPress.com podrán verlo
  • Intenta abrir tu blog en tu navegador como usuario incognito, o en otro navegador donde no te hayas logueado a WordPress.com. Verás que te pedirá loguearte para poder acceder al contenido.
  • Para hacer un backup, entrar a Settings, General, Export.

En un site WordPress

  • Si tienes un site wordpress hosteado o piensas tenerlo.
  • Se puede instalar un plugin como My Private Site.
  • Para hacer un backup se puede recurrir a un plugin como BackupBuddy, o también directamente un backup de la base de datos.

Referencias

Cómo hacer un blog secreto en Blogger


  • Es conveniente si tienes una cuenta en Google.
  • Entrar a blogger y crear un blog, si no lo tienes creado ya.
  • Entrar a Settings, Basic, Permissions, Edit y cambiar Public a Private - Only blog authors ó Private - Only these readers y guardar los cambios
    • Aquí puedes indicar qué otros usuarios de Google podrán verlo
    • NOTA: Parece que para blogs muy antiguos no está disponible esta opción Edit pero sí en los nuevos
  • Entrar a SettingsBasic, Privacy e indicar que el blog no sea visible para los buscadores ni sea listado en el catálogo de blogger.
  • Intenta abrir tu blog en tu navegador como usuario incognito, o en otro navegador donde no te hayas logueado a Google. Verás que te pedirá loguearte para poder acceder al contenido.

Backup

Referencias

martes, 17 de julio de 2018

Exportar ebook de Kindle a Kobo




  • En Calibre, instalar el plugin DeDRM_tools
  • Instalar KindleForPC-installer-1.17.44170.exe
    • Buscar en Google y comprobar que tenga el MD5 53F793B562F4823721AA47D7DE099869
  • Ingresar los datos de la cuenta
  • Hacer doble click para leer un libro. Esto lo descargará a la PC en C:\Users\myusername\Documents\My Kindle Content
  • Ubicar el archivo azw en la carpeta y arrastralo a Calibre.
  • Conectar el Kobo al PC
  • Usar Calibre para enviar el libro al dispositivo

Referencias

Ubuntu Linux: Ver la fecha en cierta zona de tiempo

Se puede establecer el timezone para el comando en la variable TZ:

$ TZ="America/Lima" date

martes, 22 de mayo de 2018

Validar DNI de Perú

Esta función javascript está basada en el algoritmo hallado en GoDNI

function validateDNI(dni, cchar) {
    const numberKeys = [6, 7, 8, 9, 0, 1, 1, 2, 3, 4, 5];
    const charKeys = ['K', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'];

    const factors = [3, 2, 7, 6, 5, 4, 3, 2];
    const dniDigits = dni.trim().split('').map(x => parseInt(x, 10));
    const sum = dniDigits.reduce((sum, x, i) => {
        sum += factors[i] * x;
        console.log(`${i}: ${x} * ${factors[i]} = ${factors[i] * x} => ${sum}`);
        return sum;
    }, 0);
    let keyIndex = 11 - (sum % 11);
    keyIndex = keyIndex === 11 ? 0 : keyIndex;

    const control = parseInt(cchar, 10) || cchar.toUpperCase();
    console.log(`=> keyIndex: ${keyIndex} => ${numberKeys[keyIndex]} / ${charKeys[keyIndex]}`);
    if (isNaN(control)) {
        return control == charKeys[keyIndex];
    } else {
        return control == numberKeys[keyIndex];
    }
}

Idea

Cada dígito es multiplicado por un factor y agregado a una suma. El residuo de dividir la suma entre 11 se usa para determinar un índice. Ese índice se usa para localizar el dígito o caracter que se usa como control.

Demo


See the Pen DNI Validator by Rulo Kobashikawa (@akobashikawa) on CodePen.

Lecturas populares