Página 2 de 5

Data Science en Python: cargar archivos brutos desde una URL y exportarlos a cualquier formato (xls, csv, json)

A ver, según la wikipedia, el data cleaning es «el acto de descubrimiento y corrección o eliminación de registros de datos erróneos de una tabla o base de datos». Por este significado propiamente dicho, lo que voy a explicar a continuación no estaría dentro del data cleaning. Sin embargo, siendo realmente estrictos, lo que vamos a hacer va a ser la primera limpieza o formateo de los datos. No es tanto corregir datos, sino adecuarlos a un formato que podamos utilizar en nuestro ecosistema (python con pandas en este caso usando dataframes). Utilizaremos dos librerías: pandas y urllib3. La tarea se compone de tres sencillos pasos: la conexión y descarga de los datos en bruto, el formateo en filas y columnas para crear el diccionario y por último la creación del dataframe para exportarlo directamente al formato que queramos. Seguir leyendo

Cómo conectar (bien) el Logitech Mx Master en Ubuntu (16.04 y 18.04)

Hace ya unos meses adquirí el ratón que más estaba deseando desde hace tiempo: el Logitech Mx Master. Como siempre, tenía pensado subir review y opiniones personales, pero la complicación de la vida me lo ha impedido y además, para ver cómo es el ratón y qué cosas puedes hacer tienes cientos de sitios diferentes. Vamos a aportar algo nuevo.

Una de las cosas que mas odio de este producto es que no funciona del todo bien con Linux (Ubuntu). A ver, funcionar funciona. Pero este tipo de productos que dependen de un software de terceros para aprovechar todas sus funcionalidades siempre ocurre que olvidan desarrollar o compilar versiones para GNU Linux. En este caso el software necesario es el Logitech Options. Con este programita oficial de Logitech y gratuito podemos configurar todos los botones de las múltipls funcionalidades de nuestro Mx Master y es cuando se le saca todo el partido posible. En Windows genial, pero en Linux lo primero que te encuentras es que no funciona.

Seguir leyendo

La importancia de conocer a tus usuarios

Imagina esto: acaba de aterrizar un proyecto en el que el cliente necesita un rediseño de su sitio web y aplicación.

Cliente: “Nos gustaría mejorar la experiencia del usuario. Queremos que nuestros clientes se enamoren de nuestro producto, ¡tiene que ser alucinante!”

Estas son las buenas noticias: al menos este cliente conoce la experiencia del usuario (UX), se preocupa por las necesidades de sus clientes y ve el valor de invertir en una gran experiencia de usuario. Pidieron un experto con habilidades en UX para ayudar … pero ¿entienden realmente lo que significa brindar una experiencia de usuario excepcional?

UX es más que seguir una colección de reglas y heurísticas en el proceso de diseño del producto. Como su nombre lo sugiere, es subjetivo, la experiencia que experimenta una persona al usar un producto. Por lo tanto, es necesario comprender las necesidades y los objetivos de los usuarios potenciales, sus tareas y el contexto, que son únicos para cada producto.

Seguir leyendo

Organizador de escritorio y herramientas impreso en 3D

Hoy os traigo una de mis primeras creaciones con mi impresora 3D. Y os esperan muchos tutoriales y guías si quieres empezar en este mundillo. Se trata de un organizador de herramientas para la mesa donde tengo situada la impresora 3D. Estuve buscando uno por Thingiverse pero no encontraba ninguno que me complaciera totalmente, así que me puse manos a la obra y creé mi propio ejemplar. Tras varios días de laborioso esfuerzo lo conseguí: tenía mi organizador completamente diseñado. Solo quedaba imprimirlo, y no es fácil (más de 40 horas de impresión…). Hoy os lo enseño, con todo detalle. Llevo ya casi un año con impresora 3D (la famosísima Anet A8) y nunca he enseñado ningún proyecto. Es hora de comenzar a compartir.

 

Seguir leyendo

El día en que «hackeé» una red wifi pública

A menudo pasamos por lugares con wifi gratuito y siempre se nos dice que debemos tener cuidado. Y sí, eso es cierto, aunque no es tan peligroso como parece. ¿Te conectarías a la aplicación del banco usando una red wifi pública? En un futuro os contaré por qué no es tan «inseguro» utilizar redes públicas, sobretodo si más o menos conoces cómo funcionan. Si quieres saber un poquito más por qué es casi imposible que te roben las credenciales de tu banco, por ejemplo, aún conectandote a una wifi pública (a menos que te hagan una buena de Phishing) puedes buscar información acerca de los protocolos de desafío – respuesta con cifrado criptográfico: ellos son la solución.

Bueno, pero a lo que íbamos. Esta historia se remonta hace unos meses: agosto de 2017. Estaba yo de vacaciones solitarias por Cantabria y visité un bar con servicio de wifi gratis. Mi intención era tomarme unas cervecitas bien acompañado mientras utilizaba el wifi para bajarme un par de peliculillas y algún que otro capítulo de alguna serie. Esto es gracias a que Netflix permite desdeno hace mucho descargar contenido utilizando la aplicación nativa para dispositivos con Windows 10. Seguir leyendo

