Archivo del Autor: Nachintoch

Acerca de Nachintoch

Me encanta platicar y debatir, salir a vagar por la ciudad y viajar en bicicleta. Soy técnico auxiliar en contabilidad y estudio Ciencias de la Computación; (todo en la UNAM). Me dedico al desarrollo de software para administración de redes de telecomunicaciones, pero me auto-describo cómo Desarraolldor de Videojuegos

Android Virtual Device

Hola a todos,

compartiendo con todos ustedes más notas del curso de Android, en esta ocasión vamos a conocer el AVD; cómo usarlo para crear una máquina virtual de Android y depurar nuestras aplicaciones.

Aquí las notas: http://www.nachintoch.mx/teaching/mobile_dev/avd.pdf

Android Debug Bridge

Hola a todos,

continuando con el curso de Android, en esta ocasión les comparto unas notas sobre el ADB. Vamos a conocer esta herramienta y algunas de las instrucciones comunes que nos permiten interactuar con los dispositivos en los que probamos nuestras aplicaciones.

Sin más, aquí las notas: http://www.nachintoch.mx/teaching/mobile_dev/adb.pdf

Introducción a Android Studio (notas del curso de Android)

Hola a todos,

hoy les comparto una introducción a Android Studio. Vamos a conocer un poco de su historia, sus funciones principales y cómo nos ayuda a provechar el framework de Android.

El enlace a las notas: http://www.nachintoch.mx/teaching/mobile_dev/Android-Studio.pdf

Qué tomar en cuenta al desarrollar una aplicación para móviles (Notas del curso de Android)

Hola a todos,

aquí con otra entrega de las notas del curso de Android. En esta ocasión, vamos a continuar conociendo las capacidades y limitaciones de los dispositivos móviles en general; estas consideraciones no solo aplican a Android.

Las notas aquí: http://www.nachintoch.mx/teaching/mobile_dev/consideraciones-generales-dev-mob.pdf

Android como plataforma de desarrollo

Hola a todos,

Trayéndoles las siguientes notas del curso de Android, ahora vamos a conocer a Android como plataforma de desarrollo. Conoceremos las herramientas con las que podemos producir aplicaciones Android, cómo se administra la ejecución de las aplicaciones, cómo y qué se debe tomar en cuenta al desarrollar una aplicación.

Aquí las notas: http://www.nachintoch.mx/teaching/mobile_dev/android-framework.pdf

Android como Sistema Operativo

Hola a todos,

Continuando con el curso de Android, les comparto ahora un material que nos habla de las características de Android como sistema operativo. Un sistema operativo es un software bastante grande, que se encarga de administrar todos los recursos del sistema, atender las ordenes del usuario y mantener sus aplicaciones en ejecución.

¿qué mecanismos usa Android para realizar administrar la ejecución de un dispositivo móvil?

Aquí el enlace a las notas: http://www.nachintoch.mx/teaching/mobile_dev/android-OS.pdf

Introducción a Android (primeras notas del curso de Android)

Hola a todos,

Como comenté en el último post, estoy participando en un curso de Android y tengo el gusto de compartir con todos ustedes el material y las aplicaciones que desarrolle para el curso. Esto es algo que llevaba queriendo hacer hay ya un par de años; así que espero que encuentren el material de utilidad.

En esta primera publicación, les comparto unas notas que nos introducen a esta fantástica plataforma (si no lo habían notado ya, soy muy entusiasta de Android), nos cuenta sus orígenes y nos trae al presente para poder conocerla.

Más adelante, aplicaremos estos conceptos en aplicaciones; mientras conocemos el SDK y otras herramientas como Android Jetpack.

Enlace a las notas: http://www.nachintoch.mx/teaching/mobile_dev/introduccion.pdf

Una breve actualización general

Hola a todos, he vuelto después de un largo tiempo sin publicar nada por acá; no estaba muerto y desgraciadamente tampoco andaba de parranda.

Decidí por primera vez, en un tiempo aún más largo, que es momento de publicar un post un tanto más personal de actualización. Y es que desde que definí el tema que seguiría este blog, al principio y por mucho tiempo lo considere únicamente como un medio de consulta; que ha funcionado bastante bien, pero creo que justamente ese crecimiento implica que las cosas tendrán que ir cambiando poco a poco.

Y por cosas, me refiero a los otros instrumentos que utilizo para difundir y compartir sobre computación, software libre y tecnología; como Gitlab y mi página web, hasta ahora cada uno de estas herramientas se han relacionado poco y cada una parece tener un rumbo especial.

En los últimos años mi vida a dado varios giros; unos más bruscos que otros, y ahora creo tener un panorama más amplio y un enfoque más claro de lo que busco en diferentes aspectos principalmente en lo que quiero en mi vida profesional, que en consecuencia me ha llevado a pensar qué rumbo tendrán estas publicaciones.

