Archivo de la categoría: How-To

git

Moviendo algunos archivos de un repositorio Git a otro conservando la historia

Muchos proyectos comienzan como algo chico, dentro de un único repositorio Git, pero a medida que el tiempo avanza, y el proyecto se vuelve algo más complejo, es probable que surja la necesidad de separar una parte del proyecto a otro repositorio. Cuando esto sucede, algo que no queremos es perder toda la historia de esos archivos, o sea, queremos mover los archivos correspondientes a un subproyecto junto con toda su historia.

Objetivo

  • Mover el directorio 1 desde el repositorio A al repositorio B.

Restricciones

  • No queremos mover el resto de los directorios del repositorio A.
  • Queremos mantener el historial de cambios del directorio que moveremos al repositorio B.

Preparándonos para mover

Lo primero que haremos será clonar nuestro repositorio, ¡lo último que queremos es perder información valiosa por ejecutar un comando errado! Sigue leyendo

Anuncios

Recibiendo notificaciones de deploys de Azure Web Apps en Slack

Introducción

El servicio de Azure Web Apps tiene una gran funcionalidad: implementación contínua (continuous deployment), desde diferentes tipos de repositorios: Visual Studio Online, OneDrive, un repositorio local Git, GitHub, Bitbucket, Dropbox, o un repositorio externo. También tenemos alertas incorporadas, pero no notificaciones de las implementaciones. Ahí es cuando vienen al rescate los Web Hooks de Kudu.

Pero primero, ¿qué es Kudu?

Project Kudu es un proyecto open source, hosteado en GitHub, que es el motor detrás de las implementaciones desde Git/Mercurial, WebJobs, y varias otras cosas en Azure Web Apps. Y además, también puede correr fuera de Azure.

¿Qué son los Web Hooks?

Un Web Hook es un callback HTTP: un HTTP POST que ocurre cuando sucede algo; una simple notificación de evento vía HTTP POST. Los Web Hooks son una manera de recibir información valiosa cuando sucede, en vez de estar continuamente pidiendo datos sin estar recibiendo nada valioso la mayor parte del tiempo.

¿Cómo integramos?

