miércoles, 17 de noviembre de 2021

Dispositivo desconocido en una sony vaio ACPI\SNYA008\4&512D3B4&0

El problema es el de el titulo, esta cosa ACPI\SNYA008\4&512D3B4&0 no se sabe que es...

El driver esta en: 

https://www.sony.com/electronics/support/svs-series-svs1512-series/svs1512dcxb/downloads/W0007822?operating-system=windows_10_64bit

y es

Sony® Wireless State Device

 saludos...

viernes, 17 de mayo de 2019

Como guardar datos Json con cakephp 3.7

Si miras la documentación (https://book.cakephp.org/3.0/en/orm/saving-data.html) dice que hay que mapear el tipo de datos, etc....

Realmente no hay que hacer nada de eso, lo único que se debe hacer es crear el campo tipo json en MySql y hacer uso del bake para generar el modelo.... eso no es tema de esta entrada.

Básicamente cakephp lo resuelve todo...

Ahora, lo que si es importante es setear los datos a guardar, Suponga que tenemos un campo datos (tipo Json), y que dentro de ese json queremos guardar un campo llamado cantidad, bueno, debemos hacer algo así:

        $entidad->datos = [
            'datos' => [
                'cantidad' => $cantidad_solicitados
            ]
        ];

Ahora os muestro la forma incorrecta:

        $entidad->datos = ['cantidad' => $cantidad_solicitados];

y mucho menos usando json_encode ni string de json...

Eso es todo, saludos.





lunes, 1 de abril de 2019

La naturaleza...

La naturaleza es buena con las especies pero cruel con los individuos. Continuamente esta haciendo experimentos genéticos y unos cuantos resultan bastante atroces,  por decirlo suavemente.

martes, 19 de febrero de 2019

Como mostrar imagenes almacenadas en una base de datos en CakePhp 3.7

CakePhp Display image from database.

Esta es la solución definitiva.   Hay varias maneras de hacerlo:

Supongamos el siguiente escenario: Tenemos una base de datos en MySql 8.15 que tiene una tabla llamada fotos que tiene, entre otros campos, uno llamado foto_grd.

Corre por tu cuenta cargar registros correctamente.  Yo lo hice con Faker (un generador de datos de prueba). Creo que también puedes usar el MySql Workbench...

Por el método GET

Generamos el código usando bake, para fotos.

En fotosController:

    public function grande($id = null)
    {
        $foto = $this->Fotos->get($id);
        $response = $this->getResponse()->withStringBody(new Stream($foto->foto_grd))->withType('jpg');
        $this->viewBuilder()->setLayout(null);
        return $response;
    }


En el template fotos/view.ctp

       
           
           

Html->image('/fotos/grande/54');  ?>

       


Esto Tiene un problema, y es que entre otras cosas un usuario puede recorrer todas las fotos de la base de datos

La otra manera es mostrar la foto o renderizar, directamente en el tag

En este caso no requerimos del método public function grande($id = null) en el controlador

Asumimos que al template llegan los datos de la foto en un objeto @var \App\Model\Entity\Foto $foto
de modo que esté disponible algo así como $foto->foto_grd

En el template solo debes colocar la siguiente línea de código:



El método stream_get_contents es necesario para rescatar el recurso, si no lo colocas aparecerá algo así como:
Resource id #302

A mi me gusta más la función stream_get_contents, porque si usas $this->getResponse()->withStringBody(new Stream($foto->foto_grd))->withType('jpg');, requiere la librería: 

use Zend\Diactoros\Stream;

Saludos.

Entre más uso otros frameworks más me gusta CakePhp. :-)






  

martes, 12 de febrero de 2019

Dispositivo ACPI\CPL0002 *CPL0002 Dell Inspiron Mini 10v 1011

Después de trabajar mucho para identificar este hardware de una mini laptop dell inpiron con windows 7 32 bits encontré que se trata de un "COMPAL Embedded System Control"que no tengo idea que rayos es.

Lo cierto es que el driver lo encontré en lenovo, sip, en lenovo... me encanta cuando los americanos, los rusos, los alemanes, lenovo, dell, hp... todos usan componentes chinos... |-)

Driver: https://download.lenovo.com/UserFiles/Driver/en/Downloads%20and%20Drivers/B520e/Win7/ID17STW10WW5.exe
en esta pagina: https://support.lenovo.com/ve/es/downloads/ds024586

Saludos. Y ¡comenten coño!  que no les cuesta nada...

viernes, 25 de enero de 2019

Mysql no inicia despues de actualizar a la version 8.0.14

El problema es que actualicé MySQL desde la versión 8.0.13 a la 8.0.14 y luego de esto no inicia el servicio.

Algunas pistas de que encontraras aquí la solución son las siguientes:

En el archivo  .err de la carpeta C:\ProgramData\MySQL\MySQL Server 8.0\Data puede ver los errores de MySql

Si es muy grande lo puede eliminar y luego intentar iniciar el servicio y ver los errores recientes

[MY-010915] [Server] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.