Quiero compartir un poco sobre estos giros; en parte porque creo que puede ser una buena experiencia y reflexión, y para mí han sido una serie de experiencias que cambiaron mi perspectiva sobre muchas cosas.

A finales del año pasado deje el trabajo en el que estaba. Al principio todo parecía ir de maravilla; pero al final tuve varios desencantos bastante fuertes que se sumaron a otras experiencias similares que voy a resumir más adelante. Así que con toda la presión que significa el desempleo; al final me decidí a hacerlo.

Aproximadamente un mes después me encontré con mi entonces tutor de la licenciatura; tenía más de un año de haber registrado mi proyecto de tesis y tenía hecho todo el proyecto, teníamos las pruebas, tenía casi la mitad de la tesis hecha y por más de un año no había podido hacer mucho.

Aprendí a la mala que no es posible hacer una tesis con solo dos horas diarias.

Un trabajo de calidad, de la importancia y el significado que tiene una tesis, difícilmente puede realizarse con todo el esmero y calidad que merece con solo dos horas diarias. Cuando menos es un trabajo de medio tiempo. Idealmente es un trabajo de tiempo completo.

Cada vez veo más memes y comentarios acerca de la terrible cultura laboral que tenemos aquí en México. Como aquél que dice

mexico-pais-donde-no-pagarte-las-horas-extras-se-le-llama-ponerse-la-camiseta-id-ggdcg

Y es que es solo uno de los factores que hacen a nuestra cultura laboral terrible. Quizá este y el problema salarial sean los factores más escandalosos en nuestra cultura laboral, pero no son los únicos aspectos negativos; quizá solo son dos aspectos de los más rezagados en cuanto a derecho laboral.

Al principio te venden los empleos con las mejores proposiciones: horarios flexibles, bonos, valoración del desempeño, buen ambiente, etc. En cuanto te contratan los problemas suelen salir al aire inmediatamente; pero llegamos con una imagen que nos hace ignorarlos y creer que son parte del ambiente de trabajo.

Hace alrededor de 13 años tuve mi primer trabajo. Era menor de edad, mi situación familiar era complicada y conseguí un empleo en una cocina. Trabajaba duro haciendo de todo. Picaba verduras, preparaba las aguas, ayudaba a preparar la comida; salía a repartir, tomar pedidos, hacer limpieza…

Y entre todas esas actividades yo pensaba en mi ingenuidad: cuando termine la prepa me va a ir mejor. Durante el bachillerato tuve al rededor de cuatro empleos más; todos los dejé por que me exigían más tiempo del que estaba dispuesto a darles (no porque fuera un vago, sino porque me interesaba tomar mis clases y hacer mi tarea). Y en todo caso, ¿el esparcimiento no es un derecho humano? ¿una persona; independientemente de su situación económica, no tendría derecho a disfrutar de un tiempo para ella misma?

El punto es que hasta hace unos años, mis empleos casi siempre eran de medio tiempo; pero por diversas causas, llegaba un punto en el que se empezaban a convertir en trabajos de tiempo completo. Algunos de ellos los dejé también por malas condiciones laborales, principalmente el que no te den el material o la preparación necesaria para desempeñar tus tareas y por su puesto las clásicas condiciones para que te paguen a tiempo y de forma integra.

Quizá a algunos les suene extraño que exija preparación; pues se supone que se contrata personal ya capacitado para realizar sus tareas. Pero dependiendo que hagas, puede ser necesario recibir capacitación o preparación, y tu empleador debe cubrir esos gastos. De hecho en software esto es muy común, puesto que las tecnologías avanzan; así como las metodologías de uso de las plataformas y de desarrollo también cambian, todos los profesionales de las TIC y campos afines tienen derecho a recibir preparación continua por parte de su empleador (su empleador no se tiene que convertir en escuela, pero puede pagar cursos en línea, contratar consultores o a entrenadores).

Además, puesto que el tiempo de preparación es destinado a realizar sus actividades, esas horas de estudio deberían de alguna forma formar parte de las horas productivas de los empleados. De esta forma, ese tiempo no impactaría de forma directa en el tiempo personal de los empleados; y así lo puede aprovechar de otras maneras, incluyendo aprendiendo otras tecnologías que le parecen atractivas en lo personal.

De lo contrario, solo le quitamos su valioso tiempo a las personas; parece que los empleadores creen que las personas aparecen y desaparecen del universo cuando entran y salen de los espacios de trabajo; pues esas personas tienen que invertir su tiempo en dormir, transportarse de su hogar al espacio de trabajo, se tienen que preparar para salir de su casa y al regresar del trabajo; hay un gran numero de actividades que consumen una parte significativa de un día y ni siquiera forman parte de la jornada laboral.

