Linus Torvalds es una leyenda en el mundo informático al iniciar el desarrollo de Linux y GIT, dos proyectos que cambiaron al mundo y son utilizados probablemente todos los días por cualquier programador. Aparte de sus proyectos, también es conocido por sus fuertes discusiones y opiniones en proyectos de software libre, ganándose el odio de muchas personas y siendo el centro de atención de sitios de noticias sobre software libre.
Linus Torvalds, el creador de Linux y GIT
Pues la organización TED le hizo una buena entrevista donde habla de sus proyectos, sus ideas, como ve el futuro y demás. Me gustó porque no se enfocan solo en su trabajo sino en la parte emocional, además que es raro ver a Linus en eventos o fuera de las listas de correo. Así que te recomiendo verla a continuación y aprendas mas sobre esta leyenda viviente del desarrollo de software.
Si prefieres verlo en el sitio de TED, haz clic aquí.
Desde hace unos meses Microsoft ha estado cambiando su imagen, en parte porque durante la presidencia de Steve Ballmer perdió su reinado ante compañías como Apple, Google, entre otros. Sigue siendo el líder y la empresa mas importante de la informática, pero no llega al mismo nivel que tenía durante los 90s.
En los últimos años vimos cosas como que Microsoft empezó a colaborar en el kernel Linux aportando código (de hecho estuvo por encima de mucha compañías por un tiempo), se unió a la Linux Foundation, cosa que sorprendió a muchos. En estos días, anunció la liberación de Chakra su interprete de Javascript bajo código abierto, compró Xamarín (la empresa de Miguel de Icaza) y ahora permite una licencia gratuita, próximamente habrá SQL Server para Linux y la última que generó gran sorpresa, la inclusión de Ubuntu dentro de Windows 10 para tener una terminal de Linux dentro de ese sistema operativo, todo esto bajo la campaña Microsoft ♥ Linux.
Quién hubiese imaginado hace 18 años que Microsoft lanzaría esta campaña
Las nuevas generaciones de programadores o usuarios de software libre lo ven como algo bien, ya que creen que Microsoft está abriéndose y ahora es mas amigable. Pero yo no creo que sea así, pues siguen siendo la misma empresa y conservan su cultura organizacional de dominar todo sector de la informática. Antes de compartirles mi opinión, veamos la situación actual con la empresa.
La mayoría de servidores usan Linux
Si revisan las estadísticas, la mayoría de servidores en Internet corren Linux y 99% de las supercomputadoras corren en Linux, ademas muchos de los clientes de Azure (la plataforma de la nube de Microsoft) lo utilizan para tener sus servidores Linux en ellos, esto significa que ninguna de esas instalaciones puede utilizar tecnologías de Microsoft, perdiendo gran cuota del mercado y saben que mucha gente no le gusta tener Windows Server como solución empresarial, por esta razón se van a la competencia, por ejemplo, alguien que desee usar un gestor de base datos y utilice Linux en sus servidores, podrán usar soluciones como MySQL, SQL Lite, Oracle DB, Postgres…pero no SQL Server. Así que la liberación de una versión para esta plataforma corresponde a necesidad de expandirse en el mercado.
En el móvil
Las plataformas móviles están lideradas por Android y iOS, donde la principal forma de desarrollar en ellas es Java y Swift/Objetive C respectivamente, Windows 10 Mobile no ha logrado despegar mucho y por lo tanto la plataforma de desarrollo con .NET es casi ausente en el sector móvil. Por ello, compraron Xamarin una plataforma que permite llevar software escrito en .NET a Android y iOS, así pueden expandir e impulsar sus tecnologías a las plataformas móviles.
Atraer los desarrolladores
Este es el punto mas importante he visto, he estado en conferencias internacionales, eventos de software libre y de Mozilla, he tenido la oportunidad de visitar, trabajar en varias empresas y el patrón que he visto es que si no usan tecnología de Microsoft en sus productos, no utilizan Windows en sus equipos, por esta razón vemos que si desean trabajar por ejemplo, con Ruby o Javascript, observarán que casi todo se hace a través de la línea de comandos, control de versiones y acceso a servidores se hace a traves de SSH que funciona por consola (de hecho GIT es un programa de consola), herramientas de manejo de dependencias de software (que se usan actualmente en todas las tecnologías) se hacen por la terminal.
Por esta razón, muchos programadores hoy en día compran una Mac o instalan Linux en sus equipos para tener una mejor experiencia de desarrollo y aumentar la productividad. Por ello, Microsoft se vio obligada a incorporar una terminal de Linux en su sistema operativo para soportar todas estas tecnologías y evitar la migración de usuarios a UNIX/Linux. Ademas, al ser un Linux real (Ubuntu), no es necesario migrar el software existente sino ya viene compatible con todo lo que existe (esta es la diferencia con Cygwin).
Palabras finales
En conclusión, pueden ver que todo lo que han hecho para «amar Linux» (o código abierto) ha sido solo para expandir el terreno perdido y dominar el mercado y volver a ser el Microsoft de Bill Gates, que dominaba todo sector de mercado (lo cual es normal en cualquier empresa), solo que en el caso de Microsoft, recodemos que atacaba fuertemente al software libre y Linux como se descubrió en los documentos de halloween del 98.
Si Microsoft de verdad amara Linux, tuviese su cliente de Skype actualizado , y no lo hubiese abandonado desde hace año y medio.
Linux ha sido mi sistema operativo principal desde finales del 2004, aunque en el 2006 usé Mac OS X por un tiempo y en el 2010 por trabajo me tocaba usar Windows. Desde enero desde este año, mi empleador me regaló una Mac mini para solucionar problemas en el navegador Safari, así que decidí usarlo por un tiempo como sistema operativo principal para ver cómo me iba.
Migración
Antes estuve usando Gnome 3 como interfaz principal en mi portátil (KDE 5 en la de escritorio) principalmente por el soporte a pantallas de alta resolución (HiDPI), esta interfaz es muy parecida a la de OS X por lo que la migración al nuevo sistema no me afectó, sin embargo, el funcionamiento interno del sistema si me costó.
Escritorio de Gnome, similar al de OS X
Luego de varios años sin usar OS X, no noté grandes diferencias en la interfaz, pues mantiene la misma estructura, no por falta de innovación sino que funciona tal como está y no es necesario cambiarla, a diferencia de la Windows donde cambia en cada versión para brindar una buena interfaz pero como siempre, no parece correcta (aunque la de Windows 10 luce bien). La usabilidad de OS X es muy buena, realmente está diseñada para ser fácil de usar, por ejemplo, estaba buscando en el dock el «menu principal» y Launchpad empezó a saltar para indicarme que ese es el ícono que andaba buscando.
Luego de usarlo por tres meses, ya me siento cómodo para dar mis opiniones sobre el uso de este sistema así que les comparto las ventajas y desventajas de de OS X.
Ventajas
La interfaz del sistema y de sus aplicaciones es muy limpia, sencilla y fácil de usar.
Posee una gran gama de aplicaciones, se pueden instalar tanto las aplicaciones que generalmente suelen encontrarse en Windows por su popularidad como aplicaciones de código abierto, digamos que es la unión de ambos mundos, agregando obviamente, las aplicaciones que sólo están disponibles para Mac OS.
¡Es UNIX! Cuando ejecutas los comandos por consola, se nota que es un verdadero UNIX y se respeta la sintaxis /estructura de estos sistemas operativos.
Respecto a Archlinux, sé que las actualizaciones no me van a dañar el sistema o voy a perder tiempo leyendo si debo hacer pasos adicionales para actualizar.
El sistema operativo incluye buenas aplicaciones por defecto, por ejemplo el cliente de correo Mail me parece una excelente herramienta. También me gusta como desde aplicaciones nativas puedo acceder a mi información en la nube, la sincronización de la data es buena y todo automático.
Desventajas
El sistema está diseñado para que necesites un Magic Mouse o Magic Trackpad para aprovechar atajos de acciones, no se pueden configurar por teclado o utilizando dispositivos similares.
La personalización de la interfaz es casi nula.
El manejo de ventanas me parece muy sencillo, no se puede hacer muchas cosas desde el teclado y operaciones sencillas como dividir las ventanas por la mitad, requieren varios clics, a diferencia de otros S.O. que se puede hacer desde el teclado (incluso Windows es mejor)
No existe una forma centralizada de instalar aplicaciones, o las instalo manualmente, a través de la App Store o por Homebrew. En el caso de la App Store, me molestó que pide una tarjeta de crédito para crear una cuenta y a su vez acceder a la instalación de aplicaciones y mantenimiento del sistema.
OS X es un buen sistema operativo para el usuario promedio y un poco avanzado
Básicamente esas son mis breves opiniones, como resumen, usar OS X me hace sentir que es un híbrido de Linux con Windows, en el sentido que tengo todas las aplicaciones y facilidad de uso de Windows, pero con el poder y terminal de Linux (bueno en este caso UNIX). Respecto al hardware, me parece un buen equipo, me gusta que la Mac mini no suena nada, no sé si tiene ventilador pero hasta los momentos me cuesta acostumbrarme al silencio del aparto jejee.
Recomiendo el sistema OS X para un usuario promedio, pero un usuario avanzado que le gusta acceder a cualquier parte de su sistema operativo, probablemente encuentre OS X muy cerrado para sus gustos.
Internet es un medio de comunicación diseñado para que la información pudiese ser accedida de forma abierta y por cualquiera, pues en los inicios eran pocas las personas con acceso a la red. Pero fue evolucionando y se comenzó a transmitir información delicada como: datos personales, números de tarjeta de crédito, información bancaria, compras, entre otros. Asimismo, evolucionó para ofrecer páginas web seguras y brindar confianza a los usuarios frente a operaciones monetarias, información personal y más.
A continuación te daré unos breves consejos (todo este tema se puede expandir muchísimo) para tener una página web segura.
Alojarse en un servidor seguro
El primer paso es contar con un servidor seguro, esto se traduce principalmente en tener todo el software del sistema operativo y servicios actualizados, pues todos los días se descubren fallas de seguridad que los atacantes pueden correcciones de estas fallas y disminuyes consideradamente cualquier riesgo. Además debe estar configurado para ofrecer sólo los servicios necesarios, por ejemplo, si es solo un servidor web no debería estar el servicio de correo instalado (en caso que no se ofrezca) pues si se descubre un fallo en el mismo, puedes ser víctima de un ataque gracias a una aplicación que no era necesaria que estuviese en ejecución.
Es mandatario contar con un cortafuego (firewall) bien configurado, pues permite controlar las conexiones de red, el acceso al servidor o sistema y más. Este software es esencial para la seguridad, pues permite ocultar o proteger el acceso no autorizado de desconocidos, también de muchos tipos de ataques realizados por conexiones como los es DOS o DDOS donde muchas computadoras empiezan a solicitar más recursos de los que puedes proveer.
Si te parece muy compleja o técnica esta parte, entonces lo mejor es que pagues por un proveedor de alojamiento (hosting) como lo hago yo, de esta manera no pierdes tiempo en ello y te dedicas a otras cosas más importantes. Además, la mayoría de las empresas cuenta con personal capacitado para mantener todo el servidor seguro y recuperarlo ante cualquier desastre.
Cifrado de la comunicación
Cuando visitas una página, los datos deben ir desde tu equipo hasta el servidor donde está la página que vas a visitar, durante el camino existe la posibilidad de que tu información sea leída por terceros si ésta no está cifrada. Por ello debes asegurarte de implementar un protocolo de comunicación como HTTPS que permite transmitir la información de forma segura, pues si alguien tuviese acceso a interceptar tu data, no podrá leerla al estar cifrada (por lo tanto no es entendible).
En la misma compañía donde alojas tu página web segura, puedes solicitar un certificado TLS para implementar HTTPS y cifrar tus comunicaciones. Si andas corto de dinero, puedes utilizar el servicio Let’s Encrypt que te permite generar certificados de forma gratuita y respalda por grandes de Internet como Mozilla.
Si tu navegador muestra HTTPS, tu conexión está cifrada
Tu página web segura o el software web
El software o la aplicación web es la parte donde se debe tener mayor cuidado, pues es la primera capa a la cual el usuario tiene acceso y generalmente donde se empieza a buscar vulnerabilidades. Aquí la principal norma es asumir que todo dato recibido por el usuario puede estar mal o ser maligno, por lo tanto se debe realizar comprobaciones sobre la seguridad de la data recibida: que el origen sea válido, contenido válido, contenido requerido y no se esté recibiendo otro tipos de cosas, entre otros.
El software también tiene que estar diseñado para soportar roles y separar las acciones de usuarios de administradores, e inclusive, cada sistema debería estar aislado para evitar la propagación de fallas o ataques. En realidad existen muchas cosas que se deben tomar en cuenta al desarrollar software, pero realizando auditorías y pruebas pueden verificar que todo esté funcionando bien.
Ejemplo de páginas segura
Por ejemplo, una página web segura para jugar al blackjack online es Casino.com, sitio que cumple con estas normas. Pues para ofrecer su excelente servicio de juegos deben asegurarse que ninguno de los clientes va a hacer trampa y dañe la experiencia del juego. Su software está validado para detectar cualquier anomalía y protegerse ante ella, los servidores están bien asegurados en caso que alguien quisiera saltarse la protección de las aplicaciones, la comunicación se encuentra cifrada y validada a través de su certificado TLS, permitiendo tener una buena partida de apuestas en línea sin problemas.
Espero que con estos consejos entiendas lo mínimo para tener un sitio seguro, recuerda que es una breve introducción al tema, pues existen muchas cosas que se deben comprobar y aplicar, generalmente hecha por muchos profesionales del área. Y por más que quisiéramos, la seguridad total no existe sólo podemos reducir la probabilidad de ser atacados.