Ir al contenido principal

Entradas

¿Avances en el problema de las Direcciones en Nicaragua 2020?

Existen relativamente abundantes artículos quejandose, burlandose, o intentando explicar (1, 2) la particularidad de las direcciones nicaragüenses, entre el ruido de quejas, se vislumbran algunas propuestas para crear una nomenclatura estándar, ninguna hasta hoy ha sido implementada. Sin embargo con el advenimiento de la tecnología, incluso en los países con nomenclaturas específicas y alta densidad de señalización, es mas común buscar una dirección en una de las varias aplicaciones existentes(Google Maps, Waze, OpenStreetMap, etc) y esta te guiará paso a paso("turn-by-turn") hacia tu destino. Por eso pienso que en lugar de intentar forzar una nomenclatura que podría tardar años en aplicarse, se debería dar una respuesta tecnológica al problema y luego avanzar hacia la tan anhelada estandarización.
Aunque en estos tiempos la movilidad de las personas se ha reducido, al contrario la cantidad de empresas que proveen servicios de envío o transporte hacia domicilios ha crecido exp…
Entradas recientes

Limite en articulos de Ghost

En la documentación oficial de Ghost no dice nada sobre un límite de tamaño para los post, sin embargo Ghost usa como middleware Body Parser este componente si que define un límite por defecto para las peticiones que es de 100kb, aun asi desde Ghost aun no se puede modificar dicho límite en la configuración, pero sabiendo la información podemos modificar fácilmente el código de Ghost para definir manualmente dicho límite:

En config.js, para el ambiente correspondiente agregaremos un nuevo campo requestLimit:


development: { // The url to use when providing links to the site, E.g. in RSS and email. url: 'http://my-ghost-blog.com', database: { client: 'sqlite3', connection: { filename: path.join(__dirname, '/content/data/ghost-dev.db') }, debug: false }, server: { // Host to be passed to node's `net.Server#listen()` host: '127.0.0.…

Personalizando Chrome

Cuando hablo de personalizar no me refiero a cambios en el tema, ni modificar algún comportamiento via la configuración, no, me refiero a obtener el código, modificarlo y compilarlo para crear mi propia "distribución".

Así que antes de nada realiza esto:

Descargar el codigo: http://dev.chromium.org/developers/how-tos/get-the-codeComo compilar: https://code.google.com/p/chromium/wiki/NinjaBuild

En caso, como a mi, que necesite una version anterior: https://www.chromium.org/developers/how-tos/get-the-code/working-with-release-branches
Me encontré con varios errores cuando trate de descargar la versión 37, aquí está el hilo con las soluciones:
https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/pmki-Uju6Zs


La version 37 no estaba preparada para los cambios que vinieron con Yosemite, un error que encontré: https://codereview.chromium.org/555163002

https://chromium.googlesource.com/chromium/src.git/+/59c4ad104b6f03af9c9acffc0fd9a42707083390/base/mac/sdk_forward_decl…

Auth::attempt siempre retorna falso

Estaba obteniendo un error que parece común entre los usuarios novatos de Laravel. Al usar Auth::attempt este siempre me estaba retornando falso.

Este era el código que usaba:

class UserTableSeeder extends Seeder{ public function run(){ User::create(array( 'username' => 'admin', 'email' => 'test@test.net', 'name'=> 'Administrator', 'password' => Hash::make('123456') )); } }
use Illuminate\Auth\UserTrait; use Illuminate\Auth\UserInterface; use Illuminate\Auth\Reminders\RemindableTrait; use Illuminate\Auth\Reminders\RemindableInterface; class User extends Eloquent implements UserInterface, RemindableInterface { protected $fillable = array('email', 'username', 'password'); use UserTrait, RemindableTrait; /** * The database table used by the model. * * @var string */ protected $table = 'users&…

Expresiones Regulares y pruebas en javascript

¿Qué es una expresión regular?
Una expresión regular es una cadena que contiene una combinación de caracteres normales y metacaracteres o metasecuencias especiales. Los caracteres normales coinciden por ellos mismos. Los metacaracteres y metasecuencias son caracteres o secuencias de caracteres que representan ideas como cantidad, posiciones o tipos de caracteres.
Regular Expression Pocket Reference 2nd Ed - Tony Stubblebine - O'Reilly

¿Para qué son útiles las expresiones regulares?
Las expresiones son especialmente útiles para validar información, por ejemplo en formularios de ingreso de datos. Por ejemplo para validar que se ingresó un número de teléfono, puedes usar la siguiente expresión regular.

/^([\+][0-9]{1,3}[ \.\-])?([\(]{1}[0-9]{2,6}[\)])?([0-9 \.\-\/]{3,20})?$/

Parecieran símbolos al azar, pero nada mas lejos de la realidad. Te muestro una tabla básica con los elementos usados para crear expresiones regulares.

Carácter Texto buscado ^Principio de entrada o línea.$Fin de e…

Deshabilitar Google Analytics en la previsualización de Blogger

Se puede excluir las previsualizaciónes de los artículos, del seguimiento del tráfico que hace Google Analytics, creando un filtro.
Primero hay que identificar la pieza de URL que distingue la previsualización del resto de páginas o publicaciones.
Para el caso de Blogger, este genera dos tipos de URL para las pevisualizaciones: /b/app-preview/b/post-preview

Entra por el enlace Administrador de la barra de navegación Principal.
Escoge la pestaña Filtros y presiona Filtro Nuevo
Crear un filtro nuevo para el perfil
Nombre de Filtro: Blogger Preview (o el que prefieras)
Tipo de Filtro: Filtro Personalizado
Tipo de Filtro: Excluir
Campo del Filtro: URI de la solicitud
Patrón de filtro: %/b/post-preview%
Distinción entre mayúsculas y minúsculas: No


Repetir para /b/app-preview

Este procedimiento no elimina el conteo de previsualizaciones, previas a la creación del filtro.

jQuery DataTables y CodeIgniter

Ajax Source Datatables permite configurar fácilmente el origen de datos de la tabla, para que esta sea generada dinámicamente desde el servidor, así que con CodeIgniter tendríamos el siguiente código

public function page(){ $data['pedidos'] = $this->pedidos_model->get_pedidos($this->input->post('iDisplayStart')); define('AJAX_REQUEST', 1);//truco para que en nginx no muestre el debug $TOTAL = $this->pedidos_model->total(); echo json_encode(array('aaData'=>$data['pedidos'], 'iTotalRecords'=>$TOTAL, 'iTotalDisplayRecords'=>$TOTAL, 'sEcho'=>$this->input->post('sEcho'))); }
Este método producirá algo parecido a esto:

{"iTotalRecords":83099,"iTotalDisplayRecords":83099,"sEcho":"2", "aaData":[{"Id":"85514","num":"86109",&q…