Tarbajando con MIBs (introducción SNMP): interpretación de OIDs

SNMP (Simple Network Management Protocol) es un protocolo muy utilizado para la gestión y monitorización de redes. Pertenece a la capa de aplicación y facilita la transmisión de información entre elementos de una red. Todo tiene (o puede tener) SNMP. Desde tu smartphone hasta tu impresora o nevera inteligente (si es que tienes).

El protocolo SNMP trabaja con sintaxis ASN.1 y utiliza estructuras MIB (no, no es MEN IN BLACK) como modelo de información. Para que me entendási: podriamos decir que ASN.1 es la sintaxis (como la gramática del español), las MIBs son los modelos de información (lo que sería el diccionario en un idioma normal) y SNMP es el protocolo (lo que sería el protocolo de comunicación entre personas: como decir un saludo a alguien que dice «hola» o decir «por favor», esas cosas). Seguir leyendo

Mejorando el servidor en python: cpuBurn y ramKiller. Creando pythonServerInfinity

La semana pasada os traje un tutorial sobre cómo crear de forma rápida y muy sencilla nuestra propia aplicación cliente – servidor en Python. He seguido trabajando en ella añadiendo un par de funcionalidades curiosas que pueden hacer divertido el ejercicio. En este caso lo he convertido en una especie de System Killer. Tiene dos funcionalidades: quemar cpu y quemar ram. Con ellas ponemos en marcha una serie de bucles dando la orden desde el cliente que permiten poner a funcionar la CPU y llenar toda la RAM pudiendo provocar la caída del sistema. ¿Útil? Creo que es poco útil. Ahora, divertido es un rato. Seguir leyendo

Cómo crear tu propio servidor en python

Los que nos dedicamos al mundo de la informática y las tecnologías de la información nos encontramos, a menudo, con una situación en la que dos programas o dos dispositivos deben poder enviarse mensajes. Hoy os cuento cómo, de manera muy sencilla, podéis crear un ejemplo básico de aplicación cliente – servidor en Python. Este lenguaje es increíblemente discreto para estas tareas. Editas un par de archivos, los pones a correr y todo funciona en poquísimo tiempo. Al finalizar el tutorial os dejaré un enlace al repositorio de GitHub que contiene los archivos. ¡Comencemos! Seguir leyendo

Guía rápida de uso de GitHub (Ubuntu)

Aún recuerdo la primera vez que experimenté con un repositorio. Nunca he encontrado en mi vida un mejor ejemplo para la típica frase de «no subestimes a tu enemigo». No era la primera vez que descargaba archivos de un repositorio de GitHub. Este paso es muy sencillo: botón descargar y listo. Pero, ¿cómo se suben archivos?

Otros repositorios como Thingiverse son mucho más sencillos en este aspecto. Vas a tu perfil web, creas un nuevo proyecto, añades una descripción, imágenes, vídeo y subes los archivos necesarios manualmente. Y con manualmente quiero decir que hay un botón que pone «subir archivos». Seleccionas los que quieres subir y ¡listo!

Pero, ¿por qué es tan complejo GitHub? Esta respuesta está en su funcionamiento. Repositorios como Thingiverse solo están ahí para que la gente suba sus proyectos y otros se los descargen. Un repositorio software como GitHub permite su configuración junto con entornos de desarrollo de forma que varias personas puedan estar trabajando en un gran proyecto. Digamos que tiene muchísima más potencia. Cuando tienes que pegarte con GitHub en un proyecto grande en cuanto a personas y tiempo (yo tuve que hacerlo durante un año con un equipo de 9 personas) es cuando tienen sentido todos esos rollos de los commit y los merge. Seguir leyendo

Cómo compartir archivos bluetooth entre tu smartphone y Ubuntu

Hace unos días me vi en un problema: tenía que subir un archivo desde el ordenador para documentar un pequeño proyecto de electrónica con Arduino. Uno de los elementos es un vídeo subido a mi canal de YouTube. Entonces pensé una cosa: mi ordenador tiene bluetooth, ¿por qué no usarlo? Pero claro, estaba en Ubuntu, no en Windows, y pensé que seguramente no funcionaría. No obstante, decidí intentarlo. Fue algo muy sencillo, pero me di cuenta de que, por defecto, mi Ubuntu estaba como cerrado a recibir archivos de mi móvil (imagino que por seguridad). Hoy os cuento cómo podéis conseguir esto de una manera muy sencilla. El artículo no es muy largo, pero no tengo nada de tiempo y escribir me resulta últimamente muy difícil. Estoy viendo que los objetivos que tenía planteados para esta temporada seguramente no se cumplan. Pero bueno, de vez en cuando viene bien callarse un poco y escribir algo corto, ¿verdad? Seguir leyendo

« Entradas anteriores Entradas siguientes »