Y si encima tienes que llegar a casa a aprender un montón de cosas de forma autodidacta, a revisar pendientes, resolver bomberazos (no me hagan empezar con los bomberazos, cualquier problema urgente o situación no prevista, es muestra de una estructura débil de la organización y su mala administración en uno o más niveles) o hacer reportes; solo se extiende el espacio de trabajo y la jornada laboral de esa persona y su vida se convierte en su vida laboral.

Creo que en cierto punto, la mayoría de las personas pasamos por esa etapa; en la que nuestra vida es nuestra vida laboral. Y eso no es sano. Al principio puede parece ser lo mejor; todo promete, pero luego las cosas se quedan en promesas. A veces  dan probaditas, como aumentos, o vacaciones o un puesto. Pero cuando lo analizas fríamente, te das cuenta de que casi siempre (en mi experiencia siempre, pero les daré el beneficio de la duda; aunque no mi confianza); es puro atole con el dedo.

Por allí escuchas que pese a tu aumento, sigues estando por abajo del promedio salarial de otras personas en tu mismo puesto. O que van a dividir tu aumento entre varias personas. Descubres que tus logros y propuestas se mancharon con el nombre de alguien arriba de ti; que solo está allí por que como tú ha habido mucho otros que cayeron en su trampa y algunos siguen esperando que se cumplan sus promesas.

Promesas vacías que se mezclan con eterno ruido de las ciudades. Al final, te encuentras con un montón de metas sin cumplir, ¿y todo a cambio de qué? La experiencia siempre es buena y se agradece, porque al final nos dan conocimiento. Pero como dicen no solo de amor vive el hombre.

Y aunado a todo esto, siempre he sentido que mi salario jamás ha reflejado el valor de mi trabajo. Y por un margen importante, aún considerando todas las prestaciones que he llegado a tener (que tampoco es que sean muchas). Al final, con toda mi preparación, cuando pongo en retrospectiva mi vida laboral; he alcanzado puestos y nombramientos bastante altos pese mi edad y otros factores, pero la realidad es que mis condiciones laborales han cambiado muy poco en los últimos 13 años. Así que ¿porqué debería seguir ese camino?

Sé que mi caso no es el de todos; pese a la realidad asquerosa de nuestra cultura laboral (pues la he confirmado con todos mis conocidos), aún es posible que una buena vida laboral trabajo, sea el resultado de una buena trayectoria escolar. Pero en todo caso, lo más importante es no dejar de aprender; porque solo el conocimiento nos hace íntegros y nos hace libres; la mejor forma de explotar tu libre albedrío es con un panorama amplio que solo el conocimiento puede aportar, para así llegar a metas más altas.

Ahora sé que quiero dedicarme por completo a la academia; donde si bien muchos de estos problemas están presentes, y existen otras formas de injusticia laboral, me he identificado mucho con el equipo con el que desarrollé mi tesis y en los últimos meses he estado colaborando con ellos en una forma que me es muy agradable.

Al final, me siento muy satisfecho y contento de haber alcanzado esta meta que me puse hace tantos años en medio de una situación complicada, titularme ha sido lo mejor que me ha pasado en mucho mucho tiempo. Una parte de mi quisiera haber tenido la oportunidad de trabajar en mi tesis tiempo completo y haber realizado más pruebas, más versiones del proyecto y un texto con resultados más contundentes; pero tuve que tomar una decisión y al final estoy satisfecho con mi trabajo.

Así que, con la nueva visión y objetivos que tengo planteados; como comenté al principio, también tengo un nuevo panorama. Así que; qué sigue, que va a pasar con este blog y las otras herramientas.

El blog puede que no tenga cambios mayores; hasta ahora me ha gustado como a ido creciendo y los recursos que ofrece, así que trataré de publicar al menos cada una o dos semanas como hacía hace tiempo. Lo que si pienso cambiar es el estilo del blog, me gusta pero la letra es muy pequeña y tengo la impresión de que tiene una experiencia ya gastada.

La página web sí pienso reformarla un poco. Redistribuir el contenido y reflejar los objetivos de este proyecto de divulgación y promoción de forma más clara en su portal. Con este post, también me doy cuenta que el sitio web es quizá uno de los lugares inapropiados para poner los consejos y hints que pretendo compartir (por ejemplo, en este post acabo de contar cómo es que un trabajo de tiempo completo y un proyecto de tesis son muy difíciles de tener en paralelo; más una pequeña vociferación sobre cultura laboral en México). Así que esa sección va a desaparecer de la página y aparecerán en formato de historias o fábulas aquí en el blog.