En Nubimetrics, como en muchas otras startups, usamos Slack como medio de comunicación entre los miembros del equipo. Slack provee integración con otras aplicaciones y servicios, como GitHub, Bitbucket, Trello, Asana, JIRA, Google+ Hangouts, Google Drive, Dropbox y Visual Studio Online, por nombrar algunas (si estás interesado en conocer sobre el resto de las integraciones disponibles puedes visitar https://slack.com/integrations).

Pero, como verán en la lista, no hay una integración nativa con Kudu, pero aquí vienen nuevamente los Web Hooks al rescate! Slack soporta web hooks de entrada como una forma para otras aplicaciones de postear información a Slack.

Y, para hacer las cosas aún más fáciles, hay una aplicación hosteada en GitHub, escrita en Node.js y que corre en Azure, que hace esta tarea.

Todo lo que necesitamos hacer es:

  1. Ir a la configuración de nuestro equipo en Slack y configurar una integración de webhook de entrada.
  2. Implementar la aplicación desde el botón deploy.
  3. Configurar una variable de entorno llamada slackhookuri con el valor de la URI del Paso 1.
  4. Agregar la URI de nuestra Web App en los Web Hooks del portal de Kudu, al que podemos acceder desde https://{tu azure web app}.scm.azurewebsites.net/WebHooks.
  5. Y listo!!!

Conclusión

Los Web Hooks nos proveen una forma sencilla de integrar aplicaciones web. Usando simples web requests con contenido JSON podremos integrar casi cualquier cosa!

@gjbellmann

Cómo crear un pendrive booteable

Dada la reciente salida de Windows 10 Preview, creo que es un buen momento para reflotar un post que armé hace unos 5 años, con la salida de Windows 7, en el cual explico cómo crear un pendrive booteable para instalar Windows. Sigue leyendo

Como publicar una aplicación Windows Phone que no soporte dispositivos de baja memoria

Hay casos en los cuales, lamentablemente, el límite de memoria que una app Windows Phone puede usar no es suficiente para poder ejecutarla, por ejemplo, en aplicaciones que hacen uso de mapas, muestren muchas imágenes o tengan largas listas de datos.

El límite depende de la versión del Sistema Operativo:

  • Para Windows Phone 8 es de 150 MB.
  • Para Windows Phone 7 es de 90 MB.

Para avisarle al Store que nuestra app no soporta funcionar en dispositivos con baja memoria (256 MB en WP7 y 512 MB en WP8) debemos agregar, en el manifiesto de la app (WMAppManifest.xml) lo siguiente (abriéndolo con el editor XML):

  1. Una sección Requirements:
    Para WP8, debe ir justo después de la sección ScreenResolutions.
    Para WP7, debe ir justo después de la sección Capabilities.
  2. Un elemento Requirement dentro de la sección Requirements:
    Para WP8, un atributo Name con valor ID_REQ_MEMORY_300.
    Para WP7, un atributo Name con valor ID_REQ_MEMORY_90.

Ejemplo (WP8):

<Requirements>
      <Requirement Name="ID_REQ_MEMORY_300" />
</Requirements>

Si se cuenta con una app para WP7.1 y se quiere dejar de soportar también los dispositivos WP8 de baja memoria (512 MB), se debe usar ID_REQ_MEMORY_300, el cual elimina el soporte para los dispositivos WP7 y WP8. Si se especifican ID_REQ_MEMORY_90 Y ID_REQ_MEMORY_300, el requerimiento ID_REQ_MEMORY_90 es ignorado.

Saludos!

@gjbellmann

How-To: Obtener el Nombre y Id de Proceso de nuestros AppPools

¿Alguna vez les pasó de tener varias aplicaciones web en un servidor IIS, cada una con su AppPool, y ven que uno de esos procesos esté consumiendo muchos recursos en el Administrador de Tareas, pero no saben quién es quien?
Ejecutar esta pequeña línea de código en el intérprete de comandos de Windows les va a servir para saber el Id de proceso de cada uno de sus AppPools:

c:\>%windir%\system32\inetsrv\appcmd list wp

Saludos!
@gjbellmann

Reactivando 2 finger tap en una Lenovo Yoga con Windows 8.1

Al instalar Windows 8.1 en mi Lenovo Yoga 13, dejé de tener la opción de hacer click derecho tocando el touchpad con dos dedos (sólo tocando, sin tener que hacer un click). La opción incluso había desaparecido del menú del driver en el Panel de Control, por lo que tuve que buscar una opción de más bajo nivel.
Buscando por la web, especialmente en la página oficial de Lenovo, me encontré con este post que me dio una gran ayuda: http://lnv.gy/16A1kjV.
Los pasos que seguí para poder reactivar esta muy útil funcionalidad fueron los siguientes:
1) Instalé el driver original que vino con la PC.
2) Ejecuté el editor del registro de Windows (Win + R, luego “regedit”).
3) Hice una búsqueda de “2FingerTapAction”.
4) Cambié su valor de “0” a “2”.
5) Cambié el valor de la Key “2FingerClickAction” de “2” a “0”.
6) Cerré el editor del registro y reinicié el equipo.

Espero que les sirva!

@gjbellmann

Cómo crear nuestro propio ringtone para Windows Phone 7

A partir de Mango se pueden usar tonos (ringtones) personalizados, pero no se puede usar cualquier canción de nuestra colección, entonces, ¿cómo los creamos?
Las características que debe cumplir una canción para ser usada como tono son:

  • Estar en formato MP3 o WMA.
  • Tener menos de 40 segundos.
  • Pesar menos de 1 MB.
  • No estar protegido con DRM (Digital Rights Management).

Sigue leyendo