[ERROR] [MY-010334] [Server] Failed to initialize DD Storage Engine

[ERROR] [MY-010020] [Server] Data Dictionary initialization failed.

[ERROR] [MY-010119] [Server] Aborting

Lo primero siempre es hacer un respaldo de todas las bases de datos antes de hacer cualquier cambio. Recuerda que todo lo que puede fallar falla y en el peor momento, Morphy se especializa.

 Si no hiciste el perpaldo lo primero que tienes que hacer es hacer una copia de todos los archivos de la carpeta "C:\ProgramData\MySQL\MySQL Server 8.0\data" luego veremos como restaurar las bases de datos, ¡si tienes un respaldo eres todo un tío!

Luego de hacer la copia, cambiale el nombre a la carpeta Data por algo así como DataOriginal. Asegurate de tener los permisos necesarios.

Puede leer esta denotación: https://dev.mysql.com/doc/refman/8.0/en/data-directory-initialization-mysqld.html

Ahora abre una línea de comandos como administrador y vete a la carpeta C:\Program Files\MySQL\MySQL Server 8.0\bin

Ejecuta lo siguiente:  mysqld --initialize-insecure --console

Luego de unos instantes que pueden ser largos dependiendo de hierro que 
tengas estaremos casi listos.

Mueve o copia la recién regenerada carpeta Data desde 
C:\Program Files\MySQL\MySQL Server 8.0\ hasta C:\ProgramData\MySQL\MySQL Server 8.0

Ahora intenta iniciar el servicio y cruza los dedos y aprieta el cuerpo. :-)

¿Inició? estas de suerte, Conectare y a restaurar las bases de datos perdidas.
Recuerda que ahora el roo no tiene clave.

Crea usuario, bases de datos, permisos, etc... y restaura.
 
Espero que te resulte.

Ahora, si no tenias respaldos lo que debes hacer es montar en otro equipo un 
servidor MySql con la versión anterior al desastre, reemplazar la carpeta Data 
con la que rescataste del MySql dañado, hacer los respaldos y migrar los datos 
o seguir el procedimiento que mas te convenga.

Saludos.






miércoles, 17 de octubre de 2018

Error composer SSL operation failed with code 1. OpenSSL Error message

Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 2 updates, 0 removals
  - Installing nikic/php-parser (v4.1.0): Downloading (failed)
Downloading (failed)
Downloading (failed)    Failed to download nikic/php-parser from dist: The "https://api.github.com/repos/nikic/PHP-Parser/zipball/d0230c5c77a7e3cfa69446febf340978540958c0" file could not be downloaded: SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed
Failed to enable crypto
failed to open stream: operation failed
    Now trying to download from source
  - Installing nikic/php-parser (v4.1.0): Cloning d0230c5c77


  [RuntimeException]
  Failed to clone https://github.com/nikic/PHP-Parser.git via https, ssh protocols, aborting.



Así va mas o menos el error que me daba composer cuando trataba de ejecutar composer update.

La solución en mi caso fue fácil, me imagine que se trataba de un error de red o algo así, por lo que deshabilite firewall y al antivirus, el kaspersky (a mi juicio uno de los mejores), en eso caminó sin problemas... claro, esos fueron los últimos trancazos que di. :-)

Ahora para que composer y kaspersky coexistan basta con agregar el php.exe a la lista de aplicaciones seguras de kaspersky, eso es por settings\additional\threats and exclusions\specify trusted applicacion....

viernes, 29 de septiembre de 2017

Driver VEN 8086 DEV 0F1C Intel Education Runtime Component

Justo eso, se trata del dispositivo PCI\VEN_8086&DEV_0F1C&SUBSYS_99A51019&REV_0A\3&11583659&0&F8 de las minilaptops canaimas letras rojas.

Todos los drivers son faciles de encontrar, pero este es un dolor de cabeza, sobre todo para windows 7 64 bits.

Yo lo encontre en unos drivers de HP: ftp://ftp3.hp.com/ftp1/pub/softpaq/sp65001-65500/sp65297.exe

o

https://es.driverscollection.com/_4754379128452fb536e16722e68/Descargar-Driver-para-HP-Classmate-Intel-Education-Runtime-Component-v.3.2.1.5701-para-Windows-8.1-(32-64-bit)-gratis

Saludos.

jueves, 15 de junio de 2017

Clave modem router CANTV ZXHN H108N V2.5

 Esto es todo:

usuario: admin
clave: c@ntvwifi2000

lunes, 8 de mayo de 2017

Error MySql .net C# no puede cargar rutinas

Descripcion del problema: 
-> mysql no muestra rutinas
-> database - Table './mysql/proc' is marked as crashed and should be repaired
-> Procedure or function cannot be found in database

Si miramos bien mediante la consulta: select * from INFORMATION_SCHEMA.ROUTINES; veremos que no todas las rutinas son listadas.

Tambien si estamos en workbench y le damos informacion a la base de datos del problema (schema inspector), vamos a la pestaña de stored procedures, veremos "nada" o menos de lo que deberíamos, es decir, faltan rutinas.