También, desde diciembre tengo unos vídeos sobre armado de computadoras en los que explico de forma general los componentes de la PC que armo en los videos: vamos desde qué es el software, hasta los orígenes del teclado y el funcionamiento de un monitor. No estoy seguro de cuando podrá estar lista toda la serie (son cuatro videos), pero es posible que lance los primeros antes de septiembre (tengo varios proyectos; ¿entienden mi problema en participar en proyectos con horarios indeterminados espontáneos?)

Y lo que sí va a estar apareciendo a partir de hoy (o el lunes en el pero caso), es que voy a empezar a publicar las notas sobre un curso de Android en el que estoy participando actualmente. Esto es algo que había querido hacer hace unos años; pero por distintos motivos, no es sino hasta ahora que tuve la oportunidad de colaborar en un curso llamado “Programación de Dispositivos Móviles” para la licenciatura en Ciencias de la Computación que ofrece la Facultad de Ciencias de la UNAM.

El número de borradores para este blog también ha ido creciendo durante todo este tiempo; como siempre, encuentro un tema interesante en el proyecto en el que este trabajando y empiezo a planear un post; pero por muchos de los factores que describí en párrafos anteriores, me quedaba corto el tiempo y tuve que dejar inconclusas todas esas publicaciones, pero espero en las próximas semanas también comenzar a retomarlos.

En fin, ya saque lo que tenía que sacar. Espero encuentren interesante estas anécdotas y mis ideas. Por lo pronto, es momento de comenzar a publicar las notas del curso de Android; así que, como siempre, el límite es la imaginación.

Y tu capacidad de crédito.

 

Recomendaciones para viajar al caribe mexicano

Hola, hola a todos!

Si solo te interesa leer los tips, puedes omitir los detalles y solo leer estas tajetas.

Ya hace rato que no público nada por aca; y si hay alguien que aún siga este blog desde hace por lo menos dos años, sabe que eso pasa cuando me cambio de trabajo. Pero a diferencia de la mayoría de los trabajos que he tenido, este ha sido el mejor y el que más feliz me ha hecho.

También se darán cuenta por el título, de que esta no es una publicación habitual en este blog. Usualmente hablamos de tecnología y desarrollo de sistemas, pero el desarrollo de software es solo un trabajo. A veces aparecen oportunidades que uno no puede dejar pasar. Así es como llegue al estado de Quintana Roo, México a hacer un viaje con el que soñé durante muchos años; pero que honestamente no creí poder hacerlo realidad.

Estando en esta planicie rodeada de manglares y playas, tuve una sensación de libertad y admiración que alegran… hasta que te pasan la cuenta en dolares estadounidenses.

20180220_143256[1]

Cuando buscas información sobre que hacer, como llegar y que precauciones tomar cuando estas en este paraíso maya, las primeras páginas de búsquedas se llenan de resultados de agencias de viajes, publicaciones pagadas y propaganda de secretarias de turismo (federales y locales); que son poco informativos, por eso he decidido escribir este post, con la esperanza de que otros compatriotas mexicanos y visitantes centro y suramericanos, puedan tener un poco más de información cuando lleguen a esta tierra que a veces te hace sentir que no perteneces a ella, como si se tratara de una nación extranjera.

Y bueno, tras la ya tradicional larga introduccion; comencemos…

A menos que vengas de una situación económica en la que pagar 200 pesos mexicanos por una jarra de café de aproximadamente un litro te parezca razonable (no lo es), te recomiendo evitar los resorts y hoteles “elegantes” en la riviera maya. A nosotros nos invitaron y no sabíamos que esperar, por lo mismo creo que eleve mucho mis expectativas (este tipo de lugares son impresionantes solo al entrar).

Estos resorts están diseñados para complacer principalmente turistas estadounidenses y todos los servicios y productos son tremendamente costosos (incluso para ellos). En general, hemos notado que en la península de Yucatan, el dólar “gringo” es moneda de cambio local. En restaurantes, tiendas locales y hasta en los supermercados se puede pagar en dolares. Lo malo, es que los muchos precios que manejan, están calculados en dolares y los precios fluctúan de un día al otro; junto con el dólar.

Tip 1 del viajero: considera comprar dolares cuando estén baratos si piensas viajar a la península de Yucatan, o dobla el presupuesto en pesos mexicanos de lo que esperas gastar.

Aún tengo la duda de si en verdad la tesorería local cobra impuestos en dólares; pues muchas de nuestras facturas iban con la conversión de moneda. Hasta donde entiendo, ningun estado mexicano cobra en otra moneda que no sea la nacional (MXN, peso mexicano); por lo que hasta donde entiendo, esta es una forma de abuso. Desde impuestos adicionales por noche de estancia en los hoteles hasta peajes aparecen en USD.

