Esta semana tuve que enfrentarme a esta camarita plug & play de Genius (Eye 110 en mi caso, pero son varios los modelos de cámara que utilizan este chipset).
Tras vario renegar logré hacerla andar en Windows 7 (32 y 64 bits).
sábado, 28 de febrero de 2015
Habilitar/Deshabilitar Touchpad (Linux)
Aquellas personas de manos torpes como las mías, se encontrarán en muchas oportunidades molestándose a si mismos tocando accidentalmente el touchpad de sus notebooks.
En mi caso esto puede suceder en varias oportunidades en el día. Para combatir dicho problema nada mejor que poder deshabilitar el touchpad/trackpad.
Cómo en GNU/Linux no encontré ninguna forma gráfica de hacerlo de manera sencilla nada que mejor que ponerles nuestras manos encima a la consola.
En mi caso esto puede suceder en varias oportunidades en el día. Para combatir dicho problema nada mejor que poder deshabilitar el touchpad/trackpad.
Cómo en GNU/Linux no encontré ninguna forma gráfica de hacerlo de manera sencilla nada que mejor que ponerles nuestras manos encima a la consola.
martes, 4 de marzo de 2014
Rediseño del blog
Como verán reactivamos el sitio que durante mucho tiempo dejamos sin actualizar.
Este nuevo comienzo viene de la mano de un nuevo diseño del sitio, para aportar simpleza y facilidad de lectura al mismo. Dejando de lado o en un segundo plano todo lo que no es contenido.
Esperamos que lo disfruten y estar publicando nuevamente más seguido.
Este nuevo comienzo viene de la mano de un nuevo diseño del sitio, para aportar simpleza y facilidad de lectura al mismo. Dejando de lado o en un segundo plano todo lo que no es contenido.
Esperamos que lo disfruten y estar publicando nuevamente más seguido.
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
Publicado por
Pablo
0
comentarios
Etiquetas:
Noticias
Crear un dump (backup) de todas las bases de datos MySQL
Al momento de realizar un backup completo de nuestro servidor resultar útil y ágil realizar con un único comando un dump de todas las bases de datos que se encuentran en nuestro servidor.
En estos casos suelo recurrir al siguiente comando:
Al ejecutar el comando el sistema solicitará el password del usuario en cuestión. Si este comando fuese utilizado en un script puede ingresarse la contraseña del usuario tras la bandera p.
En estos casos suelo recurrir al siguiente comando:
$ mysqldump -u nombreUsuario -p --all-databases --add-drop-table > dump_name.sql
Al ejecutar el comando el sistema solicitará el password del usuario en cuestión. Si este comando fuese utilizado en un script puede ingresarse la contraseña del usuario tras la bandera p.
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
Publicado por
Pablo
0
comentarios
Etiquetas:
Backup,
bases de datos,
Comandos,
dump,
MySQL
Montar localmente directorios remotos de un servidor ajeno
En ocaciones tenemos que conectarnos utilizando SSH a servidores remotos para trabajar. Este tipo de acceso es muy util pero resulta algo tedioso cuando tenemos que manipular varios archivos y queremos ir previsualizando su contenido.
Para estas ocacciones podemos utilizar sshfs para montar localmente de forma segura un directorio en un servidor remoto.
Para instalar sshfs en nuestras distros basadas en Debian podemos recurrir al siguiente comando:
Luego para montar el directorio utilizamos el siguiente comando:
Al ejecutar el comando se nos solicitará la contraseña de nuestro usuario remoto.
Ejemplo de uso:
Finalmente para no tener que ser root para montar este tipo de directorio podemos agregar nuestro usuario al grupo fuse. El siguiente comando es necesario para tal efecto:
Para estas ocacciones podemos utilizar sshfs para montar localmente de forma segura un directorio en un servidor remoto.
Para instalar sshfs en nuestras distros basadas en Debian podemos recurrir al siguiente comando:
# aptitude install sshfs
Luego para montar el directorio utilizamos el siguiente comando:
$ sshfs usuarioRemoto@servidorRemoto:/path/al/directorio/remoto /path/local
Al ejecutar el comando se nos solicitará la contraseña de nuestro usuario remoto.
Ejemplo de uso:
$ sshfs guest@127.0.0.1:/demo /home/p4bl1t0/demo
Finalmente para no tener que ser root para montar este tipo de directorio podemos agregar nuestro usuario al grupo fuse. El siguiente comando es necesario para tal efecto:
# usermod -a -G nombreGrupo nombreUsuario
miércoles, 13 de julio de 2011
Generar un PROXY (clase) para consumir un Web Service en .NET
Hoy vamos a la inversa del otro día. Queremos generar una clase con la cual podamos consumir un determinado web service.
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
Publicado por
Pablo
0
comentarios
Etiquetas:
C#,
Desarrollo,
Proxy,
Web Services
jueves, 7 de julio de 2011
Codigos Postales - Argentina
La idea prncipal de este tutorial es enseñarle como aprovechar el sistema de Codigo Postales del Correo Argentino. Veran que se puede obtener un codigo postal de una ciudad simplemente haciendo un Post a una pagina determinada.Es realmente facil.
Cada provincia tiene un codigo. Ese codigo se usa para formar la pagina a la cual se le va hacer la peticion. Como datos hay que pasarle la variable localidad con el nombre entero o uno parte de la ciudad que estemos buscando. Como resultaro obtendremos codigo html, que representa una lista HTML con los resultado.
Aca les paso el codigo, esta hecho en python pero es muy facil de interpretar y llevar a otro lenguaje.
Cada provincia tiene un codigo. Ese codigo se usa para formar la pagina a la cual se le va hacer la peticion. Como datos hay que pasarle la variable localidad con el nombre entero o uno parte de la ciudad que estemos buscando. Como resultaro obtendremos codigo html, que representa una lista HTML con los resultado.
Aca les paso el codigo, esta hecho en python pero es muy facil de interpretar y llevar a otro lenguaje.
miércoles, 6 de julio de 2011
Detectar dispositivos móviles en Blogger
Tratando de hacer este blog muchísimo más amigable para smartphone y además como parte del rediseño completo del sitio me encontré husmeando en las plantillas de blogger con el siguiente código:
<b:if cond='data:mobile == "false"'>Que en definitiva te permite detectar si el dispositvo es un movíl o si es una computadora.
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
Publicado por
Pablo
0
comentarios
Etiquetas:
blogger,
Desarrollo,
detectar móvile
martes, 5 de julio de 2011
Buscar coordenas de una ciudad usando Google
Hoy necesitaba buscar las coordenadas de varias ciudades de Argentina, por lo que hice este scirpt.
Toma como entrada un arivo llamado citys.txt con el formato "codigo postal, nombre ciudad".
Y devuelve un archivo con las coordenadas, y la provincia entre otras cosas.
Toma como entrada un arivo llamado citys.txt con el formato "codigo postal, nombre ciudad".
Y devuelve un archivo con las coordenadas, y la provincia entre otras cosas.
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
Publicado por
Sam
0
comentarios
Etiquetas:
Desarrollo,
Google,
Javascript,
minidom,
python
Asignarle un Alias a un Namespaces en Visual Studio
Otra cortita y al pies. Esta es mas bien un SNIPPET de código. Muchas veces tenemos namespace de nombre largo o de complicada lectura y lo que queremos es reducir el impacto visual y mejorar la legilibilidad del código, sobretodo si estamos compartiendo o trabajando en conjunto sobre el mismo. Es por esta razones que resulta interesante asignarle alias a los NAMESPACES.
El código necesario es el siguiente:
El código necesario es el siguiente:
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
Publicado por
Pablo
0
comentarios
Etiquetas:
Alias para Namespace,
C#,
Desarrollo,
Snippet
Generar una Interface a partir de un WSDL
Cortita y al pie!
Un par de veces en el trabajo me enfrenté al problema de tener que a partir de un WSDL tener que generar la interfaz para un Web Service de manera de que otro servicio pueda consumir los datos que le iba a ofrecer. En varias de esas oportunidades terminabamos cambiando la óptica, porque no conocía la manera de como generar un Web Service a partir de un WSDL. Pero hoy me enteré en la búsqueda de otra cosa que con el siguiente comando, podemos generar a partir de un WSDL una interfaz PUNTO.NET para luego crear nuestro Web Service. Lo único que restaría es hacer una clase que la implemente.
El comando es el siguiente:
Un par de veces en el trabajo me enfrenté al problema de tener que a partir de un WSDL tener que generar la interfaz para un Web Service de manera de que otro servicio pueda consumir los datos que le iba a ofrecer. En varias de esas oportunidades terminabamos cambiando la óptica, porque no conocía la manera de como generar un Web Service a partir de un WSDL. Pero hoy me enteré en la búsqueda de otra cosa que con el siguiente comando, podemos generar a partir de un WSDL una interfaz PUNTO.NET para luego crear nuestro Web Service. Lo único que restaría es hacer una clase que la implemente.
El comando es el siguiente:
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
Publicado por
Pablo
0
comentarios
Etiquetas:
C#,
Desarrollo,
Web Services,
WSDL
domingo, 3 de julio de 2011
Separador (clearfix) CSS sin etiquetas HTML
Cada vez que utilizamos la propiedad float:left/right en nuestro CSS, para armar la estructura de nuestro sitio, tenemos que estar atentos a que si los bloques que estamos "flotando" tienen distinto alto puede ocurrirnos que los bloquespresenten un comporamiento no deseado.
Es por esto que al final de los elemento flotantes colocabamos un elemento de bloque con la propiedad clear:both para solucionar este inconveniente o asegurar la disposición que estabamos buscando. Ya que este elemento se situaba por debajo de todos los bloques y cerraba nuestro contenedor.
El problema de esta solución es que estamos agregando HTML a la página que no tiene ningun sentido (semántico) para el contenido y el significado del sitio. Además si el contenido que se genera es dinámico tenemos que asegurarnos que el elemento se agregue al final para que no produzca efectos colaterales y se cierre correctamente el contenedor.
Es por eso que desde CSS-Tricks nos acercan esta solución CSS:
Es por esto que al final de los elemento flotantes colocabamos un elemento de bloque con la propiedad clear:both para solucionar este inconveniente o asegurar la disposición que estabamos buscando. Ya que este elemento se situaba por debajo de todos los bloques y cerraba nuestro contenedor.
El problema de esta solución es que estamos agregando HTML a la página que no tiene ningun sentido (semántico) para el contenido y el significado del sitio. Además si el contenido que se genera es dinámico tenemos que asegurarnos que el elemento se agregue al final para que no produzca efectos colaterales y se cierre correctamente el contenedor.
Es por eso que desde CSS-Tricks nos acercan esta solución CSS:
.grupo:before, .grupo:after { content:""; display:table; } .grupo:after { clear:both; } .grupo { zoom:1; /* For IE 6/7 */ }
viernes, 1 de julio de 2011
Título semántico en listas HTML
Al tratar de otorgarle más semántica nuestro marcado HTML nos hemos encontrado que no exista dentro de nuestra lista (UL) una etiqueta para informar el título de la lista (algo que describa los elementos de la misma). En cambio etiquetas como "fieldset" tienen a "legend" para titularlas
Ejemplo:
También tenemos a "thead" y "th" para generar encabezados semánticos a nuestras tablas.
Como en las listas no existe nada de esto, pensé en utilizar el atributo title de todo elemento y combinarlo un poco con los pseudo-elementos "before" y "after" para poder obtener mi título semántico.
El código es el siguiente:
Y el CSS aplicado:
Para obtener este resultado
Ejemplo:
También tenemos a "thead" y "th" para generar encabezados semánticos a nuestras tablas.
Como en las listas no existe nada de esto, pensé en utilizar el atributo title de todo elemento y combinarlo un poco con los pseudo-elementos "before" y "after" para poder obtener mi título semántico.
El código es el siguiente:
<ul title="Navegadores que soportan título semático en UL OL DL"> <li>IE 8+</li> <li>FF 3+</li> <li>Chrome</li> <li>Opera 6+</li> <li>Safari 4+</li> </ul>
Y el CSS aplicado:
ul{ list-style-type:square; padding-left:20px; } ul:before{ content:attr(title); position:relative; left:-20px; color:blue; font-weight:bold; }
Para obtener este resultado
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
Publicado por
Pablo
0
comentarios
Etiquetas:
CSS,
Desarrollo,
HTML,
Semántica
jueves, 23 de septiembre de 2010
Instalar Impresora HP en Debian
Seguramente han logrado instalar sus impresoras utilizando Cups. Pero que hay si estas son de las que vienen con Wifi y encima traen scanner. ¿Sera posible hacerlo funcionar en linux?
Pues claro. En los repositorios un par de paquetes importanticimos para la instalacion de las impresoras/scanner Hp. Este paquete se llama hplip. Tambien recomiendo instalar hplip-gui. Para esto desde consola ejecutamos como root:
Una vez que tengamos esto instalado. Recomiendo no usar cups para instalar la impresora. Ya que esta aplicacion de HP nos la configurara automaticamente y la tendremos disponible para mas tarde configurarla desde CUPS.
Entonces para poder instalarla desde una consola como root
Pues claro. En los repositorios un par de paquetes importanticimos para la instalacion de las impresoras/scanner Hp. Este paquete se llama hplip. Tambien recomiendo instalar hplip-gui. Para esto desde consola ejecutamos como root:
# aptitude install hplip hplip-gui
Una vez que tengamos esto instalado. Recomiendo no usar cups para instalar la impresora. Ya que esta aplicacion de HP nos la configurara automaticamente y la tendremos disponible para mas tarde configurarla desde CUPS.
Entonces para poder instalarla desde una consola como root
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
Publicado por
Sam
0
comentarios
Etiquetas:
Debian,
f4500,
f4580,
hp,
hp-toolbox,
hplip,
impresora,
instalar drivers,
Linux,
scanner,
wifi
lunes, 20 de septiembre de 2010
Un simple pero efectivo atoi
Hace mucho que no escribo en esta seccion del blog, pero bueno, no se alarmen. Hoy en uno de los foros que leo me pidieron que les enseñe a crear un atoi (convertir de cadena a entero) en c. Y como fue codigo 100% hecho por mi se me ocurrio compartirlo. Ademas por la explicacion que hice. Aqui va el codigo.
'5' - '0' = 5
'2' - '0' = 2
La idea es restar siempre el primer elemento de la secuencia ordenada de caracteres que queramos. Es posible aplciar esta tecnica para averiguar el numero de letra( 'g' - 'a').
Luego pensemos en un poco de matematica:
2345 = 2 x 1000 + 3 * 100 + 4 * 10 + 5
Esta idea nos da una pequeña intuicion. Tenemos que ir multiplicando cada digito(obtenido con la tecnica anterior) por un multiplo de 10 segun corresponda. Pero no es muy conveniente llegar al digito menos representativo para empezar a multiplicar.
Existe una mejor tecnica. Miren esta descomposicion efectuada gracias a la distribucion del producto:
2345 = 2 x 1000 + 3 * 100 + 4 * 10 + 5 = (2 * 100+ 3 * 10 + 4) * 10 + 5
Si seguimos desarrollando de esa manera, observaremos que al agregar un nuevo digito al numero, simplemente multiplicamos por 10 el numero anterior y le sumamos el digito siguiente:
numero = numero * 10 + digito
Todos sabemos que al multiplicar un numero por diez, se corre la coma a la derecha, apareciendo un cero final. Simplemente hay que sumarle el digito obtenido y listo.
Un agregado mas, en el for se recorre hasta que se obtiene un final de cadena. Pero se puede modificar para que recorra siempre que se obtenga un digito. Cuando este no aparezca mas se corta. Osea podremos parciar numeros desde cadenas como estos "1234holamundo"
Les dejo la pista para esto. En el for deberian chequear esta condicion: '0'<= cadena[i]<='9'
numero = 0; for(i=0;cadena[i] != '\0' ;i ++) { digito=cadena[i] - '0'; numero = numero * 10 + digito; }Como cada caracter es representado por un numero, a esto le podemos restar otros caracteres para obtener otro caracter o un numero. Por ejemplo para obtener el digito 5 desde el caracter '5' podemos hacer:
'5' - '0' = 5
'2' - '0' = 2
La idea es restar siempre el primer elemento de la secuencia ordenada de caracteres que queramos. Es posible aplciar esta tecnica para averiguar el numero de letra( 'g' - 'a').
Luego pensemos en un poco de matematica:
2345 = 2 x 1000 + 3 * 100 + 4 * 10 + 5
Esta idea nos da una pequeña intuicion. Tenemos que ir multiplicando cada digito(obtenido con la tecnica anterior) por un multiplo de 10 segun corresponda. Pero no es muy conveniente llegar al digito menos representativo para empezar a multiplicar.
Existe una mejor tecnica. Miren esta descomposicion efectuada gracias a la distribucion del producto:
2345 = 2 x 1000 + 3 * 100 + 4 * 10 + 5 = (2 * 100+ 3 * 10 + 4) * 10 + 5
Si seguimos desarrollando de esa manera, observaremos que al agregar un nuevo digito al numero, simplemente multiplicamos por 10 el numero anterior y le sumamos el digito siguiente:
numero = numero * 10 + digito
Todos sabemos que al multiplicar un numero por diez, se corre la coma a la derecha, apareciendo un cero final. Simplemente hay que sumarle el digito obtenido y listo.
Un agregado mas, en el for se recorre hasta que se obtiene un final de cadena. Pero se puede modificar para que recorra siempre que se obtenga un digito. Cuando este no aparezca mas se corta. Osea podremos parciar numeros desde cadenas como estos "1234holamundo"
Les dejo la pista para esto. En el for deberian chequear esta condicion: '0'<= cadena[i]<='9'
Enviar por correo electrónicoEscribe un blogCompartir en XCompartir con FacebookCompartir en Pinterest
Publicado por
Sam
0
comentarios
Etiquetas:
atoi,
C,
c++,
char to int,
conversion,
Desarrollo
Suscribirse a:
Entradas (Atom)