Si estás aquí seguro ya actualizaste todo a la ultima versión, bien por ti y te diste vida creando otras bases de datos de prueba, respaldando/restaurando, creando rutinas de prueba, etc, nada funciona, en fin...

Por allí leí que si pones el nombre de la base de datos en minúsculas, etc, realmente no lo probé, porque ese no era mi caso, lo menciono por no dejar.

El problema real

Se daño la tabla mysql.proc, científicamente: esta piche. (es_VE)

Mi solución:

C:\Program Files\MySQL\MySQL Server 5.6\bin>mysqlcheck --auto-repair=true --host=localhost -u USUARIO -p CALVE --all-databases=true

Mientras se ejecuta el comando veremos algo como esto:

mysql.proc
warning  : Table is marked as crashed
warning  : XX clients are using or haven't closed the table properly
error    : Wrong bytesec: 0-0-0 at linkstart: 602544
error    : Corrupt


Al final saldrá algo como esto:

Repairing tables
mysql.proc
info     : Wrong bytesec:   0-  0-  0 at 602544; Skipped
warning  : Number of rows changed from 190 to 188
status   : OK


Por último: Hay otras maneras de reparar el problema, pero eso depende de la versión de MySql

Saludos. espero te sea utill este pequeño aporte.

viernes, 17 de febrero de 2017

CakePHP 3.x Reglas del inflector en español

En el archivo htdocs\\config\bootstrap.php

Inflector::rules('plural', [
            '/(.*)r$/i' => '\1res',    // error => errores
            '/(.*)n$/i' => '\1nes',    // camion => camiones
            '/(.*)d$/i' => '\1des',    // ciudad => ciudades
            '/(.*)s$/i' => '\1ses',    // pais => paises
            '/(.*)l$/i' => '\1les',    // local => locales
            '/(.*)o$/i' => '\1os',    // carro => carros
            '/(.*)e$/i' => '\1es',    // carne => carnes
            ]);

    Inflector::rules('singular', [
            '/(.*)res$/i' => '\1r',
            '/(.*)nes$/i' => '\1n',
            '/(.*)des$/i' => '\1d',
            '/(.*)ses$/i' => '\1s',
            '/(.*)les$/i' => '\1l',
            '/(.*)os$/i' => '\1o',
            '/(.*)es$/i' => '\1e',
    ]);
Se puede mejorar...

viernes, 7 de agosto de 2015

Recuperar una G-Tablet ViewSonic de fabrica

¿Cuando aplicar este post? R: Cuando estemos desesperados(as). ja.

Para hacer lo que dice el titulo del post hay que:


Podemos leer algo en las siguientes url's:

http://forum.xda-developers.com/showthread?t=861950

Para los que desea usar los archivos llamados: tegra_froyo, tegra froyo
Los pueden encontrar todos en el siguiente link:
http://developer.download.nvidia.com/tegra/files/os

Este enlace tambien hace el trabajo
http://droidpirate.com/droidfiles/gtablet/ReCoVeRG-Tab.zip

Ver este video:
http://www.youtube.com/watch?v=qK2tgEBQRIU

Despues sigo...

domingo, 23 de marzo de 2014

Listado de códigos de área de Venezuela.