Los servicios de los resorts no son la excepción, la comida se ofrece en porciones pequeñas por el precio de un buffet. Entiendo que el café sea caro en Ciudad de México porque se tiene que importar el café desde Estados lejanos en los que se le cultiva o de otros países, pero Quintana Roo está muy cerca de los principales productores de café en México; y el café es mucho más caro que en la capital del país… Es mucho mas caro que en Guadalajara o Aguascalientes, de donde se tiene que importar de todavía más lejos.

Y no sólo lo es el café (me obsesiono con el café porque lo consumo con frecuencia como la mayoría de los programadores 😛 ). La fruta y otros productos que se supone son locales, tienen precios muy muy altos. Solo en mercados en las ciudades se puede encontrar comida a precios razonables. Y aún así, no encontramos comida a precios similares a los de la capital.

Tip 2 del viajero: si quieres comer fuera, ubica un mercado en una ciudad.

Un poco más sobre los resorts. Los servicios que ofrecen no son tan buenos como presumen y muchos estamos de acuerdo con que sus precios no los valen.

Debido a regulaciones locales; por amenazas de huracán, no está permitido construir cerca de la playa. Por lo mismo, muchos de estos resorts no tienen vista al caribe; lo que es un poco triste si como yo eres de la montaña y quieres algo de variedad a la vista.

Pero esto no pasa en las ciudades portuarias, donde la mancha urbana toca la playa. Muchos hoteles con precios más accesibles tienen habitaciones con vista al mar. Al menos en Playa del Carmen esto es una realidad. No tendrán spa, gimnasio y cientos de hectáreas que recorrer; pero si a lo que vienes es a disfrutar del caribe, puedes encontrar todo eso en la ciudad o ir a un resort solo por alguno de esos servicios (yo recomendaría más quedarse en la ciudad; o en todo caso ubicar un buen lugar sobre la carretera).

También considera que puedes hospedarte en un airbnb y que en las ciudades tienes a la mano incluso más servicios que en los resorts y a mejores precios.

Los resorts, suelen contar con playas, pero no son mucho más bonitas ni menos ocupadas o limpias que las públicas. Las playas de Quintana Roo son algo rocosas; de arena fina que no quema y muy bonitas. Uno pensaría que las playas en los resorts son remodeladas para remover rocas (sin arena fechar formaciones de corales) pero no es el caso y son igual de bonitas que las playas públicas. Además, a causa del cambio climático, las playas tienen muchas algas (públicas y privadas) y nadar en el mar entre rocas y algas es algo compilado en todos los casos.

Tip 3 del viajero: considera hospedaje en un hotel sencillo en una ciudad como Playa del Carmen, Tulum o Cancun; o un airbnb antes de alojarte en un exuberante resort.

20180220_142942[1]

Tip 4 del viajero: La ocupación y calidad de las playas públicas y privadas es muy similar, a menos de que en realidad lo desees, no gastes de más en visitar una playa privada.

Ya para dejar la alimentación de lado, otro tip: en las ciudades puedes encontrar supermercados (locales y otros bien cocidos, como Walmart o Soriana); hacer el super y tener en el hotel ingredientes para preparar tu comida, es otra opción mucho muy económica para aprovechar mejor tu presupuesto en conocer el caribe mexicano.

Tip 5 del viajero: compra lo que necesites en un supermercado y evita altos costos en “tiendas” de complejos hoteleros

Ahora, ¿como te trasladas de una ciudad a otra? Hay varias opciones. Las más costosas son los transportes privados y autobuses ADO; pero en mi opinión, el transporte público es la mejor opción.

Es de buena calidad, son “combis” (como las llamamos en Ciudad de México), pero tienen asientos cómodos, aire acondicionado y son rápidas. Cuesta 25 pesos el pasaje de Puerto Morelos a Playa del Carmen o $40 de Puerto Morelos a Cancún; no está nada mal.

El pase de diapositivas requiere JavaScript.

Tip 6 del viajero: usa el transporte público para ir de una ciudad a otra.

Así como en Puebla, Guadalajara, Aguascalientes, en Ciudad de México; o basicamente cualquier otra entidad, los taxistas abusan de quienes no son locales, así que recomiendo evitar tomar taxi.


Si eres mexicano, hay pequeñas agencias de turismo que ofrecen precios especiales para los nacionales. Para apelar a ellos es muy importante que tengas a la mano una identificación oficial, lo mas fácil es portar tu INE (y de todos tus acompañantes) o tu licencia de conducir (aunque sea expedida por tu estado de origen).

Tip 7 del viajero: Lleva documentos oficiales que te acrediten como mexicano para acceder a descuentos de turista.


