lunes, 30 de diciembre de 2013
Felices fiestas 2013!
lunes, 23 de diciembre de 2013
Windows - Mapear una carpeta local como Unidad
El siguiente comando de consola permite mapear una carpeta local como una unidad del equipo:
Donde:
nuevaunidad: es la letra de la unidad a asignar.
unidadlocal:\folder es la ubicación de la carpeta que convertiremos.
Ejemplo:
A partir de este momento usted puede cambiar de unidad a la letra de la nueva unidad y disponer de la misma.
Nota Importante:
Este mapeo no es permanente, sino que dura durante la sesión de la consola. Para un cambio permanente, siga las instrucciones a continuación.
Mapeo Permanente
ATENCION! Las siguientes indicaciones afectan el inicio del propio sistema operativo, por lo que debe leer atentamente todo antes de ejecutarlo:Para hacerlo permanente durante el inicio de windows, abre el editor del registro (regedit) y vaya a la siguiente clave:
Allí, cree un nuevo Valor Alfanumerico (String) cuyo nombre sea la letra de unidad a mapear, seguida por dos puntos (por ejemplo, E:).
Su contenido será la ruta asignada a la letra, precedida por la cadena "\DosDevices".
Por ejemplo, si se pretende hacer un "SUBST E: C:\Proyectos" permanente, habrá que crear un valor "E:" con el contenido "\DosDevices\C:\Proyectos" (ambos sin comillas).
Nota Importante:
Una letra asignada de esta manera prevalece sobre cualquier asignación anterior. Está totalmente prohibido utilizar las letras que correspondan a las unidades de arranque o sistema. Ignorar esto implica la aparición de una pantalla azul durante el arranque con un texto como el siguiente:
STOP: c000021a {Fatal System Error}
The Session Manager Initialization system process terminated unexpectedly
with a status of 0xc0000034 (0x00000000, 0x00000000).
The system has been shut down.
El código de estado 0xC0000034 se corresponde con la constante STATUS_OBJECT_NAME_NOT_FOUND.
La forma más rápida y segura de recuperar el sistema es arrancar inmediatamente con la última configuración buena conocida.
domingo, 3 de noviembre de 2013
VM - Cambiar UUID de un archivo VDI
Cuando queremos generar un nuevo disco virtual a partir de uno existente, es posible realizarlo mediante una copia del archivo VDI, aunque esto solo no es suficiente.
VirtualBox identifica unívocamente a cada disco mediante un código interno llamado UUID. Al querer montar una copia del disco existente, VirtualBox detectará que ya posee dicho código registrado y entregará un error en pantalla indicando que no puede montar el nuevo disco.
No por lo menos hasta que se desmonte el disco anterior, o mejor aun, hasta que el UUID del nuevo disco sea cambiado.
Para cambiar el UUID de un disco VDI, ejecute el siguiente comando:
VirtualBox identifica unívocamente a cada disco mediante un código interno llamado UUID. Al querer montar una copia del disco existente, VirtualBox detectará que ya posee dicho código registrado y entregará un error en pantalla indicando que no puede montar el nuevo disco.
No por lo menos hasta que se desmonte el disco anterior, o mejor aun, hasta que el UUID del nuevo disco sea cambiado.
Para cambiar el UUID de un disco VDI, ejecute el siguiente comando:
VBoxManage internalcommands sethduuid
/path/virtualdisk
.vdi
Ahora es posible montarlo dentro de una nueva maquina virtual sin desmontar el anterior.
martes, 10 de septiembre de 2013
Apple presentó hoy sus nuevos iPhone 5C e iPhone 5S
Tim Cook, director ejecutivo de Apple Inc. presentó hoy martes 10 de Septiembre en Cupertino, California, EEUU, dos nuevos modelos de iPhone con los que pretende cambiar de estrategia.
Uno de los modelos, el 5C, de bajo costo y similar al iPhone 5 y con una gran variedad de carcasas de policarbonato en 5 colores apunta a un mercado que había sido dejado de lado hasta la fecha y que bien ha sabido aprovechar la competencia; y por otro lado presentó el 5S con un chip de 64 bits, lector de huella digital, y su novedosa batería que promete una duración de 10hs de conversación y 40 hs de musca. Increíble.
Ambos equipos saldrán a la venta al mercado el 20 de septiembre, aunque sólo para algunos países, estando con mas seguridad para la venta en diciembre para más de 100 países.
Precio a la fecha: el iPhone 5C en EE.UU. costará USD$99 (16 GB) y USD$199 (32 GB) con un contrato a dos años.
En cambio el iPhone 5S costará USD$199 (16 GB), USD$299 (32 GB) y USD$399 (64 GB) para igual plazo.
Definitivamente una buena estrategia. El tiempo dirá si sera suficiente para seguir manteniendo la punta en la carrera de tecnología móvil.
Para ver mas:
Sin perder el tiempo, la pagina Deal Extreme (DX) ya se encuentra vendiendo "cases", films y otros para iPhone 5C:
http://dx.com/s/iphone+5c
Uno de los modelos, el 5C, de bajo costo y similar al iPhone 5 y con una gran variedad de carcasas de policarbonato en 5 colores apunta a un mercado que había sido dejado de lado hasta la fecha y que bien ha sabido aprovechar la competencia; y por otro lado presentó el 5S con un chip de 64 bits, lector de huella digital, y su novedosa batería que promete una duración de 10hs de conversación y 40 hs de musca. Increíble.
Ambos equipos saldrán a la venta al mercado el 20 de septiembre, aunque sólo para algunos países, estando con mas seguridad para la venta en diciembre para más de 100 países.
Precio a la fecha: el iPhone 5C en EE.UU. costará USD$99 (16 GB) y USD$199 (32 GB) con un contrato a dos años.
En cambio el iPhone 5S costará USD$199 (16 GB), USD$299 (32 GB) y USD$399 (64 GB) para igual plazo.
Definitivamente una buena estrategia. El tiempo dirá si sera suficiente para seguir manteniendo la punta en la carrera de tecnología móvil.
Para ver mas:
Sin perder el tiempo, la pagina Deal Extreme (DX) ya se encuentra vendiendo "cases", films y otros para iPhone 5C:
http://dx.com/s/iphone+5c
Escrito por: Leonardo David Gonzalez
lunes, 6 de mayo de 2013
Linux - Como agregar un nuevo usuario administrador (sudo) - Ubuntu 12.10
Para poder agregar un nuevo usuario administrador (sudo), estos son los comandos a ejecutarse:
sudo adduser nuevousuario
Donde nuevousuario es el nombre del usuario que desea crear. Este comando crea el usuario, pero todo esto aún no le configura los permisos de administrador. Para dar ese permiso al usuario recién creado, seguidamente ejecute:
sudo adduser nuevousuario sudo
Esto asignara el usuario al grupo sudo, lo cual le permitirá trabajar como un administrador.
Escrito por: Leonardo David Gonzalez
jueves, 4 de abril de 2013
VM - Convertir archivo VDI a VHD (VirtualBox a VirtualPC/Hiper-V)
Me surgió la necesidad de instalar una maquina virtual de virtualbox en un servidor Hiper-V sobre Windows 2008 Server R2. El servidor Hiper-V permite levantar archivos VHD pero no VDI por lo que es necesario realizar una conversión. La misma no es complicada para nada, requiere la siguiente serie de pasos a seguir la cual paso a compartir con ustedes:
- Desinstalar VirtualBox Guest Additions:
No es obligatorio, pero si recomendado para mantener la maquina limpia. - Snapshots (Instantaneas):
En caso de poseer Snapshots, unir a VDI principal o eliminarlos. - Crear el archivo VHD a partir del VDI:
Una vez realizado lo anterior, ir a la carpeta c:\Program Files\Oracle\VirtualBox\ (o donde lo posean instalado) y ejecutar el siguiente comando:vboxmanage clonehd origen.vdi destino.vhd --format VHD
donde:origen.vdi: Es el path mas el nombre de archivo completo donde se encuentre el archivo VDI almacenado. Ej: C:\VM\MaquinaVirtual1\MV1.vdidestino.vhd: Es el path mas el nombre de archivo completo donde se desea crear el archivo VDH destino. Ej: C:\MV1.vhd . - Listo:
El archivo esta listo para ser copiado en un disco de acceso por el servidor Hiper-V (o por Virtual PC si no se desea usar en un servidor ya que se usa el mismo formato de archivo VHD) y ser montado.
martes, 29 de enero de 2013
Programación Android - Como Crear Un Splash Screen
En el presente artículo les dejo fuente de ejemplo de un Activity para SplashScreen el cual se muestra durante 1500 milisegundos y pasado ese tiempo llama a una supuesta Activity NextActivity (o bien tu siguiente Activity). Este tiempo puede ser interrumpido tocando en la pantalla.
A continuación el código fuente de la clase SplashActivity:
package com.davidg.samples; import android.app.*; import android.content.*; import android.os.*; import android.view.*; public class SplashActivity extends Activity { protected boolean _active = true; protected int _splashTime = 1500; // Tiempo máximo de duración de splash (espera normal) en milisegundos. protected int _controlTime = 100; // Tiempo de control de toque de pantalla en milisegundos. @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.splash_activity); Thread splashTread = new Thread() { @Override public void run() { try { int waited = 0; while(_active && (waited < _splashTime)) { sleep( _controlTime ); if(_active) { waited += _controlTime; } } } catch(InterruptedException e) { // Capturamos la excepción de interrupción y continuamos por finally. } finally { startActivity( new Intent(SplashActivity.this, NextActivity.class) ); finish(); } } }; splashTread.start(); } /* Detectamos si el usuario toca la pantalla e Interrumpimos la espera normal */ @Override public boolean onTouchEvent(MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_DOWN) { _active = false; } return true; } }Escrito por: Leonardo David Gonzalez
jueves, 24 de enero de 2013
Windows - Como borrar path muy largos (path too long error)
Te ha pasado que encuentras en tu disco una carpeta que no puedes borrar debido a que el nombre de los directorios anidado es demasiado largo?
Si es así, aquí te dejo una herramienta que te permite eliminarlas de una manera muy simple. Esta herramienta se debe usar cuando el problema es y no se trata de permisos, eso lo tendrás que solucionar manualmente antes de ejecutar esta herramienta.
La misma se llama PathTooLong, perteneciente a OSMsolutions. La herramienta es muy pequeña aunque por ser una aplicación java (JAR) requiere que poseas Java (JRE) instalado para ejecutar.
Como eliminar la carpeta
Solo debes ejecutarla, donde la aplicación mostrará la siguiente interfaz:
Presionando el boton con los tres puntos (...) la aplicación presentara una ventana de selección de carpetas:
Selecciona la carpeta que deseas eliminar y presiona "Open".
A continuación les dejo el link de descarga de la aplicación.
- PathTooLong_B.zip : Herramienta PathTooLong para JRE 1.6 o superior.
Otros links de utilidad:
- PathTooLong_OldJDK.zip : Herramienta PathTooLong para versiones anteriores de Java.
- PathTooLong.zip (Sources): Los fuentes de la aplicación (para desarrolladores).
El link de la pagina del proyecto es: www.osmstudios.com/Display.asp?Page=pathtoolong
El link de la pagina oficial del desarrollador: www.osmstudios.com
Escrito por: Leonardo David Gonzalez
lunes, 14 de enero de 2013
Visual Studio - NuGet Package Manager
Que es NuGet?
NuGet Package Manager es una extensión de Visual Studio que permite automatizar el proceso de descarga, instalación, actualización, configuración y eliminación de paquetes de librerías de terceras partes.
En la actualidad permite acceder a librerías comunes desde un conjunto de 9724 paquetes.
Entre las librerías que podemos encontrar se encuentran:
- jQuery
- Entity Framework
- JSON.net
- NUnit
- log4net
- DotNetZip
- etc.
Como instalarlo:
Se puede hacer tanto desde la pagina principal de nuget, como del siguiente link:http://visualstudiogallery.msdn.microsoft.com/27077b70-9dad-4c64-adcf-c7cf6bc9970c2
Links:
- Pagina principal: http://www.nuget.org/
- Para mas información pueden ver el siguiente link: http://docs.nuget.org/docs/start-here/overview
- Para mas información sobre los paquetes instalables: http://www.nuget.org/packages
- Pagina del proyecto en codeplex: http://nuget.codeplex.com/
martes, 8 de enero de 2013
StickNFind - No Vuelvas A Perder Mas Nada
Hoy en día es muy común tener varios gadgets y objetos importantes: tablets, notebooks, controles remotos, llaves del auto, de la casa, etc.
Pero que pasa cuando mas los necesitamos: lo mas probable es que no los encontremos y la cólera incontrolable nos domine y pensemos: Es que acaso nadie ha pensado en esto?
Efectivamente si, esta preocupación ha sido la de un grupo de entusiastas movidos por un solo objetivo: que no vuelvas a perder mas nada.
Quienes son:
Stick-N-Find Technologies se presentan como una empresa que hace 20 años se dedica al desarrollo de productos electrónicos especializados en radiofrecuencia y en muy pequeños diseños bluetooth.
Que hicieron:
Diseñaron un pequeño tag adhesivo del tamaño de una moneda el cual puede adherirse a una gran variedad de superficies, y no solo puede permitirnos encontrarlo a través de nuestro teléfono celular favorito, sino también se le puede activar una señal sonora o visual.
Como funciona:
El diminuto dispositivo posee un circuito integrado bluetooth el cual puede ser emparejado a nuestro celular, y este le avisa cuando está el rango de alcance.
Otra función interesante es la de activar una funcionalidad del teléfono para cuando se llega a un lugar en donde esté el dispositivo, y para cuando se sale sel alcance del mismo.
Aquí tienen el vídeo de presentación del producto:
Por ultimo les dejo el link del sito crowdfunding por si desean saber mas y apoyarlo: http://www.indiegogo.com/sticknfind
Apurate! Quedan casi 6 días para apoyarlo y ganarte algunos stickers. Saludos!
Escrito por: Leonardo David Gonzalez
viernes, 4 de enero de 2013
Jenkins CI - Qué es y porqué usarlo
Jenkins CI es un sistema de Integración continua java web desarrollado por Kohsuke Kawaguchi, desarrollador de la ex Sun Microsystems y ahora en Oracle. Es open source.
Es una pieza importante en lugares donde a veces una corrección de 5 minutos demora en ver la luz una semana debido a que tiene que pasar por toda una serie de procesos manuales de control, confección de instaladores y en su posterior distribución para usuarios finales.
Puede ser instalado tanto sobre windows, como linux y otras distribuciones unix compatibles. Por ser una aplicación java web es recomendable su instalación sobre un servlets container, por lo que puede ser montado sobre un Apache Tomcat o Glassfish. Así mismo puede ejecutarse de manera autónoma ya que posee un servidor web integrado y hasta puede instalarse como servicio según como se lo ejecute.
Posee una larga lista de plugins los cuales le permiten definir tareas que puedan integrarse con herramientas de control de versiones (CVS, Subversion, Git u otros) y ejecutar proyectos basados en Apache Maven (recomendado debido a que maneja naturalmente las partes del ciclo de vida de un protecto mediante comandos simples), Apache Ant, Microsoft MSBuild, shell y batch scripts de Microsoft Windows. Además permite ejecutar tareas adicionales previo y posterior a la compilación como preparar el entorno, preparar un emulador, realizar un despliegue o compactar y subir binarios a un FTP.
Para ver la lista de plugins actuales ir al siguiente site: https://wiki.jenkins-ci.org/display/JENKINS/Plugins
Jenkins también posee un historial de cambios realizados por build o versión, saber quien lo realizo y cuales archivos fueron manipulados, y sus comentarios al respecto.
Porqué usarlo
- Simplifica significativamente (a un par de clicks y dentro de un marco web lo que lo hace fácilmente accesible desde cualquier parte) los procesos involucrados en el ciclo de vida de un proyecto, ya sean simples o repetitivos, largos y complejos como ser de generación de binarios integrando el trabajo de varios desarrolladores, ejecución de testing, generación de reportes de estado, armados de instaladores, publicación en pagina web, notificación a clientes de versiones beta, etc. sin la necesidad y el tiempo de una persona.
- Da un marco de simplicidad sobre la integración continua gracias a las diferentes posibilidades de notificaciones de éxitos y errores entre procesos, por lo que con la cultura adecuada sobre los mismos se puede asegurar una altísima calidad de software desde el primer día, evitando errores, demoras y a un mínimo coste.
- Debido a los múltiples sistemas de notificaciones por cual optar (ya sea por mail, chat, gtalk, twitter, etc ), es sencillo estar siempre informado y poder tomar decisiones rápidamente.
En próximos post pondré un ejemplo de como utilizar Jenkins para automatizar la construcción prueba y liberación de un proyecto.
Escrito por: Leonardo David Gonzalez