Entradas

Mostrando las entradas de julio, 2020

Cargar archivos locales desde Azure Functions

Lo primero: la forma ideal de trabajar con archivos en un entorno de nube es usando servicios de almacenamiento administrados, por ejemplo, Blob Storage.
Ahora si, vamos con el artículo.

Algunas veces debemos acceder a archivos que hacen parte del proyecto: un .json con valores estáticos, un formato de correo electrónico en .html, una plantilla de hoja de cálculo en .ods, una extensión, etc.
Eso es relativamente sencillo porque C# ofrece la propiedad Environment.CurrentDirectory:
public async Task<string> GetFileContent(string name) { string filePath = Path.Combine(Environment.CurrentDirectory, "Files", name); string content = await File.ReadAllTextAsync(filePath); return content; }
Pero este código no funciona en una Azure Function. Para las funciones debemos inyectar el ExecutionContext y después obtener el directorio base con la propiedad FunctionAppDirectory.

[FunctionName("QueueFunction")] public async Task Run( [QueueTrigger("myqueue&quo…

2 años de CaliSharp

¡El tiempo pasa muy rápido! CaliSharp cumple 2 años 🎉

Somos afortunados por encontrar personas interesadas en compartir su conocimiento. Son ellos, y los asistentes, quienes consolidan la comunidad a través de las charlas y discusiones que tienen lugar el penúltimo martes de cada mes.

Quiero invitarlos al evento de aniversario, el sábado 25 de julio a las 9:30am COT. Pueden separar un espacio aquí. Tendremos charlas sobre Neo4j, Git, LightGBM y Computer Vision.
Si están interesados en dar una charla, pueden inscribirla en este formulario. En CaliSharp hay espacio para diversos temas; aquí encuentran el listado completo de estos 2 años.

La extensión de Azure no mantiene la sesión iniciada

Si usas Visual Studio Code para programar Azure Functions, seguramente conoces la extensión Azure Account. Esa extensión tiene varios problemas en Linux.

Uno es que el inicio de sesión "normal" no funciona, entonces debes usar el comando:

Ctrl+Shift+P
> Azure: Sign In with Device Code


Otro es que la sesión dura mientras mantengas abierto el programa. Se vuelve frustrante tener que ir al explorador e introducir el código de inicio todos los días.

Para resolverlo, instala esta "dependencia oculta":

sudo apt-get install gnome-keyring

Cuando vuelvas a iniciar sesión, basta con establecer la contraseña del llavero y la extensión seguirá funcionando sin problema. Puedes ver este enlace para más información.

--

Quizá no necesites esto si usas GNOME. Yo uso KDE.

Instalé Teams en Linux. ¡El audio se escucha mal!

Lamentablemente esto es algo normal en Ubuntu. El audio no viene configurado por defecto y la cancelación de ruido, común en Windows y en Mac, no está.
Basta con editar el archivo

/etc/pulse/default.pa
agregar la línea
load-module module-echo-cancel

y reiniciar el equipo.

En las opciones de Teams (y de otras aplicaciones) vas a ver que aparecen 2 micrófonos. Selecciona el que tiene cancelación de ruido.
Este es un problema conocido y bien documentado. Guarda este enlace para aprender más de la configuración.

--
Para evitar el ajuste automático del volumen, pueden seguir la recomendación de este enlace y quitar el control de ganancia.
load-module module-echo-cancel aec_args="analog_gain_control=0 digital_gain_control=0"
--

Esta es una pequeña serie sobre configuraciones del entorno .NET en Ubuntu. Recientemente cambié mi sistema operativo principal de MacOS a Kubuntu porque la nueva versión no será soportada en mi equipo y gran parte de mi trabajo requiere un terminal. Windows+WSL no so…

Actualiza Azure Data Studio en Linux

Azure Data Studio (ADS) es una aplicación que me gusta usar para administrar mis bases de datos en ambientes de prueba o para hacer consultas sencillas en producción. Se puede descargar desde este enlace.
Cuando lo instalas con un .deb en Ubuntu, lo más fácil es usar la interfaz gráfica del administrador de paquetes (doble click o click derecho-instalar y listo), sin embargo, ADS no siempre se actualiza automáticamente como lo hace Visual Studio Code; debes descargar el nuevo .deb y reinstalarlo.

En la mayoría de los casos basta con instalar la nueva versión "encima" de la existente, pero cuando el cambio es grande (ej. 1.18.x a 1.19.x), el administrador de paquetes no te va a dejar hacerlo.
Entonces debes ejecutar.

sudo apt-get purge azuredatastudio
Reinstalas y listo. Eso es todo... se acabó el post... un solo comando. Ojalá te sirva.

--

¿Por qué todo un post para un comando?
1. Hay muchas formas de desinstalar programas en Linux. El comando purge es muy útil para instalar desde c…