[
    {
        "id" : 293,
        "estado" : "Amazonas",
        "ciudades" : "Anacadiña, Arataña, Buena Vista, Cabadisecaña, Cácuri, Castaña, El Oso, El Venado, Guanajuaña, Guzmán Blanco, La Esmeralda, Laja Jeboa, Macanilla, Majanajanaña, Maroa, Misión Padomo, Monduapo, Morganito, Platanal, Pueblo Viejo, Puerto Ayacucho, Rajuña, Samariapo, San Antonio, San Carlos Río Negro, San Fernando de Atabapo, San José, San Juan de Manapiare, San Raimundo, Santa María Guaicas, Santa Rosa de Amadona, Solano, Suiña, Uasaraña, Yavita",
        "codigo" : "248"
    },
    {
        "id" : 294,
        "estado" : "Estado Anzoátegui",
        "ciudades" : "Barcelona, Bergantín, Boca de Uchire, Caigua, Clarines, Curataquiche, El Carito, El Hatillo, El Morro, Guanape, Guanapito, Guanta, Guaribe, Lecherías, Mucura, Mundo Nuevo, Onoto, Palital, Paradero, Pardillal, Pirara, Píritu, Pozuelos, Puerto La Cruz, Puerto Píritu, Putucual, Quiamare, Sabana de Uchire, San Diego de Cabrutica, San Francisco, San Pedro, Santa Cruz, Valle Guanape",
        "codigo" : "281"
    },
    {
        "id" : 295,
        "estado" : "Estado Anzoátegui",
        "ciudades" : "Anaco, Aragua de Barcelona, Cantaura, San Joaquín, San Lorenzo, San Manuel, San Mateo, San Miguel, San Roque, Santa Ana",
        "codigo" : "282"
    },
    {
        "id" : 296,
        "estado" : "Estado Anzoátegui",
        "ciudades" : "El Chaparro, El Tigre, El Tigrito (san José de Guanipa), San Tomé",
        "codigo" : "283"
    },
    {
        "id" : 297,
        "estado" : "Estado Anzoátegui",
        "ciudades" : "Soledad",
        "codigo" : "285"
    },
    {
        "id" : 298,
        "estado" : "Estado Anzoátegui",
        "ciudades" : "Urica",
        "codigo" : "292"
    },
    {
        "id" : 299,
        "estado" : "Apure",
        "ciudades" : "Biruaca, Bruzual, Elorza",
        "codigo" : "240"
    },
    {
        "id" : 300,
        "estado" : "Apure",
        "ciudades" : "Achaguas, Puerto Páez, San Fernando de Apure, San Juan de Payara",
        "codigo" : "247"
    },
    {
        "id" : 301,
        "estado" : "Apure",
        "ciudades" : "El Amparo, Guasdualito",
        "codigo" : "278"
    },
    {
        "id" : 302,
        "estado" : "Aragua",
        "ciudades" : "Maracay, Ocumare de La Costa, Palo Negro, Santa Cruz de Aragua",
        "codigo" : "243"
    },
    {
        "id" : 303,
        "estado" : "Aragua",
        "ciudades" : "Cagua, Colonia Tovar, El Consejo, La Victoria, Magdaleno, San Mateo, Las Tejerías, Turmero, Villa de Cura, Zuata",
        "codigo" : "244"
    },
    {
        "id" : 304,
        "estado" : "Aragua",
        "ciudades" : "Barbacoas, Camatagua, San Casimiro, San Sebastián",
        "codigo" : "246"
    },
    {
        "id" : 305,
        "estado" : "Barinas",
        "ciudades" : "Barinas, Barinitas, Barrancas, Ciudad Bolivia-pedraza, Las Veguitas, Libertad, Sabaneta, Socopó",
        "codigo" : "273"
    },
    {
        "id" : 306,
        "estado" : "Barinas",
        "ciudades" : "Capitanejo, El Cantón, Santa Bárbara de Barinas",
        "codigo" : "278"
    },
    {
        "id" : 307,
        "estado" : "Bolívar",
        "ciudades" : "Caicara del Orinoco",
        "codigo" : "284"
    },
    {
        "id" : 308,
        "estado" : "Bolívar",
        "ciudades" : "Ciudad Bolívar, Ciudad Piar, La Paragua",
        "codigo" : "285"
    },
    {
        "id" : 309,
        "estado" : "Bolívar",
        "ciudades" : "Cdad Guayana Matanzas, Cdad Guayana Puerto Ordaz, Cdad Guayana San Félix, El Roble, Unare",
        "codigo" : "286"
    },
    {
        "id" : 310,
        "estado" : "Bolívar",
        "ciudades" : "El Callao, El Dorado, El Manteco, El Palmar, Guasipati, Tumeremo, Upata",
        "codigo" : "288"
    },
    {
        "id" : 311,
        "estado" : "Bolívar",
        "ciudades" : "Santa Elena de Uairén",
        "codigo" : "289"
    },
    {
        "id" : 312,
        "estado" : "Carabobo",
        "ciudades" : "La Entrada, Las Trincheras, Los Guayos, Naguanagua, Tocuyito, Valencia",
        "codigo" : "241"
    },
    {
        "id" : 313,
        "estado" : "Carabobo",
        "ciudades" : "El Palito, Morón, Puerto Cabello, Urama",
        "codigo" : "242"
    },
    {
        "id" : 314,
        "estado" : "Carabobo",
        "ciudades" : "Mariara",
        "codigo" : "243"
    },
    {
        "id" : 315,
        "estado" : "Carabobo",
        "ciudades" : "Belén, Guacara, Gúigúe, San Joaquín, Tacarigua",
        "codigo" : "245"
    },
    {
        "id" : 316,
        "estado" : "Carabobo",
        "ciudades" : "Bejuma, Campo de Carabobo, Canoabo, Chirgua, Miranda, Montalbán",
        "codigo" : "249"
    },
    {
        "id" : 317,
        "estado" : "Cojedes",
        "ciudades" : "El Baúl, El Pao, Las Vegas, San Carlos, Tinaco, Tinaquillo",
        "codigo" : "258"
    },
    {
        "id" : 318,
        "estado" : "Delta Amacuro",
        "ciudades" : "Araguao, Boca de Macarao, Clavellina, Cojoida, Curiapo, Guarucara, Guiniquina, Isla de Cocuina, Jotajana, Juncalito, La Horqueta, Las Piedras, Los Castillos, Los Gúires, Los Remolinos, Macareíto, Manoa, Misión Araguaimujo, Misión San Francisco, Palo Blanco, Pedernales, Piacoa, Puerto Miranda, Sacupana, San José de Macareíto, San Miguel, Santa Catalina, Tucupita",
        "codigo" : "287"
    },
    {
        "id" : 319,
        "estado" : "Distrito Capital",
        "ciudades" : "Caracas",
        "codigo" : "212"
    },
    {
        "id" : 320,
        "estado" : "Falcón",
        "ciudades" : "Boca de Aroa, Capadare, Chichiriviche, Mirimire, San Juan de Los Cayos, Tocuyo de La Costa, Tucacas, Yaracal",
        "codigo" : "259"
    },
    {
        "id" : 321,
        "estado" : "Falcón",
        "ciudades" : "Cabure, Coro, Cumarebo, Churuguara, La Cruz de Taratara, La Vela de Coro, Maparari, Pedregal, Píritu, Puerto Cumarebo, San Luis, Santa Cruz de Bucaral, Tocopero",
        "codigo" : "268"
    },
    {
        "id" : 322,
        "estado" : "Falcón",
        "ciudades" : "Adícora, Judibana, Los Taques, Pueblo Nuevo, Punta Cardón, Punto Fijo, Santa Ana",
        "codigo" : "269"
    },
    {
        "id" : 323,
        "estado" : "Falcón",
        "ciudades" : "Capatárida, Dabajuro, Mene de Mauroa",
        "codigo" : "279"
    },
    {
        "id" : 324,
        "estado" : "Guárico",
        "ciudades" : "Cabruta, Chaguaramas, Las Mercedes del Llano, Valle de La Pascua",
        "codigo" : "235"
    },
    {
        "id" : 325,
        "estado" : "Guárico",
        "ciudades" : "Altagracia de Orituco, El Socorro, Lezama, San José de Guaribe, Santa María de Ipire, Tucupido",
        "codigo" : "238"
    },
    {
        "id" : 326,
        "estado" : "Guárico",
        "ciudades" : "Calabozo, El Sombrero, Ortiz, San Juan de Los Morros",
        "codigo" : "246"
    },
    {
        "id" : 327,
        "estado" : "Guárico",
        "ciudades" : "Camaguan",
        "codigo" : "247"
    },
    {
        "id" : 328,
        "estado" : "Lara",
        "ciudades" : "Barquisimeto, Cabudare, Río Claro, Sarare",
        "codigo" : "251"
    },
    {
        "id" : 329,
        "estado" : "Lara",
        "ciudades" : "Atarigua, Carora",
        "codigo" : "252"
    },
    {
        "id" : 330,
        "estado" : "Lara",
        "ciudades" : "Aguada Grande, Bobare, Cubiro, Duaca, El Tocuyo, Guárico, Humocaro Alto, Humocaro Bajo, Quíbor, Sanare, Santa Inés, Siquisique",
        "codigo" : "253"
    },
    {
        "id" : 331,
        "estado" : "Mérida",
        "ciudades" : "Arapuey, Caja Seca, Nueva Bolivia, Chachopo, Palmarito, Timotes, Torondoy",
        "codigo" : "271"
    },
    {
        "id" : 332,
        "estado" : "Mérida",
        "ciudades" : "Apartaderos, Ejido, La Azulita, Lagunillas, Mérida, Mucuchíes, Mucujepe, Mucuruba, Pueblo Llano, Santa Elena de Arenales, Santo Domingo, Tabay",
        "codigo" : "274"
    },
    {
        "id" : 333,
        "estado" : "Mérida",
        "ciudades" : "Bailadores, Chiguará, El Vigía, La Playa, Mesa de Bolívar, Santa Cruz de Mora, Tovar, Tucaní, Zea",
        "codigo" : "275"
    },
    {
        "id" : 334,
        "estado" : "Miranda",
        "ciudades" : "Araira, Caracas, Carrizalez, Filas de Mariche, Guarenas, Guatire, El Jarillo, El Junquito, Los Teques, Paracotos, San Antonio de Los Altos, San José de Los Altos, San Pedro, San Pedro de Los Altos, Turumo",
        "codigo" : "212"
    },
    {
        "id" : 335,
        "estado" : "Miranda",
        "ciudades" : "Caucagua, Cúpira, Curiepe, Chirimena, El Guapo, Higuerote, Panaquire, Río Chico, San Fernando del Guapo, San José de Río Chico, Tacarigua de La Laguna, Tacarigua de Mamporal",
        "codigo" : "234"
    },
    {
        "id" : 336,
        "estado" : "Miranda",
        "ciudades" : "Cúa, Nueva Cúa, Charallave, Las Brisas, Los Anaucos, Ocumare del Tuy, San Francisco de Yare, Santa Lucía, Santa Teresa, Tácata",
        "codigo" : "239"
    },
    {
        "id" : 337,
        "estado" : "Monagas",
        "ciudades" : "Barrancas, El Temblador",
        "codigo" : "287"
    },
    {
        "id" : 338,
        "estado" : "Monagas",
        "ciudades" : "Caripito, Maturín, Miraflores, Quiriquire",
        "codigo" : "291"
    },
    {
        "id" : 339,
        "estado" : "Monagas",
        "ciudades" : "Aguasay, Aragua de Maturín, Caicara de Maturín, Caripe, Jusepín, Punta de Mata, San Antonio Maturín",
        "codigo" : "292"
    },
    {
        "id" : 340,
        "estado" : "Nueva Esparta",
        "ciudades" : "Agua de Vaca, Altagracia, Antolín, Atamo, Boca de Pozo, Boca de Río, Boquerón, Caserío Bolívar, El Bichar, El Cercado, El Espinal, El Palito, El Pilar, El Robledal, El Salado, El Tuy, El Valle del Espíritu Santo, El Yaque, Fuentidueño, Guamache, Guayacancito, Guinima, Juan Griego, La Asunción, La Fuente, La Guardia, La Isleta, La Playa Pedro González, La Plaza, La Vecindad, Las Cabreras, Las Casitas, Las Hernández, Las Piedras, Losbagres, Los Fermines, Los Gómez, Los Milanes, Macanao, Manzanillo, Pampatar, Paraguachi, Pedregales, Porlamar, Puerto Fermín, Punta de Piedras, Salamanca, San Antonio, San Francisco, San Juan Bautista, San Pedro, Isla de Coche, San Sebastián, Santa Ana, Tacarigua, Valle de Pedro González",
        "codigo" : "295"
    },
    {
        "id" : 341,
        "estado" : "Portuguesa",
        "ciudades" : "Acarigua, Agua Blanca, Araure, Payara, Pimpinela, San Rafael de Onoto",
        "codigo" : "255"
    },
    {
        "id" : 342,
        "estado" : "Portuguesa",
        "ciudades" : "La Misión, Ospino, Píritu, Santa Rosalía, Turén Villa Bruzual",
        "codigo" : "256"
    },
    {
        "id" : 343,
        "estado" : "Portuguesa",
        "ciudades" : "Biscucuy, Boconoíto, Chabasquén, Guanare, Guanarito, La Aparición, Mesa de Cavaca, Papelón",
        "codigo" : "257"
    },
    {
        "id" : 344,
        "estado" : "Portuguesa",
        "ciudades" : "Campo Elías",
        "codigo" : "272"
    },
    {
        "id" : 345,
        "estado" : "Sucre",
        "ciudades" : "Araya, Cumaná, Cumanacoa, Manicuare, Marigúitar, San Antonio del Golfo",
        "codigo" : "293"
    },
    {
        "id" : 346,
        "estado" : "Sucre",
        "ciudades" : "Campo Claro, Cariaco, Carúpano, Casanay, El Pilar, El Rincón, Gúiria, Irapa, Macuro, Río Caribe, San Antonio de Irapa, San José de Aerocuar, Tunapuy, Yaguaraparo, Yoco",
        "codigo" : "294"
    },
    {
        "id" : 347,
        "estado" : "Táchira",
        "ciudades" : "Las Hernández",
        "codigo" : "275"
    },
    {
        "id" : 348,
        "estado" : "Táchira",
        "ciudades" : "Borota, Bramón, Cordero, Independencia, Las delicias, Palmira, Rubio, San Antonio del Táchira, San Cristóbal, San Josecito, Santa Ana, Táriba, Ureña",
        "codigo" : "276"
    },
    {
        "id" : 349,
        "estado" : "Táchira",
        "ciudades" : "Abejales, Colón, Coloncito, El Cobre, El Piñal, Estación Táchira, La Fría, La Grita, Lobatera, Michelena, Pregonero, Queniquea, Seboruco, Umuquena",
        "codigo" : "277"
    },
    {
        "id" : 350,
        "estado" : "Táchira",
        "ciudades" : "La Pedrera",
        "codigo" : "278"
    },
    {
        "id" : 351,
        "estado" : "Trujillo",
        "ciudades" : "El Dividive, El Jaguito, Escuque, Isnotú, La Ceiba, La Mesa De Esnujaque, La Puerta, La Quebrada, Mendoza Fría, Meseta De Chimpire, Motatán, Sabana De Mendoza, Tostos, Valera",
        "codigo" : "271"
    },
    {
        "id" : 352,
        "estado" : "Trujillo",
        "ciudades" : "Batatal, Betijoque, Bocono, Carache, Cuicas, Chejende, La Concepción, Monay, Pampán, Pampanito, San Lázaro, Santa Ana, Santiago, Trujillo",
        "codigo" : "272"
    },
    {
        "id" : 353,
        "estado" : "Vargas",
        "ciudades" : "Anare, Caraballeda, Carayaca, Catia La Mar, La Guaira, La Sabana, Los Caracas, Macuto, Maiquetía, Naiguata",
        "codigo" : "212"
    },
    {
        "id" : 354,
        "estado" : "Yaracuy",
        "ciudades" : "Campo Elías, Chivacoa, Sabana de Parra, Urachiche, Yaritagua",
        "codigo" : "251"
    },
    {
        "id" : 355,
        "estado" : "Yaracuy",
        "ciudades" : "Aroa",
        "codigo" : "253"
    },
    {
        "id" : 356,
        "estado" : "Yaracuy",
        "ciudades" : "Boraure, Cocorote, Farriar, Guama, Marín, Nirgua, Salom, San Felipe, San Pablo, Yumare",
        "codigo" : "254"
    },
    {
        "id" : 357,
        "estado" : "Zulia",
        "ciudades" : "Maracaibo, San Francisco",
        "codigo" : "261"
    },
    {
        "id" : 358,
        "estado" : "Zulia",
        "ciudades" : "Campo Mara, Carrasquero, Chiquinquira, El Carmelo, Isla de Toas, La Concepción, La Paz, La Sierrita, Los Cortijos, Paraguaipoa, Potrerito, San Rafael del Moján, Santa Cruz de Mara, Sinamaica, Tamare",
        "codigo" : "262"
    },
    {
        "id" : 359,
        "estado" : "Zulia",
        "ciudades" : "Las Piedras, Machiques, San José de Perija, Villa del Rosario",
        "codigo" : "263"
    },
    {
        "id" : 360,
        "estado" : "Zulia",
        "ciudades" : "Cabimas, Palmarejo, Punta Gorda, Santa Rita",
        "codigo" : "264"
    },
    {
        "id" : 361,
        "estado" : "Zulia",
        "ciudades" : "Campo Rojo, Ciudad Ojeda, Lagunillas",
        "codigo" : "265"
    },
    {
        "id" : 362,
        "estado" : "Zulia",
        "ciudades" : "Puertos de Altagracia",
        "codigo" : "266"
    },
    {
        "id" : 363,
        "estado" : "Zulia",
        "ciudades" : "Bachaquero, El Venado, Pueblo Nuevo, San Timoteo",
        "codigo" : "267"
    },
    {
        "id" : 364,
        "estado" : "Zulia",
        "ciudades" : "Bobures, El Batey, Gibraltar",
        "codigo" : "271"
    },
    {
        "id" : 365,
        "estado" : "Zulia",
        "ciudades" : "Casigua, El Chivo, El Guayabo, Encontrados, Santa Cruz del Zulia",
        "codigo" : "275"
    }
]

