Friday, July 29, 2011

Desactivar cambio automático de contraseña de una Computadora

Si eres una persona a quien le gusta realizar pruebas sobre distintos entornos y configuraciones entonces te habrás dado cuenta que el uso de maquinas virtuales y snapshots son muy útiles para esta tarea.
Ok, el problema era que al revertir una la las maquinas que estaba unida a un dominio despues de transcurrido algun tiempo, resulta que no me era posible iniciar sesión con ningún usuario del domino porque la maquina ya no era identificada en la misma.


Esto sucede debido a que por defecto cuando una maquina es unida a un dominio se le asigna una contraseña generada automaticamente el cual se renueva cada 30 dias y pasado este periodo de tiempo me veia abligado a realizar el proceso de unirla de nuevo.
Sin embargo existe una forma de evitar que la contraseña cambie constantemente, de esta forma solo debes realizar una configuracion en el registro del sistema antes de tomar el snapshot y no tendras que volverte a preocupar por este aspecto:

Pasos:
1. Abrir el editor del Registro, para ello puedes hacer lo siguiente; click Start, click Run, ingresa regedit en la caja de texto, y luego click OK.
2. Navega hasta la siguiente ubicacion:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
3. En el panel derecho, click sobre la entrada disablepasswordchange
4. Click en el menu Edit y luego click Modify.
5. En la opcion Value data ingresa el valor 1 y luego click OK.
6. Cierra el editor de Registro.
En este punto puedes capturar el estado de la maquina (apagada). Suerte.

Monday, July 4, 2011

JDK no es encontrado al instalar Android SDK

Hace poco decidí actualizar mi ambiente de pruebas para Android asi que descargué la ultima versión del SDK desde: http://developer.android.com/sdk/index.html


No tuve problemas con la instalacion en Linux, sin embargo el instalador de Windows (probado sobre Windows7 x64) presentaba un pequeño inconveniente; el wizard no reconocia la ruta de Java JDK (requisito), el cual valga la aclaración si tenia instalado (jdk-6u26) y por tanto no podía continuar:




Leí en algunas paginas que se debía a un problema de ambientes x64 bits y planteaban soluciones como: 
Instalar la version x32 del JDK de java o modificar las llaves del registro :S
Pero esto me parecía raro porque el problema también se reprodujo en un entorno Windows XP x32. La verdad no investigué mucho al respecto. Sin embargo encontré una solución que a primera vista me parecio chistosa pero que curiosamente resultó: 


1. Presionar "Back" en la ventana de error.
2. Presionar "Next" nuevamente.


.. y listo! :O ahora tienes el buton "Next" habilitado, ya puedes completar la instalación y probar tus apps.

Friday, July 1, 2011

Ejecutar Reglas de Outlook basadas en criterios de Tiempo/Evento

Una forma de Organizar nuestros mensajes de entrada en Outlook es utilizando "Reglas" [Rules].

Por ejemplo podemos crear alguna para re-direccionar correo a carpetas personales de forma automática (Util si te limitan el espacio del buzón como a mi). Suena bien verdad, excepto que solo existen dos formas de ejecutarlos;
1) Automaticamente, (dependiendo del template seleccionado: cuando arriben a la "bandeja de entrada" (Inbox) [Apply rule on message I receive] o cuando uno los envia [Apply rule on message I send])
2) Manualmente, usando la opcion de "ejecutar ahora" [Run Now].
Pero en ningún caso bajo un cronograma especifico :O!
Esto no parecía darme molestias mayores hasta hace poco.
Me di cuenta del siguiente problema:
Que pasa si quiero acceder a mi correo de forma remota (http) utilizando una configuración RPC en el servidor Exchange del trabajo (Útil para revisar/reenviar correos desde el mobil), si las reglas activas se encargan de mover los mensajes a distintas carpetas y por tanto no son mostrados en la pagina?.

Busque la forma de configurar la ejecución automática de las reglas basadas en un calendario en Outlook, pero al parecer esta característica no es soportada.

Sin embargo revisando algunas paginas encontré una sugerencia interesante, que probé y funcionó para mi en un ambiente Windows 7, Outlook 2007:
La idea es usar un script que se encargue de lanzar las reglas y que además se ejecute basado en un criterio de tiempo o evento.

