jueves, 11 de junio de 2020

Estoy quemado! no quiero trabajar mas en sistemas!




Seguramente más de una persona ha dicho esa frase más de una vez. Tranquilos, son cosas que pasan.
A los que nos gusta trabajar desarrollando soft sentimos que es algo fabuloso! que el resto de la gente no logra entender. Nos suelen ver como los nerds de la compu, que estamos todo el dia con la computadora ahí tocando teclas "haciendo nada", pero en realidad es algo que va mas allá de ser el "nerd" de la familia, ese que está "boludeando" con la compu. Es tener la posibilidad de tener en nuestras manos la posibilidad de hacer lo que queramos! tenemos la posibilidad de generar soluciones de Software para cualquier cosa! tenemos la posibilidad de cambiar el mundo! (y creo que no exagero) pero como toda profesión conlleva sus riesgos, pros y contras.


Analicemos primero esos items un poquito:

Contras.
- estar tooodo el santo día sentado frente a una compu y lograr un "sedentarismo interesante" y llegar al final del día con la cabeza tan quemada que hasta cuesta formular oraciones! (me ha pasado jeje)
- meter un error en un soft ya hecho funcionando que sea critico y generar perdidas importantes de dinero o simplemente dejar sin servicio a un gran grupo de gente, ups!
- sacar un cayito en la muñeca de tener la mano apoyada en el teclado? ponele!

Pros.
- no tenemos limites para generar ideas.
- con prácticamente muy poco presupuesto podemos ponerlas en marcha. Solo necesitamos una compu, el resto se consigue.
- si logramos una idea podremos llegar a solucionar problemáticas importantes que sufre la gente!
- si fallamos en lo que hacemos es muy poco probable que se nos muera una persona por nuestro error. A ver puede pasar si haces una app de medicina que opere por inteligencia artificial gente o un sistema de conducción autónoma o bla bla bla, pero piensen que los cirujanos tienen ese riesgo toodo el tiempo en donde la gente puede morir por causas difíciles de diagnosticar. Nosotros podemos identificar los errores con mucha mayor exactitud.
- podemos divertirnos mucho haciéndolo y mejor aún podemos lograr divertir a la gente! por ej si hacemos videojuegos, etc etc etc.
- ganancias económicas que no tienen techo. Acá depende en parte de tus ambiciones obviamente.



