Entradas

Mostrando las entradas de 2016

Obtener IP de conexion en MSSQL Server

Comparto estos dos scripts muy sencillos pero me han ayudo cuando necesitas saber la direccion IP de algun equipo, por ejemplo cuado se generan bloqueos, o por alguna otra razon: /* Obtener la IP de la conexion del cliente */ SELECT client_net_address FROM sys.dm_exec_connections WHERE session_id = @@spid /* Obtener la ultima instruccion ejecutada */ DECLARE @sqltext VARBINARY(128) SELECT @sqltext = sql_handle FROM sys.sysprocesses WHERE spid = (YourSessionID) SELECT TEXT FROM sys.dm_exec_sql_text(@sqltext) GO

Avast en Windows XP e Internet Explorer que no Navega

Recientemente me encontré con una situación extraña. Un equipo con Vindows XP , teniendo instalado el Avast, el equipo si tenia acceso a conectarse por ejemplo el TeamViewer o permitir conexiones salientes que no ocuparan el puerto 80, pero cualquier programa que intentara usar el puerto 80, el equipo no lo permitía. Firewall desactivado igual. Incluso el Avast fallaba en su intento de actualizarse y no permitía des-instalar el Avast. Finalmente después de un par de horas investigando encontré la solución, el primer enlace permite remover el Avast debido a la falla que presentaba: http://techdows.com/2014/09/fix-avasts-error-setup-is-already-running-please-try-to-start-the-setup-later.html En el segundo enlace encontré me apunto hacia un programa que corrige el problema  que tenia la maquina y que no permitía la navegación, el programa se llama winsockxpfix.exe, el cual descargue desde http://majorgeeks.com/WinSock_XP_Fix_d4372.html https://forum.avast.com/index.php?topic=6...

Android ArrayAdapter y ListView

Buscando entre varios artículos para aprender a usar un ArrayAdapter junto con un ListView, me encontré este articulo en GitHub. Me gusto mucho porque tiene una explicación detallada paso a paso de como utilizar en conjunto ambas clases, dejo el enlace para futuras referencias: https://github.com/codepath/android_guides/wiki/Using-an-ArrayAdapter-with-ListView

Pentaho Spoon y conexion a Sybase SQL Anywhere 8

Para conectar el spoon a un origen de datos de Anywhere se puede ocupar la librería que se instala con el Sybase ASE, generalmente se instala en C:\sybase\jConnect-5_2\classes y se llama jconn2.jar (puede ser jconn3 o jconn4 dependiendo de la versión del Sybase ASE). Esta libreria se coloca en la carpeta del spoon donde lee los drivers de conexión, en el caso de la versión 6, se coloca en [pentaho_dir]\data-integration\lib. Creamos una nueva conexión elegimos "Generic", le ponemos un nombre, y los siguientes datos: Custom  Connection URL jdbc:sybase:Tds:<host>:<port>?ServiceName=<database> Custom Driver Class Name com.sybase.jdbc2.jdbc.SybDriver En esta pagina encontré la información para la cadena de conexion: https://razorsql.com/docs/help_sybase.html

Error al iniciar el emulador de Android Studio 2 en Ubuntu

Al instalar la nueva versión de Android Studio 2 en Ubuntu, me sucedió que dejo de funcionar el emulador, sin embargo en la versión anterior 1.5 funcionaba sin problemas. Al intentar iniciar el emulador obtenia estos mensajes: libGL error : unable to load driver : r600_dri . so libGL error : driver pointer missing libGL error : failed to load driver : r600 libGL error : unable to load driver : swrast_dri . so libGL error : failed to load driver : swrast El error se genera por una librería que se requiere actualizar, encontré la solución en este enlace: http://stackoverflow.com/questions/36554322/cannot-start-emulator-in-android-studio-2-0

Crear un repositorio "bare" y agregarle codigo ya existente con Git