Asi que, utilice el siguiente código vbs:


   1:  '***************************************************
   2:  'Referencias: http://msdn.microsoft.com/en-us/
   3:  '***************************************************
   4:  Dim myOlApp, myNamespace, myolRules, rule
   5:   
   6:  Set myOlApp = CreateObject("Outlook.Application")
   7:  Set myNamespace = myOlApp.GetNamespace("MAPI")
   8:  Set myFolder = myNamespace.GetDefaultFolder(6)
   9:   
  10:  Const SHOW_PROCESS = True
  11:  Const INCLUDE_SUB_FOLDERS = True
  12:  Const RULE_EXECUTE_OPTION = 0
  13:   
  14:  myNameSpace.Logon "Outlook", , True, True
  15:  WScript.sleep 3000
  16:  Set myOlRules = myNamespace.DefaultStore.GetRules
  17:   
  18:  For Each rule In myOlRules
  19:  rule.Execute SHOW_PROCESS, myFolder, INCLUDE_SUB_FOLDERS, RULE_EXECUTE_OPTION
  20:  Next
  21:   
  22:  Set myolRules = Nothing
  23:  Set myFolder = Nothing
  24:  myNamespace.Logoff
  25:   
  26:  Set myNamespace = Nothing
  27:  Set myOlApp = Nothing


Y para ejecutarlo automaticamente utilice el "Automatizador de Tareas" [Task Scheduler] del Sistema. Cree una tarea siguiendo los pasos a continuación:
1. Ir a Control Panel -> System and Security -> Administrative Tools -> Task Scheduler.
2. Click sobre el menu "Action" y luego "Create Basic Task" (Esto iniciará el Wizard de configuración)
3. Ingresar un nombre para la tarea (ej. “RunOutlookRulesScript”), click Next.
4. En la siguiente ventana “when do you want the task to start?”, seleccionar la opcion (criterio) que mejor se ajuste a tus necesidades (ej. “When I Log on”), click Next para continuar.
5. Seleccionar “Start Program” en la ventana de “What action do you want the task to perform?” y luego click sobre Next.
6. Ingresar/Buscar la ruta del script que querramos ejecutar, click Next
5. Click Finish.

Y eso es todo, la siguiente vez que inicies sesión en tu PC wala!, Inbox limpio y correo organizado :) Suerte con tus scripts.

Friday, April 2, 2010

Metodologías Ágiles

Hola a todos,
Esta es mi primera publicación y les comentare acerca de la experiencia que tuve en el curso de “Agile Methodologies” que estuvo a cargo de Juan de Dios Banda (Certified Scrum Master)

Recordarles que no se trata de un tutorial así que no esperen encontrar detalles o descripciones.

Comenzaré indicándoles que antes de capacitarme en el curso solo tenía conocimiento teórico sobre lo que son las metodologías agiles, pero debo asegurarles que en 6 semanas de training pude no solo aclarar aquellos conceptos, sino que ahora soy capaz de aplicarlo en proyectos reales; y se debe a que desde el principio realizamos prácticas bastante dinámicas que son de las que te hablare en este post.

Arrancamos mas o menos la segunda semana de febrero (12), conociendo los fundamentos de lo que son las Metodologías Agiles; tomamos Xtreme Programming (XP) como punto de partida pues vimos que considera de cierto modo mas reglitas que Scrum y Kanban.

Asi que Juan propuso una pequeña practica para aplicar la teoría de XP en la elaboración de aviones de papel (de aquellos que todos hicimos alguna vez con una hoja de papel). Bien, para esto y siguiendo las bases de Agile, conformamos grupos de 8 a 10 personas (Porque tantos?, bueno seria por cuestiones de horarios y disponibilidad del laboratorio), como les decía, mi grupo estaba conformado por 4 desarrolladores y como testers éramos 5, pero no simpre fue asi, ya que un dia de pronto Juan dice: “Hoy habrá caos” y conocimos el concepto de Cross Pollination imaginaras que paso.
Pero bueno la idea seguía siendo aplicar los valores y principios XP (Planing, Testing, Feedback resaltaron) con la finalidad de hacer el avión que mejor vuele jeje.