Estos descuentos, nos motivarían a tratar de visitar Cozumel, otro de mis destinos soñados. Desgraciadamente, el estar en el muelle de Playa del Carmen, el ferry de Barcos Caribe en el que íbamos a subir explotó de un costado en el área de pasajeros poco antes de que nos cortaran boleto. Hubo heridos y se cerró el puerto de Playa del Carmen tras el incidente.

He buscado las causas de la explosión y aun no son claras; el pasado 27 de febrero de 2018 encontraron explosivos en otro de estos ferry, por lo que al parecer es un viaje arriesgado. El puerto marítimo de Playa del Carmen tiene vigilancia mínima, es más fácil abordar un barco en él que un autobús en una terminal terrestre. Es territorio federal sin vigilancia, como Ciudad Universitaria.

Otra cosa que se sabe de la explosión, es que la línea de ferry está estrechamente ligada con el ex-gobernador (PRIista por si faltara decirlo) de Quintana Roo Roberto Borge, quien es uno de los tantos ex-gobernadores perseguidos por la justicia por varios cargos de corrupción.

ferry-caribe

Tip 8 del viajero: por lo visto; hacerse a la mar en el caribe puede estar exento de hundirse por sobrepeso y el ataque de piratas, pero aún así es bastante peligroso. Para llegar a Cozumel quizá la mejor forma sea en avión o avioneta.

Hay pequeñas avionetas que salen de Puerto del Carmen a Cozumel; algunas incluyen tours, quizá sea la mejor forma de visitar la isla.


A nosotros nos fue muy bien sin una tarjeta de crédito (en el sentido de que no fue indispensable para contratar tours y otros servicios ni como limitante para disponer de efectivo o hacer pagos). Solo habría que tener cuidado de hacer bien el presupuesto para evitar quedarte sin dinero.

Tip 9 del viajero: puedes hacer (casi) lo mismo con una tarjeta de débito que con una de crédito; no es indispensable una tarjeta de crédito para acceder a la mayoría de los servicios que se ofrecen en la penísula de Yucatán.


Ya para terminar, una recomendación que al principio pensé en no mencionarla; pero tras lo ocurrido no puedo dejar de hacerlo.

Es muy importante no bajar la guardia ni distraerse ni un momento. Soy de la capital y puede sonar raro que diga esto. A nosotros nos pasó que estando en la playa, nos distrajimos por un intervalo de tiempo mínimo, un par de minutos, y fue tiempo suficiente para que me robaran mis lentes que había dejado a un lado: ni siquiera estaban plenamente desatendidos…. ¡y ni siquiera estaban en buen estado!

En el aereopuerto de Cancún, nos “bajaron” una pila de emergencia para dispositivos móviles en la revisión de equipaje (ambos estamos seguros de haberla pasado de una mochila a la maleta que se fue en la bodega, ¡porque la pasamos de la mochila a la maleta justo antes de entregarla a la banda transportadora del aereopuerto!) En el mercado de Playa del Carmen, una persona quiso persuadirnos para sentarse en nuestra mesa. No lo permitimos y de todas formas; al final, se fue sin pagar: quiería dejarnos su comida a nuestra cuenta por lo visto… Fueron varias experiencias desagradebles de ese tipo…

En México (el país), se tiene la creencia de que la capital es una de las ciudades más inseguras y peligrosas. Si bien, hay zonas en las que hay que andar con cuidado y algunas otras de las que es mejor ignorar su existencia; no es tan malo como el Estado de México (que casi rodea la capital). Pero aquí por la casa, tengo la confianza de que si quiero salir por botana a la 1 de la mañana, puedo hacerlo con la confianza de regresar íntegro, con el cambio y la bonata. Y no, no vivo precisamente en una zona “nice” precisamente; pero la capital no es taaan insegura como el muchos de los mexicanos creen.

Para ponerlo en prespectiva: he perdido menos en los últimos diez años en la capital comparado con lo que perdí en una semana en Quintana Roo. No sufrí violencia y no me sentí físicamente amenzado; pero un robo es un robo.

Tip 10 del viajero: ten mucha precacuión con la gente que se te acerca en Quintana Roo, no desatiendas tus pertencias ni por un minuto. Ten cuidado con lo que entregas en el aerepuerto, a los botones de los hoteles y cualquier otro tercero que pueda manejar tus pertenencias.

No quería hacer este comentario en un principio porque muchos de los habitantes de la zona son en realidad muy amables y tienen una “vibra” muy alegre. Pero al final, eso también nos afecto mucho en el viaje.

Ten cuidad también con las (muy comunes) políticas de no rembolso, pues muchos perdieron bastante tras la explosión del ferry (muchos tours no fueron reembolsados, y pueden ser algo costosos).