Hay seguramente más pros y contras que no me están viniendo a la mente en este momento pero si de algo estoy seguro es que tenemos muchos mas pros que contras. En resumen, a lo que quiero llegar es que es una hermosa e importante profesión. Sin ir más lejos hace unos días la empresa SpaceX envió al espacio a dos personas en una nave que tenía muuuucho trabajo de soft en su interior. Por si no sabían está programado en C++ su core y con una arquitectura de hardware con redundancia de 3 servidores para evitar que los rayos solares modifiquen los bits de los procesadores y hagan que estas tomen desiciones equivocadas. LOQUISIMO!!! Les dejo la nota por si les interesa indagar (https://www.xataka.com/espacio/asi-software-que-obra-maravillas-falcon-9-spacex-linux-sistema-redundancia-triple-para-evitar-fallos) Imaginen estar trabajando en esos soft! Estarían haciendo historia junto con las personas que viajaron adentro de la nave.

La importancia de la profesión hace también que a veces nos sentamos frustrados por un fracaso o simplemente cansados de tanto trabajar. Lo importante en esos casos en los que se nos viene a la mente la frase "Estoy quemado! no quiero trabajar mas en sistemas!" es, en primera instancia, relax! respirá profunnndo y analizá porqué estas pensando eso. Quizás es solamente cansancio, quizás estas atorado en una tarea hace unos días y no logras sacarla adelante, quizás el equipo de trabajo en el que estás no es el mas "motivante". Tranquilo! todo eso tiene solución.

Lo primero es tomarse un respiro para poder bajar un cambio, intentar relajar la mente para poder pensar algo bien básico. Esto que hago, me gusta? Si mas allá del cansancio o lo que fuese que pase a tu alrededor la respuesta es un "SI", buenisimo! solo es cuestión de acomodar ciertas variables de la vida (ahh eh! mirá como te metí concepto nerd en la explicación jajaja).

Algo importante en todo esto es tener, además del trabajo en desarrollo de software otra ocupación fuera de la compu que nos aleje del "mundo sistemas" por unas horas. Es bueno cortar un poco de vez en cuanto. Tener un lugar donde nos olvidamos de la existencia de las computadoras y los software y los ambientes laborales y las reuniones y todo eso. Lo que sea! pero que la cabeza pueda descansar (el músculo que tanto usamos a diario). y acá seguro vienen los pensamientos, "yo no sé hacer nada", "que se yo...", "solamente me gusta jugar GTA5 online", "vivo en un depto de 2x2, que querés que haga acá adentro?". Bueno la gracia justamente es hacer algo bien descolgado. Lean por ej, los cuidados de una planta, tengan un potus! algo bien simple. Hagan deporte, pónganse a pintar la casa! pero corten un poco!

Yo por ej. Yo en consecuencia de vivir en un depto y no tener espacio para poner plantas, se me dió por ver de que trataba la onda bonsai y empecé a leer algunos artículos en internet y hoy, después de varios años, ya tengo mas de 10 plantas chiquitas que les practico el bonsai. No me siento el señor miyagui ni por lejos porque me falta esa dedicación completa y buen gusto para que las plantas queden realmente bonitas, pero me sirve para cortar un poco tanto estrés laboral. No pienso dedicarme de lleno al bonsai ni salir a venderlos, pero a mí me sirve para bajar un cambio. Hay que buscar algo que nos guste sin importar si lo hacemos bien o mal, lo importante es que nos guste hacerlo. Cocinen!!! hagan un pan, una torta, un estofado. No saben hacerlo? aprendan! es mezclar ingredientes en una sartén!! no hay que definir variables ni instanciar objetos ni pelear con threads ni con kubernetes. es mezclar ingredientes en la medida justa que diga la receta y listo.



Hoy me encuentro escribiendo esto porque estoy justamente con esa frase en la cabeza "Estoy quemado! no quiero trabajar más en sistemas!". Pero sé muy dentro mío que no es lo que realmente quiero hacer. Pero hoy, por lo menos ahora, sí quiero dejarlo. Así que ahora cuando termine de escribir esto me iré a ver mis plantas, me prepararé unos mates y trataré de bajar un cambio en mi cabeza para retomar mis tareas laborales.

Con esta nota no quiero darmela de sabio en la materia, solamente mostrar mis pensamientos, mi forma de ver el tema desde mi punto de vista y dar a conocer lo que a mí, por lo menos, me sirvió.

Espero que este artículo le sea de utilidad a por lo menos una persona. Con eso ya me quedo conforme.


lunes, 26 de marzo de 2018

Tengo una idea para hacer una App pero nose por donde arrancar!

A quien no le ha surgido alguna vez siendo desarrollador una idea genial que suponen que cambiaran al mundo o que simplemente piensan que puede funcionar y porque no? Vivir de ella?
Yo vivo teniendo ideas en mi cabeza de ese estilo. El problema es poder generar el tiempo para poder llevarlas a cabo mas cuando uno tiene un trabajo y una familia en que consumir tiempo.

En esta post quiero enumerar algunos items a tener en cuenta para aquellas personas faltos de tiempo que tienen esas ideas pero no saben como encararlas apropiadamente para que sean todo un éxito.
La idea de estos tips es guiar un poco a los nuevos emprendedores en software en base a mis propias experiencias y cosas que a mi me fueron funcionando utilizando distintas metodologias agiles y algunas mañas personales que a mi por lo menos me resultan.


Arranquemos...
1.- Bajar la idea principal a papel.


    Ni mas ni menos que eso. La idea que tengamos dando vuelta en la cabeza escribirla en un documento. Redactar la idea principal, como es que esta idea va a afectar al usuario final, como le va a ayudar a resolver, variantes de la idea, formas de monetización, la imagen que se le va a querer dar a la idea, como la gente va a ver la idea, si como un producto o una persona o una entidad o una caja negra que hace magia o los va a acompañar todo el tiempo en su celular ayudándolos en sus quehaceres, seria el "donde vivirá nuestra idea?"


2.- Ver hacia donde apunta nuestro proyecto.

    Identificar el fin de la idea. Ver bien claro el propósito de lo que vamos a hacer. Que quede bien definido que es lo que vamos a hacer para solucionar que problema. Sin esto bien bien definido corremos riesgos de que tengamos cambios de rumbos sobre la marcha que emprendamos y si contamos con poco tiempo estas cosas nos retrasarian mucho al punto de que avandonemos la idea en un tiempo.


3.- Monetización.


    Vamos a querer ganar dinero con esta idea? bueno de que forma? con publicidad? vas a vender un servicio? vas a hacer una aplicación paga? Vas a vender productos con ella? va a ser gratis?. Definir claramente si vamos a querer ganar dinero, de que forma lo vamos a llevar a cabo.


4.- Analizar tecnologias que vamos a usar.

    Vas a hacer una web? que lenguaje vas a usar? que base de datos se acomoda mejor a tu idea? Servicios externos que se van a necesitar? Que tipo de tareas vas a tener en el backend? identificalas y fijate de que forma las vas a aplicar.


5.- Servidores y Hosting que necesitemos.


    Ver que opciones hay en cuanto a precios, prestaciones y fiabilidad. Hoy por hoy hay varios servicios confiables y muy buenos por precios muy variados, sean AWS de Amazon, Google Cloud Computing, Godaddy.com no se queda atrás tampoco, entre miles mas. Hay que tratar de buscar soluciones que puedan ser escalables porque si nuestro proyecto crece inesperadamente debemos tener la posibilidad de poder expandirnos sin demasiado trabajo.


6.- Bajar a detalle fino sobre papel.

    Armar otro documento con el detalle bien fino de como vamos a resolver nuestro proyecto, pantallas, base de datos, arquitectura de proyecto, servicios. Todo mientras mas detallado mejor cosa de poder detectar desde antes de que nos pongamos a desarrollar problemas o cuestiones que no cierren bien. Aca vale utilizar todo tipo de diagramas que consideres, uml, armado de maquetas, diagramas de entidad, etc etc etc. Hasta un simple documento con todo escrito bien detallado sirve.


7.- Buscar colegas.

    Este punto es de suma importancia. Si bien solos podriamos resolverlo teniendo en cuenta que uno trabaja, tiene una familia, una vida! Esta bueno poder contar con colegas de gran confianza y que además cada uno tenga un rol distinto para poder lograr tener puntos de vistas distintos de los temas que vallan surgiendo durante el desarrollo del proyecto.


8.- Separar el proyecto en etapas y poner fechas de vencimiento.


    Una vez que tenemos la idea cerrada hay que hacer un listado de tareas, priorizarlas y separarlas en etapas de construccion. Lo mejor es poder separar en muchas etapas cortas, de no mas de 2 semanas. Esto ayuda mucho a llevar un hilo del proyecto y a saber en todo momento donde estamos parados, si venimos bien o estamos atrasados o identificar sobre la marcha tareas q fueron mal planteadas o faltantes.

9.- Llevar control de tiempos y avance.
    Esto parece tonto en un proyecto personal. Quizás estaria bueno para una empresa mas que para mi. Pero aunque parezca tedioso es muy bueno. Poder definir tiempos estimados y separar dichas tareas en huecos semanales. "Para la semana que viene tengo q definir esto". "Para la semana que viene tengo que hacer tal pantalla", etc. Nos da una visión de como viene nuestro proyecto y al ser hitos cortos nos motiva a que estemos todo el tiempo viendo avances y de esa forma no abandonar el proyecto por desgano.


10.- Publicar en producción.

    Si es una app subirla a los store correspondientes, si es una web subirla al hosting final donde vivirá. Está bueno armar scripts que ayuden con las tareas de subir archivos y configurar el servidor y la aplicacion/web


11.- Documentar!
    Si ya lo sé, esto es algo que no hace nadie pero es hiper! necesario. Si el proyecto prospera o si llegamos a necesitar sumar gente en un futuro la documentación técnica y funcional es de suma importancia debido a que nos evita miles de idas y vueltas para tratar de entender lo que hicimos en un principio.


12.- Armar campañas publicitarias.

    Hacer que nuestro proyecto se conozca, por redes sociales, boca en boca, si nos alcanza el dinero alguna publicidad en los medios. En fin no voy a indagar demasiado este punto porque da para hablar un montón.



13.- Vas a tener competencia, no te asustes.

    Si en algún momento mientras transitamos todos estos pasos vemos que alguien ya hizo algo similar a lo nuestro, no se desesperen y sigan adelante. Piensen en cuantas aplicaciones y sitios web similares hay y ahí están aun. Por ej, piensen en sitios para comprar y vender por internet. Hay muchas y todas viven. Asi que adelante! Logren destacarse de la competencia para así lograr el éxito.


En resumen, sea cual sea la idea que quieran desarrollar lo mas importante es que lo hagan con pasión. Si hacen un proyecto solamente por el fin de ganar dinero, están fritos. Primero está la idea, después los beneficios. Disfruten de lo que hagan que de esa forma van a conseguir lograr lo que quieran.




lunes, 19 de marzo de 2018

Desarrollo mobile, nativo o multiplataforma?

Hace unos años atrás, cuando me hiso el clic de que debía aprender a programar mobile para poder progresar un poco, empecé a investigar de que iban esos lenguajes multiplataforma y que tan buenos o malos eran frente a programar nativo.

Al principio me marié un poco con los temas así que decidí arrancar con lo ya conocido, Android Nativo. Me bajé el Android Studio, instalé la SDK y a programar!. En ese momento no contaba con una compu muy poderosa y empece teniendo problemas para levantar la maquina virtual de Android y a tener un Android Studio que se arrastraba bastante. De todas maneras, lento y todo seguí aprendiendo el lenguaje. Llegó un momento que en parte por la lentitud de mi pc y por lo enroscado que se me estaba poniendo el codigo decidí ver si había alguna opción mas práctica que me permitiera programar mobile de forma mas fácil y vi que había plataformas unificadas para Android y Iphone y me puse a leer al respecto.

Arranque leyendo sobre cordova. Algo loco que, en resumidas cuentas, no es mas que un "mini apache" que te muestra webs en el celu como si fueran aplicaciones nativas. Pensé, "esto pinta bueno!!" Y empecé con un desarrollo para ponerlo a prueba.
Empece intentando hacer un juego de tuti-fruti. La programación se hacia muy simple ya que era programar web, algo que yo ya venia haciendo hace tiempo ya. Pero al no ser  nativo cuando la app empezó a tener cierta robustez me encontré con que no funcionaba del todo fluida. Leí sobre performances pero terminé desistiendo de Cordova debido que para apps mas complejas no resultaba del todo performante. Era muy bueno para apicaciones simples, pero no podia explotarlo por completo con cosas mas complejas o que requieran de mas funciones de hard del celular (ojo, que estoy hablando de Cordova de hace unos años, aclaro por si ahora la cosa es distinta).


Luego de darme cuenta que esto no me funcionaba del todo ooootra vez me puse a buscar alternativas nuevas y me topé con NativeScript, que como su nombre bien lo indica genera aplicaciones nativas multiplataforma. Me dejé seducir por el nombre y me dispuse a probarlo. Viniendo del mundo de Angular la verdad que la curba de aprendizaje fue muy empinada. Safando algunas particularidades que se usan exclusivas para mobile, el resto era como si estuviera programando una web. Muy bueno realmente. 
Ya llevo 2 años con native script y la verdad es una herramienta que la encontré super práctica para mis humildes desarrollos.


Para ir resumiendo, las distintas opciones que utilicé fueron:
Android nativo, lo mejor para programar mobile pero algo engorroso o lento para cuando necesitamos sacar trabajos en poco tiempo.
Ionoc, muy practico al ser multiplataforma pero al utilizar cordoba como base se ve afectada la performance.
Native Script, mas práctico aún que Ionic, multiplataforma pero! Generando apps nativas donde la performance no se ve tan comprometida.

Ya se que van a decir, hay otras opciones mas que seguramente son mejores que estas que no he nombrado, pero bueno no quería extenderme tanto y fui por las que a mi me resultaron mas significativas en mi aprendizaje.

Comenten si quieren y cuenten que soluciones les sirvieron a ustedes.


miércoles, 3 de enero de 2018

Sitios para aprender...

Hoy en día cualquier experiencia, conocimiento o consejo que necesitemos para realizar una tarea o aprender a ampliar nuestros conocimientos lo podemos encontrar simplemente introduciendo unas sencillas palabras en un buscador. Todo el conocimiento que queramos está en Internet, y cada vez hay más páginas que nacen con la intención de ofrecérnoslo de manera sencilla y directa.

El fin husmeando por internet me topé con una interesante lista de algo más de una treintena de páginas en las que aprender cosas nuevas. Estuve mirando muchos de esos sitios y me parecieron muy buenos asi que decidi listar los que mas me gustaron. Acà va la lista

Cursos online en castellano

  • edX: Una de las páginas punteras en cuanto a formación online se refiere. En ella podremos cursar cursos online en alguna de las mejores universidades.
  • Coursera: Se trata de una de las páginas de cursos online gratuitos más importantes del mundo.
  • Udemy: Se trata otro de los grandes en el mundo de los MOOC. En ella podremos encontrar todo tipo de cursos diseñados para la vida laboral real, y tanto en inglés como en castellano.
  • UPV X: La universidad politécnica de Valencia no se ha querido quedar atrás con las nuevas tecnologías, y también ha creado su propio catálogo de cursos online.
  • Miríada X: Otro potente portal de cursos online en español, el cual se centra en ofrecer los cursos de varias docenas de universidades de renombre, la mayoría de ellas españolas pero también con alguna internacional.
  • Google Actívate: Google no podría ser menos, y también tiene una pequeña plataformas de cursos online entre que destacan los de programación y analítica de datos.
  • Microsoft Virtual Academy: Microsoft tiene su propia academia virtual repleta de cursos online, en la que le presta una especial atención a los relacionados con el desarrollo.
  • Buscadores de cursos: Pero si no os apetece ir de uno en uno entre todos los cursos, el pasado mes de abril os listamos unos cuantos buscadores que os facilitarán la tarea de encontrar maneras para formaros online.

Cursos online en inglés

  • Future Learn: Otra potente portal con cursos de todo tipo que ya está a punto de alcanzar la mágica cifra de dos millones de inscritos.
  • CreatiLive: ¿Eres una persona creativa y quieres mejorar tus habilidades? En esta página encontrarás cursos especializados para fotografía, arte, música y un largo etcétera. Eso sí, la página está en inglés.
  • Lynda.com: Lynda Weinman ha conseguido triunfar como emprendedora gracias a su plataforma de cursos online. Por si esto fuera poco, la plataforma ha sido recientemente adquirida por LinkedIn, otra muestra de su enorme calidad. Eso sí, todo su contenido está en inglés.
  • Skillshare: Otra plataforma online en la que formarnos con cursos que nos ayudarán a mejorar todo tipo de habilidades. 
  • Curious: Si eres de los que en vez de tomar apuntes prefieres estar atento a las explicaciones de los profesores, este portal te ayudará a aprender a base de vídeos online.
  • Coursmos : Una página especializada en microcursos, para permitirnos aprender con ellos siempre que queramos y desde cualquier dispositivo.
  • Highbrow : Otra página especializada en microcursos, en la que tras registrarnos iremos recibiendo cada día en nuestro correo pequeños cursos de apenas cinco minutos de duración.

Programación

  • Code Academy: Posiblemente es una de las páginas para aprender a programar más importantes del mundo. Empezaremos a programar desde el minuto uno, incluso para decirle a la web nuestro nombre, y su contenido está disponible en español.
  • Programando.la: Otra completa página en la que aprender a programar gratis y en castellano. Tiene una gran variedad de temas y una buena colección de vídeos.
  • Aprendeaprogramar.com: Una completa comunidad en español con varios tutoriales para aprender a programar, y un foro dividido en lenguajes con el que recibirás la ayuda del resto de la comunidad.
  • Yo puedo programar: Una página que pone a nuestra disposición dos cursos básicos con los que ayudará a que los más pequeños se inicien en el mundo de la programación.
  • Code.org: Una plataforma online para aprender a programar a base de sencillos tutoriales. Tiene una sección en castellano, pero lamentablemente sin demasiado contenido.
  • Stuk.io : Otra página que promete enseñarnos a aprender desde cero, aunque lamentablemente sólo está disponible en inglés y portugués.
  • Programmr: Una de las páginas más completas a las que podemos acceder, y en la cual accederemos a un inmenso catálogo con el que aprenderemos a programar en una gran cantidad de lenguajes.
  • Udacity: Otra potente página para aprender a programar apoyada por gigantes como Google o Microsoft, que son algunas de las muchas empresas que reconocen el valor de sus Nano-grados formativos. Lamentablemente no tiene contenido en nuestro idioma.
  • Learnable : Otra potente página para aprender a programar, y otra que tampoco soporta el español.
  • Code School: La mejor manera de aprender a programar es practicando, y esa es la máxima de esta plataforma online.
  • Platzi: Como si acudieras a clase, en esta página podrás recibir formación en streaming sobre diseño, marketing y programación.
  • Dash: Una página especialmente dirigida a enseñarnos todo lo que necesitamos saber para aprender a hacer vistosas páginas web.
  • One Month: Una página que nos enseñará a programar aplicaciones web en un mes.
  • BaseRails: Aprende Ruby on Rails y varios lenguajes web más mediante todo tipo de proyectos diseñados para el mundo real.
  • Treehouse: Una página que nos enseñará a elaborar proyectos mientras aprendemos a programar mediante ejercicios, y con la que aprenderemos cómo construir desde aplicaciones móviles hasta páginas web.
  • KeepCoding: Esta plataforma de pago nace con el objetivo de ser una “boutique de formación" online, enfocada en el desarrollo mobile para formar Full Stack Developers.

Analítica

  • Metriplica: Una completa web con la que aprenderemos en castellano todos los secretos de la analítica web.
  • Analytics Academy: Está en inglés, pero Google pone a nuestra disposición un portal de aprendizaje con numerosos cursos dirigidos a la analítica y la utilización de Google Analytics
  • SoyData.net: La Ciencia de Datos a tu alcance. Una plataforma eLearning colaborativa sobre todo lo relativo a la ciencia de datos en español.
  • DataCamp: Una página en la que aprender R mediante tutoriales online y cursos de ciencias de datos
  • DataQuest: Una completa página en la que aprenderemos ciencias de datos cómodamente desde nuestro navegador.
  • DataMonkey: Página para aprender SQL y análisis de datos de forma interactiva, con ejemplos concretos y una inmersión total en el entorno laboral.

Idiomas

  • Duolingo: Página destinada al aprendizaje gratuito de idiomas que, lejos de limitarse a eso, también funciona como plataforma crowdsourcing de traducciones de textos. A medida que aprendemos un idioma vamos ayudando a traducir páginas. Presente en todas las plataformas móviles con aplicaciones para Android, iOS y Windows Phone
  • Memrise: Una página que busca enseñarnos un idioma utilizando técnicas de memorización mediante elementos visuales, auditivos o de cualquier otro tipo durante varias sesiones cortas.
  • Busuu: Se trata de una red social orientada a aprender a hablar, leer y escribir en 12 idiomas. Esta plataforma motiva a sus estudiantes mediante insignias, y les permite practicar lo aprendido con las interacciones sociales.
  • engVid: Una plataforma online y gratuita en la que podremos aprender ingles mediante más de 900 lecciones en vídeo.
  • Lingualia: Otra plataforma centrada en enseñar idiomas con los conceptos de las redes sociales, permitiéndonos hablar con nativos para que estos nos enseñen a comprender y entender mejor su idioma.
  • Babbel: Otra potente y conocida opción que nos permitirá aprender 12 idiomas permitiéndonos probar gratis su sistema mediante cursos para principiantes, pero que después nos pedirá pagar por nuestra formación.

Mejorar otras habilidades

  • Sharing Academy: La plataforma de clases particulares entre universitarios en la que cualquier universitario puede apuntarse y enseñar o aprender cualquier asignatura que domine o le cueste.
  • Coneecta: Se trata de una página en la que en la que podremos contactar mediante videoconferencias con expertos en las diferentes materias para las que necesitemos ayuda. Este no es un servicio gratuito, ya que los usuarios tendrán que pagar a los profesionales a cambio de sus servicios y enseñanzas.
  • Tareas Plus: Otra interesante página de cursos centrada en ofrecer un formato mucho más cercano a través de vídeos.
  • Khan Academy: Se trata de una organización educativa sin ánimo de lucro que pone a nuestra disposición todo tipo de cursos con varias temáticas.
  • TED-Ed: Una muy popular y reconocida plataforma online en la que podremos aprender diferentes cosas mediante vídeos online en inglés.
  • Peer 2 Peer University: El concepto del P2P llevado al aprendizaje. Una página en la que compartir nuestros conocimientos y aprender de los de los demás mediante un sistema igual que el de los cursos online.
  • Chess Academy: Una auténtica academia online, en inglés, pero en la que podremos aprender a jugar al ajedrez de manera gratuita mediante vídeos, resolución de problemas y partidas online.
  • Squareknot: Una curiosa página que nos propone aprender todo tipo de cosas mediante didácticas y visuales guías paso a paso.
  • Pianu: ¿Te gustaría aprender a tocar el piano? Esta página te ayuda al más puro estilo guitar hero sugiriéndote canciones que tendrás que ir replicando desde tu teclado.
  • Yousician: Otra página en la que si sabemos inglés podremos aprender a tocar la guitarra.
  • Freekampus: Es gratis pero también 100% legal mediante licencias Creative Commons. En esta plataforma cualquier usuario podrá compartir sus conocimientos creando sus propios cursos y aprender de los de los demás.
  • Learnist : Otra potente página en inglés en la que podremos tener cursos para aprender todo tipo de materias.
  • Open Education Consortium: En esta lista hemos mencionado varias universidades apostando por la iniciativa OpenCourseWare, y este es el consorcio que las agrupa a todas. Incluye un buscador de materiales didácticos en varios idiomas. También tiene una sección de lecciones en inglés que desbloquearás con una donación de 10 dólares.
Trate de resumir los sitios que mas me han gustado de una lista aun mas extensa. Espero que alguno de estos sitios les sea de utilidad.
Y si llegan a tener algun otro sitio interesante para aprender desde casa comenten a libre demanda, todo dato es bien recibido y compartido.



Bibliografía:Genbeta

miércoles, 11 de octubre de 2017

Distribuciones de Linux


Si ya conocés y usas Linux puede que aún no estés conforme con la distro que instalaste y estés buscando otra que pueda satisfacer todas tus necesidades, o si aún nunca probaste Linux puede que no sepas por donde empezar, cual usar dependiendo el uso que le vallas a dar a la compu o quizás tengas una máquina vieja que quieras darle una segunda chance en esta vida instalando una distro ligera de Linux y no sepas que opciones tenés. Bueno en este post les traigo un listado de distribuciones de Linux, algunas las he probado bastante y otras las conozco de comentarios que me han hecho colegas para que puedan decidir entre ella y puedan ser felices usando Linux. Las distros están separadas en distintas categorías para que sea mas simple la elección.




Para los que buscan un sistema estable:

  • Red Hat Enterprise Linux: Distribución comercial de Linux desarrollada por Red Hat. Ofrece una estabilidad y flexibilidad punteras, lo que la coloca como una de las más recomendadas para empresas y servidores.
  • Debian: Muy estable y 100% libre, Debian destaca por su sistema de paquetería .deb y su gestión de paquetes APT. Es una de las distribuciones más importantes de GNU/Linux, ya que en ella se basan gigantes como Ubuntu.
  • openSUSE: Es una de las alternativas más potente contra la familia de distribuciones basadas en Debian. Está disponible con los entornos de escritorio KDE y Gnome, y cuenta como una de sus mejores armas con la robusta herramienta de instalación y configuración YaST y el configurador gráfico SaX.
  • Fedora: Distribución gratuita creada y mantenida por la empresa Red Hat que utiliza el sistema de paquetería RPM (Red Hat Package Manager). Tiene tres versiones diferentes para escritorio, servidores y sistemas en la nube, y destaca por su seguridad gracias al sistema SELinux ("Security-Enhanced Linux").
  • CentOS: Nació como un derivado gratuito de la distribución comercial Red Hat Enterprise Linux (RHEL) destinada al uso empresarial. Recientemente unió las fuerzas con el propio Red Hat, y sigue siendo una apuesta segura para los que busquen un código de gran calidad.
  • Arch Linux: Una distribución modular en la que empiezas desde cero y tienes que ir añadiéndole los componentes que quieras. No es muy apta para principiante, y utiliza pacman, su propio gestor de paquetes. Se trata de una Rolling Release, lo que quiere decir que todos sus componentes van actualizándose sin necesidad de instalar versiones nuevas del sistema operativo.
  • Manjaro: Una prometedora distribución que promete llevar todo el potencial de Arch Linux al usuario menos experimentado. Para eso, ofrece un sistema operativo ya montado y basado en Arch, con un instalador sencillo como el que podemos encontrar en otras distribuciones como Ubuntu. Tiene versiones oficiales con los entornos de escritorio XFCE y KDE.



Para principiantes y para los que quieren las cosas un poco mas simples:

  • Ubuntu: Una de las distribuciones más utilizadas gracias a su gran facilidad de uso. Basada en Debian, es amada y odiada por partes iguales por su exclusivo entorno de escritorio Unity, con el que persigue convertirse en una distribución versátil que pueda utilizarse tanto en ordenadores como móviles y tabletas.
  • Linux Mint: Basado en Ubuntu, es uno de los más recomendados para todos aquellos que tocan Linux por primera vez. Su entorno de escritorio, Cinnamon, tiene muchas similitudes con el de Windows, y es también uno de los más personalizables.
  • Elementary OS: De todas las distribuciones basadas en Ubuntu, esta una de las que más personalidad tiene gracias a su cuidadísimo aspecto, que imita el del sistema operativo OS X de Apple. Increíblemente rápida y fácil de usar, le ofrece al usuario todo lo que pueda necesitar desde el primer momento, incluyendo una colección de aplicaciones propias diseñadas para integrarse a la perfección con su estilo visual.
  • Zorin OS: Distribución también basada en Ubuntu que nació con la intención de ayudar a que el usuario diera el salto a Linux ofreciéndole una interfaz lo más similar posible a Windows. Tiene varias versiones, algunas gratuitas como Core (versión básica), Lite (para PCs poco potentes) y Educational (incluye aplicaciones educativas), y otras cuantas de pago muy al estilo de las versiones de Windows.
  • Peppermint OS: Distribución rápida y ligera basada en Ubuntu con entorno de escritorio LXDE. Utiliza la tecnología Prism de Mozilla para integrarse con las aplicaciones basadas en la nube, utilizando las webapps como si fueran nativas. Se presenta como una alternativa a otros sistemas basados en la nube como Chrome OS.


Para celosos de su privacidad:

  • Tails: Promocionada por el propio Edward Snowden y basada en Debian, es una distribución lista para ser ejecutada desde un USB o DVD. Tails se conecta a TOR tan pronto termina el proceso de inicio del sistema operativo, y toda conexión a Internet se realiza a través de esta red.
  • Kali Linux: Distribución basada en Debian con una inmensa colección de herramientas para proteger nuestros equipos. Utiliza un kernel personalizado con parches de seguridad y tiene soporte para la arquitectura ARM.
  • BlackArch Linux: Una distribución orientada a la seguridad informática que en un principio nació como expansión de Arch Linux, pero que ha seguido su propio camino. Nos da acceso a una impresionante cantidad de herramientas de hacking entre las que destaca Sploitctl, un script que permite instalar, actualizar y buscar sploits.
  • Arch Assault: Se trata de una nueva distribución, también basada en Arch Linux y muy parecida a la anterior, también dirigida a hackers y amantes de la seguridad. Minimalista, con gestor de ventanas Openbox acompañado por el panel Tint2, a pesar de estar aun verde ya ofrece soporte para arquitecturas ARM.


Para los equipos menos potentes

  • Puppy Linux: Una minúscula distribución que puede llevarse en un USB o CD, pero sorprendentemente rápida al cargarse enteramente en la memoria RAM del ordenador. Se carga en 30 o 40 segundos y ocupa sólo 100 MB.
  • Lubuntu: Se trata de una versión de Ubuntu mucho más ligera y asequible para equipos poco potentes al utilizar el sistema de escritorio LXDE y el gestor de ventanas Openbox. También incluye software personalizado bastante más ligero, por lo que sólo nos pide 128MB de RAM y un Pentium II o Celeron de 1999 para funciona.
  • Damn Small Linux: Distribución especialmente diseñada para los equipos más antiguos, como los Pentium de primera generación o incluso los i486. Como entorno gráfico y gestor de ventanas nos propone JWM, su iso ocupa apenas 50 MB y sólo nos pide como mínimo un Intel 486DX y 16 MB de memoria RAM.
  • SliTaz: Otro peso pluma aunque con un software ligeramente más moderno que el del anterior. Utiliza el entorno Openbox y sólo necesita un Pentium III con 256MB de RAM y 100 MB libres en el disco duro para funcionar.
  • LXLE: Basada en Lubuntu, esta distribución promete ser aun más ligera gracias a un mejor procesado de inicio y el entorno de escritorio LXDE. Ofrece varios perfiles que amoldarán la distro para que se parezca a Windows XP, Vista, y 7 Starter/Basic.
  • Bodhi Linux: Aunque actualmente su desarrollo está paralizado después de que su creador abandonase el barco, aun podemos utilizar las últimas versiones de esta distribución para nuestros equipos antiguos. Utiliza un entorno de escritorio Enlightenment y sólo pide como mínimo un equipo con procesador de 300 MHz, 128 MB de RAM y 2,5 GB de espacio libre en el disco duro.
  • Q4OS: Y si el anterior era un proyecto que llegaba a su fin, Q4OS es uno que está comenzando. Se trata de una distro basada en Debian. Su entorno de escritorio deriva de la una versión 3.x de KDE llamada Trinity DE e imita el aspecto de Windows XP. Puede usarse en equipos con Pentium de 300MHz, 128 MB de RAMy 3 GB de disco duro.


Para los que tenemos hobbies:

  • Distro Astro: Esta distribución está basada en Ubuntu 14.04 LTS y utiliza el entorno de escritorio MATE, aunque lo más importante es su completa colección de aplicaciones dirigidas a los amantes de la astronomía.
  • SteamOS: Aun en fase beta, esta es la distribución basada en Debian desarrollada por Valve, y que está más dirigida a ser una especie de media center para videojuegos integrando el modo big picture que un sistema de sobremesa.
  • ArtistX: Distribución de Linux enfocada en la producción multimedia. Basada en Ubuntu, aunque diseñada para ser utilizada en formato LiveDVD y USB, se puede instalar en cualquier equipo. Usa el entorno KDE y ofrece una colección de programas de código abierto para edición de vídeo y creación de gráficos 2D y 3D.
  • Ubuntu Studio: Basada en Ubuntu y orientada a la edición multimedia profesional de audio, video y gráficos. Utiliza el entorno de escritorio Xfce y no lleva preinstalado ningún tipo de software ofimático, sólo el diseñado para la edición multimedia.
  • Scientific Linux: Se trata de un clon a nivel binario de la distribución Red Hat Enterprise Linux, y está desarrollada y mantenida por los laboratorios de Física CERN y Fermilab con el objetivo de tener un sistema operativo específico para la computación científica.
  • CEELD: Distro basada en OpenSUSE que usa el entorno KDE y está especialmente dirigida a los ingenieros electrónicos y a estudiantes de esta carrera, al permitirles diseñar o simular circuitos electrónicos.
  • Edubuntu: Otro derivado de Ubuntu, pero en esta ocasión especialmente dirigido a escuelas y profesores. Ofrece una gran colección de software y herramientas educativas, por lo que también es una buena opción para instalar en los ordenadores de los más jóvenes de la casa.
  • Openelec: Pequeña distribución Linux creada desde cero para convertir un ordenador en un centro multimedia basado en Kodi, lo que antes se conocía como XBMC. Hace lo que promete y necesita sólo 90-125 MB de almacenamiento interno. A parte de su versión oficial, tiene otras dos buids para Raspberry Pi y Apple TV.



Y hay mas distros aún...
Como se puede ver hay variantes para todos los gustos. Linux dejó de ser el sistema operativo que solo manejaban los "chicos raros" de la clase o se usaba solo en servidores. Hoy tenemos Linux para todo el mundo. Si alguien tiene otra distro que le quepa bien y quiera comentar bienvenido será el comentario.


Bibliografía:Genbeta