Para los impacientes y comenzar a utilizar rapidamente el control de versiones con Git , en un codigo ya existente: Facturacion4GMod esta controlado con Git FacturacionPOS4g esta controlado con Git Para descargar una version localmente hacer un git fetch 1.- Crear un repositorio bare creando el <directorio> especificado git init --bare <directorio> 2.- Dentro del directorio con el codigo ya existente , ejecutar; git init 3.- Colocar dentro del directorio el archivo .gitignore adecuado segun el lenguaje * Ver en plantillas de archivos .gitignore https://github.com/github/gitignore 4.- Para agregar TODOS los archivos al repositorio local y despues hacer un commit git add . git commit -a Al ejecutar el commit pedira editar el mensaje con el que se guardara el commit. El editor se maneja como el vim, "i" para editar, ESC para salir de edicion, y ":wq" para guardar los cambios y salir 5.- Agregar el repositorio remoto a nuestro reposi...

Tips variados para programacion android

Como actualizar un TextView desde un thread separado del thread de la UI (interface usuario): Cuando intentas actualizar un textview desde otro thread separado, se genera una excepción: “Only the original thread that created a view hierarchy can touch its views.” Encontré la solución en este enlace: http://stackoverflow.com/questions/5161951/android-only-the-original-thread-that-created-a-view-hierarchy-can-touch-its-vi Libreria Volley y requestQueue terminados No he encontrado si la librería volley puedas saber cuando ya terminaron todos los request que están en cola, esto es debido a que se generan de forma asíncrona. Lo resolvi declarando un HasMap<String,Boolean>, antes de comenzar los requests, inicializo el hasmap con key a falso por cada request. Después en el evento "response" o "error" de cada request, marco la etiqueta en el HashMap a true como finalizado, reviso todo el HashMap y si todos están true, disparo un evento que indica que ya ter...

LimeSurvey

Buscando otras cosas encontré un sistema llamado LimeSurvey, que sirve para crear encuestas, y publicarlas . Revisando la documentación veo que tiene su propia API para poder acceder a la funcionalidad del sistema. Este es el enlace a la pagina: https://www.limesurvey.org/ Documentación de la API https://manual.limesurvey.org/RemoteControl_2_API Me pareció un buen proyecto, voy a ver si encuentro algo que se pueda usar desde Android. El sistema esta desarrollado en PHP asi que debe ser facilmente instalable en cualquier distribucion Linux.

Android Studio y Traccar

Hace unos dias me sucedió este problema que dejo anotado aquí por si alguien mas le sucede, y esta relacionado con el Android Studio y un programa llamado Traccar. El síntoma fue que al intentar ejecutar el emulador de android en Ubuntu Linux 16 simplemente indicaba que no podía encontrar ningún emulador, y generaba un mensaje para ejecutar manualmente el adb: ./adb start-server sin embargo al ejecutarlo tampoco funcionaba, imagine que tenia algo que ver con algun puerto pero no tenia idea de como descubrir que puerto. Descubrí que el puerto que ocupa el adb es el 5037 , llegue a este enlace en stackoverflow, que fue el que me ayudo a resolver el problema: http://stackoverflow.com/questions/17116121/adb-hangs-when-trying-to-start-or-stop-server El problema es que el traccar ocupa el puerto 5037 y se instala como un servicio. La solución fue detener el servicio del traccar para poder ocupar el emulador. Pude utilizar el Bootup-Manager que esta incluido en el Ubuntu , localic...

Por que es mejor Git que X

Hace un tiempo me encontre este articulo que compara porque preferir Git a otros SCMs, Pongo la traduccion, lamento no haber guardado el enlace a la pagina original, solo guarde el texto y pongo la traduccion "Porque es Git mejor que X" delineando varios pros y contras de Git vs otros SCM Resumen: Briefly: Git registra contenido en lugar de archivos "Branch" son ligeros y "Merging" es facil, muy facil Es distribuido, basicamente cada repositorio es un "Branch", Es mas facil para desarrollar concurrentemente y colaborar que con Subversion. Tambien hace posible desarrollar sin conexion. No impone ningun flujo, hay muchos flujos posibles con Git. Duplicar el flujo con el estilo de Subversion es facilmente realizado. Repositorios de Git son mucho mas pequeños in tamaño de archivo que Subversion. "Why Git is Better than X" outlines the various pros and cons of Git vs other SCMs.     Branches are lightweight and merging is eas...

Notas para el desarrollo de la aplicacion Android y Turbogears como backend