martes, 18 de marzo de 2014

¿Como obtener Adobe Reader para redistribuirlo?

Como todos sabemos, no se puede descargar adobe reader fácilmente desde la web de adobe (http://get.adobe.com/es/reader/), es todo un part... protocolo. Si lo queremos hacer legalmente  hay que llenar un formulario por producto, pedir permiso, casi una jaladera de bolas automatizada.

Luego optamos por bajarlo "por los caminos verdes", lo cual nos lleva a sitios web mas negros que verdes, plagados de malware. (no entremos en detalles)

Por lo anteriormente expuesto les explicaré un sencillo procedimiento para obtenerlo desde el sitio web original y quedarnos con el instalador.

Paso 1. Ingresamos a la descarga de adobe reader, navegamos un poco y llegamos a la pagina de instalación (Paso 1 de 3). Esa que siempre quiere meternos "McAfee Security Scan Plus", desmarcamos este molesto paquetico y le damos "Instalar ahora".

Paso 2.  Llegamos a la pagina "Paso 2 de 3", la cual no ofrece un downloader de 1 MB.  Este paquetico es el que se encarga de descargar el verdadero instalador de adobe reader en secreto, lo instala y luego lo borra (¡Que Maaaallll!)

Paso 2.1. Guardamos el paquetico, Una vez que termine la descarga lo ejecutamos y comienza la descarga del verdadero instalador del reader.

..::Atentos::..

El archivo de instalación del reader se descarga a la carpeta : "C:\Users\USUARIO\AppData\Local\Adobe\Acrobat" (Yo uso win8 64bits Español). debemos ubicar esta carpeta en el explorador de windows. Normalmente está oculta.

En mi caso una vez que comenzó la descarga apareció un archivo llamado "AdbeRdr11006_es_ES.exe" en la ruta antes mencionada, de unos 48 MB. Ese es el que queremos conservar.

Mientras tanto el "downloader" esta haciendo su trabajo, primero descargando y luego "Instalando...", este último es nuestro momento (No dura para siempre), significa que el instalador está completamente en nuestro equipo, es el momento de copiarlo a otra ubicación para resguardarlo de aniquilación segura que sufrirá a manos del "Malvado downloader" que lo eliminará al terminar la instalación.

Listo. Ya tenemos un instalador Offline de Adonbe Reader.
Seguro que a John Warnock y a Charles Geschke les gustará este artículo.

Hay otros procedimientos que tambien hacen este trabajo, se los dejo a ustedes.

Hasta la próxima vez, no antes ni despues. Y no olviden comentar y aportar.

domingo, 9 de febrero de 2014

¿Como partir una pastilla en partes iguales?

El problema es el siguiente: Se requiere dividir un comprimido de medicamento en pequeñas porciones de forma exacta, mas allá de usar un cortador. Digamos un comprimido de 25mg en 5 partes, cada una con 5mg de medicamento (principio activo).

La solución al problema de partir la pastilla de 25 mg en 5 partes iguales puede ser la siguiente:

Compra una balanza de joyero (+/- 0.01 g) y un mortero para química (de ceramica) para triturar la pastilla, luego:

1.- Pesa la pastilla entera.
2.- Completa el peso con almidón o maizina (excipiente), digamos a 5 gramos (pastilla + maizina = 5g),
3.- Tritura todo junto
4.- Extrae 1 g de material que contendría los 5 mg de medicamento que requieres (1 dosis).

Nota: Como la balanza es de +/-0.01g no puede errar mas de 1%, error = +/-0.05mg, 1/100. No es nada. Básicamente es agrandar lo que necesitas dividir.

miércoles, 26 de junio de 2013

¿Como traducir nombres de meses en CakePhp?

Buscando en la web la solución a esta interrogante solo encontré dudas y ninguna solución certera.

Así que, me puse a investigar en el código y descubrí lo siguiente:

La clave se encuentra en el archivo \cake\libs\view\helpers\FormHelper.php, en el método: _generateOptions, que es el lugar en donde se encuentran los nombres de los meses en ingles; Allí podemos observar que los nombres de los mese pasan por la función __d() como se muestra a continuación:

$data['01'] = __d('cake', 'January');
...
$data['12'] = __d('cake', 'December');

Estudiando la función function __d($domain, $msg, $args = null), que se encuentra en: \cake\basics.php observamos que el primer parámetro es $domain, que en el caso de los meses es igual a 'cake', por lo tanto y para hacer el cuento corto, nos indica que debemos crear un archivo llamado cake.po en app/Locale/spa/LC_MESSAGES con la traducción de los meses con sigue:

msgid "January"
msgstr "Enero"

.....

msgid "December"
msgstr "Diciembre"


Recomiendo usar un editor como el que se encuentra en: http://www.poedit.net/ para evitar errores, al menos al principio. 

Por último debemos colocar en el core.php de la aplicación una línea como la que sigue:

    Configure::write('Config.language', 'spa');

Nótese que el valor 'spa' debe coincidir con app/Locale/spa/LC_MESSAGES.

Nota: La versión usada de cakePhp es la 2.3.6.

Espero sus comentarios, aportes y preguntas.


domingo, 9 de septiembre de 2012

Listado de tablas MySql

A continuación una simple consulta para extraer el listado de tablas de una base de datos MySql y de paso generar los arreglos de inflectores para cakePhp
select concat('\'',table_name,'\' => \'', table_name, '\',') from information_schema.tables where table_schema = 'BASE DE DATOS' order by table_name
Si te resultó útil por favor comenta.

sábado, 14 de mayo de 2011

Driver wifi Bluetooth ML-1020 SIRAGON

Drivers wifi Bluetooth para la siragon ML-1020

wifi usb dongle, 3dsp bt usb dongle

Aquí:
http://www.stk.com.tw/driver/Wireless/Release_ForUSBWindows/History/Bluewu_3.1.04.20100318_softhotkey_32bitOS(IVT).exe

Para los que no saben como copiar y pegar <<< AQUI >>>

http://www.stk.com.tw/product-01.asp?Product_Type=58

Suerte.
Si te resulto útil, coméntalo.

sábado, 29 de enero de 2011

Conectar CakePhp 13.x com Microsoft Sql Server 2005/2008 usando PHP 5.3.x

El problema es el siguiente: Al usar PHP 5.3.x ya no disponemos de la extensión php_mssql.dll (en las versión 5.2.x no existe este problema), sino de las extensiones php_sqlsrv_53_*.dll (la que mejor se adapte a tu caso), y por lo tanto no podemos conectar a cakephp con mssql usando el driver mssql en el archivo database.php.

Esto se debe a que Bill cambio entre otras cosas la interfaz de la extensión.

La solución es fácil:

Instalar el sql server native client 2008 r2: sqlncli.msi, lo descargas desde aquí o buscar Microsoft SQL Server 2008 Feature Pack, April 2009 y descargar.

Instalar correctamente las extensiones php_sqlsrv_53*.dll, si es posible crear una página php para verificar que en efecto funcionan. Lo descargas desde aquí o buscar Microsoft Drivers for PHP for SQL Server, el objetivo es el archivo: SQLSRV20.EXE.


Descargar el archivo dbo_sqlsrv.php en app\models\datasources desde aquí o busca en google: DboSqlsrv en el site: github.com.
Tambien puede entrar por https://github.com/cakephp/datasources.

Casi listo: Ahora en el archivo database.php colocas el driver => sqlsrv, guardas y pruebas.

No está demás mencionar que debes haber configurado el cakephp correctamente...

saludos y hasta la próxima, espero que esta entrada de blog os sea de utilidad.

viernes, 8 de enero de 2010

Error Batch update returned unexpected row count from update; actual row count: 2; expected: 1

Primero que todo gracias a diós por este nuevo año, por mi y por todos.

Ahora, con respecto al error, se debe a que nhibernate toma en cuenta el rowcount de la instruccion sql para hacer algún tipo de validación y como en mi caso tenia un trigger en la tabla supongo que se altera el rowcount original (o el esperado por nh) y lanza una exception.

Solución: colocar set nocount on al trigger.

Saludos.