Y bueno, espero que estos consejos les sean útiles a más de uno. No quisiera ser tan negativo respecto a un destino tan maravilloso, pero la verdad es que es un destino dificil. A nosotros nos llegaron a hacer sentir discriminados hasta en el hotel y por ningún motivo deberías presentarte a una presentación de ventas.

Me alegra haber conocido aunque sea una parte pequeña de la península, pero no creo volver por allá a menos de que sea necesario. No se tomen tan a pecho mis comentarios, la mayoría de nuestros problemas los tuvimos con y en el hotel (el Vidanta); y pues fue un viaje complicado, pero en fin.

Procuraré darme tiempo pronto para compartir con ustedes contenido más habitual, tengo varias recomendaciones que quiero compartirles sobre MongoDB, desarrollo de Web Services con Python y C++ (sí, C++), big data y administración de procesos. Pero eso será en otra ocación.

Por lo pronto, espero que muchos de ustedes tengan la oportunidad de descansar pronto y viajar a donde mejor les plazca; al fin y al cabo que el límite es la imaginación… Y políticas y aduanas y tarifas sorpresa…

Firewall ¿qué es? ¿para qué sirve?

Hola a todos,

acercándonos a la recta final de esta larga serie de posts sobre configuraciones de red para sistemas Debian, vamos a terminar aplicando un firewall para tener un mejor control sobre el contenido al que tienen acceso los usuarios.


Pero, ¿qué es un firewall? ¿para qué precisamente sirve? Bueno, empecemos por responder la primer pregunta.

Un firewall es un software; un programa de computadora, que restringe tráfico con ciertas características de forma local en un equipo. Es importante notar que las restricciones de tráfico son locales: un firewall (en principio) no afectan a otros equipos.

Estas restricciones de tráfico pueden realizarse por dos motivos principales:

  • Seguridad. Una de las prácticas de seguridad más importantes y básicas es “cerrar” todos los puertos que no usemos en nuestros equipos.
  • Productividad. El administrador de red puede restringir las páginas que son visitadas para evitar distracciones; principalmente en ambientes laborales.

Vamos a detallar un poco lo que quiere decir el primer punto.


Para que un programa pueda conectarse a internet (en general, para que un programa pueda comunicarse con otro remoto), necesita de un “puerto” o “socket”.  Los puertos son una de las varias abstracciones que se hacen para comunicar dos programas que se ejecutan en equipos diferentes.

Esto se debe principalmente al deseo de poder comunicar dos equipos que pueden tener una arquitectura completamente diferente, sistemas operativos diferentes e incluso usar tecnologías diferentes para conectarse a la red.

Por ejemplo, podemos suponer que el servidor que hospeda este blog, es parte de una gran infraestructura distribuída de muchos racks de servidores que ejecutan Linux y se conectan entre sí por Ethernet, pero muy probablemente tienen salida a internet por fibra óptica.

Pero por otro lado, podemos leer el blog usando cualquier tipo de laptop; manufacturada por cualquier fabricante y que ejecuta distintos sistemas operativos; no necesariamente linux. Puede ser un equipo de sobremesa e incluso cualquier variedad de dispositivo móvil. Además, todos estos pueden conectarse a la red usando tecnologías muy diferentes; como USB, Ethernet, WiFi, 3G, 4G, etc…

Para que pueda existir todo este ecosistema de equipos tan diferentes que al final de cuentas pueden comunicarse por red, las redes IP (y muchas otras) utilizan un “stack”, una pila de capas de abstracción; donde cada capa se encarga de abstraer uno o varios aspectos que podrían ser diferentes en los equipos que se comunican: como el sistema operativo, el tipo de la interfaz de red, la velocidad de procesamiento, etc. Este stack a su vez está basado en un estándar (teórico) llamda “modelo OSI”.

Sin entrar en mucho detalle en estas capas de abstracción (las más “profundas” pueden confundir a aquellos que no estén acostumbrados a términos técnicos o no programadores); la primer capa se conoce como la de aplicación. Es decir, esta “capa” no son más que los programas que se conectan a la red. Aquí también están los servidores web, los servidores DNS y DHCP; de los que hemos hablado en post-anterior.

La segunda capa es la de transporte. Esta abstrae los mensajes que producen las aplicaciones; cualesquiera que sean y los envuelven en otro tipo de mensaje. Aquí es donde involucramos a los puertos.

En la mayoría de los casos, una computadora tiene una o dos tarjetas de red; pero también ejecuta muchas más aplicaciones que desean conctarse a internet. Por ejemplo, puede haber múltiples servicios preguntando por actualizaciones de las aplicaciones a las que pertenecen cada cierto tiempo; y cada pestaña de un navegador web, suele solicitar su propia conexión a la red.