Uso de Volley GPS y fechas en android Estrategias de sincronizacion Libreria para solicitudes asincronas por http con volley: http://www.itsalif.info/content/android-volley-tutorial-http-get-post-put http://arnab.ch/blog/2013/08/asynchronous-http-requests-in-android-using-volley/ http://developer.android.com/intl/es/reference/android/os/AsyncTask.html#doInBackground%28Params...%29 http://stackoverflow.com/questions/28120029/how-can-i-return-value-from-function-onresponse-of-volley http://developer.android.com/intl/es/training/volley/request.html http://www.sitepoint.com/volley-a-networking-library-for-android/ Manejo de Fechas: - Formatear una fecha en Java http://developer.android.com/intl/es/reference/java/text/SimpleDateFormat.html - Formatear la fecha segun el TimeZone https://www.javacodegeeks.com/2014/11/a-beginners-guide-to-java-time-zone-handling.html Estrategias de sincronizacion en Android: http://stackoverflow.com/questions/27210353/cloud-sync-strate...
Python , Django y mod_wsgi Al instalar una aplicación Django en un servidor de Linux, la distribución Ubuntu 14 LTS, me encontre con un error que se registraba en la bitácora del apache2, después de buscar intensamente por la web, encontré que se debía a un error de configuración, ya que no debes tener activados ambos módulos el modulo de python y el mod_wsgi Este es el error que se presentaba repetidamente: "Fatal Python error: PyEval_AcquireThread: NULL new thread state" Para eliminarlo, básicamente tienes que desactivar el python con la siguiente instrucción y con eso se corrige el problema: sudo a2dismod python sudo service apache2 restart Este es el enlace donde encontré la información: http://stackoverflow.com/questions/18013356/fatal-python-error-pyeval-acquirethread

Modem Telmex TG582n administrar con Telnet

El problema con los modems de Telmex, especificamente el modelo TG582n que no permite conectarse por LAN, solo se puede configurar por WiFi, En algunas versiones, se puede habilitar por Telnet la administracion por interfaz web para la Lan, Las siguientes son las referencias a las paginas donde encontre informacion sobre como configurar mediante Telnet este modelo de modem Initially -- configure the routers username privileges. Telnet Remote Access http://npr.me.uk/remote.html http://npr.me.uk/telnet.html  http://www.kitz.co.uk/routers/speedtouch585.htm http://wiki.aa.org.uk/Router_-_TG582N_-_Firewall_and_Port_Forwarding http://community.plus.net/forum/index.php/topic,108714.0.html/ Tested on a TG587n V2 but may work on other Thomson routers Start a telnet session to the router. The first thing to do is disable the routers telnet timeout. This prevents the telnet session unexpectedly closing.  =>env set var=SESSIONTIMEOUT value=0 =>saveall Perm...

Desactivar Firewall en Win XP por linea comando

Si deseas desactivar el Firewall de Windows mediante la linea de comandos: Desahabilitar netsh firewall set opmode disable netsh firewall set opmode mode = DISABLE profile = CURRENT   Habilitar netsh firewall set opmode enable     ** Referencia:    http://en.kioskea.net/faq/994-enabling-disabling-the-firewall-using-command-line  

Activar en Ubuntu 14 y 15 compartir escritorio

Ubuntu dispone de la una utileria que denomina "Compartir escritorio", asi la buscamos en Unity, el problema es que cuando la activas no funciona "out of the box" , es necesario hacer unos ajustes manuales antes de poder ocupar un cliente de VNC. Buscando en la red me encontre este post, que me funciono, lo he probado con Ubuntu 14 y 15 http://www.libregeek.org/2014/04/29/getting-remote-access-work-ubuntu-14-04-vino/ - Basicamente activar "compartir escritorio" y configurar - Crear el archivo vino-fix.sh , hacerlo ejecutable - Agregarlo a las aplicaciones de arranque - Reiniciar la maquina y queda listo Solo una observación, compartir escritorio funcionara solo hasta que se inicie sesion

Vigilar un directorio por cambios

Hace un tiempo me encontré con la necesidad de vigilar un directorio esperando nuevos archivos para procesarlos, encontre estos dos articulos, que me interesaron, uno de ellos codigo de Python, el otro para .Net http://brunorocha.org/python/watching-a-directory-for-file-changes-with-python.html https://msdn.microsoft.com/es-es/library/system.io.filesystemwatcher%28v=vs.110%29.aspx