Como toda primera experiencia (todos nos empezábamos a conocer) la pelamos un rato a la hora de organizarnos, pero bueno entre elaboración (Devs) y pruebas (QEs), salieron los productos y obtuvimos avioncitos bastante pintudos. Al ver estos resultados Juan decidió sugerirnos la lectura de la filosofía Lean. Creo que fue para motivarnos sobre la marcha..

Fue por todo esto que continuamos esta dinámica y la ampliamos un poco, ahora debíamos hacer un avión a escala con más detalles, además comenzamos a aplicar una de las metodologías (mas bien Framework) más conocidas si hablamos de Agile como lo es “Scrum”, que se lo debemos al conocidísimo Ken Schwaber, que por cierto tiene una paginilla bastante interesante de la cual les comentare más adelante.


Este era mi Team ("Charlie"), fue el inicio de una muy buena amistad para todos.

Así fue como empezamos a organizarnos mejor. Comenzamos definiendo nuestro Sprint Goal, elaboramos el Product Backlog (lleno de User Stories) ya sabes, cada uno con nuestras tareitas.. se vino el Sprint Planning y enseguida el primer Sprint y SIP, si sacamos buen feedback por cada Retrospective. Pero bueno hasta aca te lo cuento yo y te dejo este link de un compañero (Windzor - Dev) que te muestra como termino nuestro proyecto. Que tal?!

http://ajayu.memi.umss.edu.bo/jwuo/weblog/la-primera-exp

Bien si hasta acá existían algunas dudas, todas ellas quedaron atrás con la práctica final en la que aplicamos todavía más a fondo Scrum.
Léelo bien!, nuestro Sprint Goal = Realizar la maqueta de la casa de los Simpsons (jajaj si q si)

Así que sin mas ni mas, realizamos todo el rollo del Backlog pero ahora también nos aplicamos al asunto de los roles como el de Scrum Master y Product Owner en el aspecto de organización y entrega de los demos respectivamente.
Además mejoramos el uso de artefactos como ya mencione el Product Backlog, he implementamos un Reléase Burndown; mira!, para resumírtelo te dejo algunas imágenes:

Mira nomas nuestro Product Backlog

Las tareas comenzaban a moverse en nuestro tablero tras cada Sprint

Trabajamos las dos plantas de la casa

..Y asi iba quedando

Porsupuesto las tareas se completaban poco a poco

..Y nuestro Burndown comenzaria a mostrar avance

Estube a cargo de terminar el techo

Mas actualizaciones..

Por dentro

Finalmente esta es la maqueta terminada

..Juanto a los proyectos de los otros equipos (todos estaban buenisimos!)

Esta es del equipo y Juan


Lo que me recuerda, desearle lo mejor alla en Santa Cruz y que siempre estemos en contacto.

Estuvo genial!

Para finalizar el curso Juan quiso hacer algo nuevo y en lo personal me agrado bastante, nos enseñó el concepto de “Open Space”. Te lo dejo fácil, se trata de proponer tareas de discusión, lo anotas en un papelito y eliges un espacio donde establecerás tu grupo de debate con las personas que estén interesadas en compartir o escuchar sobre el tópico planteado y lo mejor es que es bastante flexible ya que puedes dejar el grupo cuando creas conveniente y buscar otro. Cool!

Bueno señores, este fue un resumen de cómo me fue y lo que aprendí en el curso de Agile de la Fundación.

Dedicado a la Terecera Generacion de Diplomantes (2010)


Para terminar prometí comentarles sobre la página de Ken Schwaber (http://www.scrum.org/) y se trata de que en esta hay una opción para rendir un examen de entrenamiento para la certificación de Professional Scrum Master.
Para dar el examen solo le das a start

http://www.scrum.org/scrumopen/

Revísala bien, tiene por allí un manualcillo de referencia, sugerencia!, lee el que está en inglés, de veras..

Todos los equipos rendimos la prueba y te sorprenderías de los resultados.. Puedes conocer más a cerca de nuestra comunidad acá:

http://tech.groups.yahoo.com/group/scrumbolivia/

Bueno con esto me despido, hasta el siguiente post, recuerda: “Piensa Lean”, bye.