Si el sistema operativo le asignara la tarjeta de red completa a la primer aplicación que solicitara acceso a internet, todas las demás quedarían bloqueadas y esperando por tiempos indefinidos por acceder a la red. Sería casi imposible usar un navegador sin obtener frecuentemente un mensaje de error porque “no es posible conectar”.

Para que todas (o la mayoría) de todas estas aplicaciones que desean conectarse al mismo tiempo a la red puedan hacerlo; al solicitar acceso, deben de indicar el número de puerto por el cuál quieren recibir mensajes del exterior.

Podemos pensar en los números de puertos cómo en direcciones que tendrían plataformas en un puerto real. Los botes o barcos que lleguen al muelle (la tarjeta de red), tendrán que dirijirse a una y una sola plataforma específica para anclar y desembarcar. Así, los barcos deben sber a cual de las plataformas deben anclarse y entregar su carga, para que llegue a su destino.

Los mensajes en los que son envueltos los mensajes que salen de la capa de aplicación, indican el número de puerto por el que deben salir; mismo por el que se espera que llegue la respuesta del programa remoto al que está destinado el mensaje original. La capa de transporte tiene algunas funcionalidades adicionales, pero por simplicidad y para los fines de este post; vamos a quedarnos sólo con esta de los números de puerto.

Los números de puerto son tan importantes para la comunicación en redes IP, que de hecho los primeros números de puerto; entre el 1 y el 1024 están reservados y usualmente se requieren privilegios de administrador o súper-usuario para permitir que una aplicación haga uso de ellos. Se dice que están reservados, porque están asociados a programas o protocolos muy comunes en internet; y básicamente se da por hecho que si un mensaje está destinado a un cierto número de puerto reservado, podemos estar casi seguros de que se trata de un mensaje en cierto formato, con cierto protocolo o creado por cierta aplicación.

Algunos de los números de puerto reservado son los siguientes:

  • 20 FTP
  • 21 FTP
  • 22 SSH (SFTP)
  • 23 Telnet
  • 53 DNS
  • 67 DHCP
  • 80 HTTP
  • 161 SNMP
  • 443 HTTPS
  • 666 Doom

Cuando un puerto no está asociado a ninguna aplicación ene ejecución y el sistema recibe un mensaje dirigido a ese puerto, el sistema simplemente descarta el mensaje; pues el destinatario no existe en ese momento. Es como recibir una carta dirigida a alguien que ya no vive en una casa.

Sin embargo, los distintos programas que se ejecutan en el sistema; incluyendo aquellos propios del sistema operativo que se encargan de la administración de la tarjeta de red y la asignación de puertos, pueden ser vulnerables a la recepción de ciertos mensajes con un formato especial que permite explotar vulnerabilidades de estos programas.

Algunos ataques por parte de hackers de sombrero negro, son perpetrados de esta forma; uno de los casos más conocidos recientemente fue heartbleed, que explotó una vulnerabilidad de este estilo en los certificados que usa HTTPS para obtener un pequeño segmento de memoria que permitía desencriptar los mensajes seguros.

Por esta razón es útil restringir el acceso remoto a ciertos puertos; cerrándolos a pesar de que puedan estar ligados a una aplicación en ejecución. Esta es una de las principales funciones de un firewall, una forma de evitar el acceso de terceros a nuestro equipo.

Un firewall puede evitar que mensajes de red que procedan de ciertos puertos, direcciones IP o usuarios no conocidos sean rechazados ANTES de que pasen a la aplicación que los espera, justamente para evitar este tipo de ataques. También permite que el equipo local se concecte a ciertos puertos, direcciones IP o nombres de dominio (aka páginas web), creando limitaciones en las conexiones que se puede crear el equipo.


En resumen: los firewall son un programa de computadora bastante útil que puede ayudarnos a aumentar nuestra seguridad en línea al evitar que ciertos equipos o usuarios remotos; o cualquiera, se conecte con cierta aplicación o número de puerto en nuestro equipo.

También son usados para evitar la intercepción de mensajes en línea y reducir el SPAM. Por lo que antes de simplemente cerrar el diálogo del sistema que te invita a configurar un firewall, deberías considerar hacerlo seriamente (además de actualziar el equipo).

Justo en el siguiente post y último de esta serie, aprenderemos a configurar un firewall en Debian usando IPTables. Otros firewall para otras plataformas son más amigables con el usuario y pueden resultar más fáciles de usar; por lo que si usas otro sistema operativo que no sea Debian, recomiendo arduamente que revises tu configuración para mantenerte seguro.


El límite es la imaginación. Y el número de puertos seguros en un servidor remoto.