Curso de Programación #2 : ¿Qué es programar?

Dibujo de un globo terraqueo con los simbolos del potocolo de internet representando la conectiviad global

¿Qué es programar?

Comencemos por el principio: ¿Qué es programar? Bien, programar es ¡crear un programa!… ¿Y que es un programa? bueno, un programa es sencillamente un conjunto de instrucciones. Emmm … esto … me explico.

Un programa, desde el editor de texto mas sencillo, hasta el juego de ultima generación que imagines, pasando por cualquier programa que utilices en tus dispositivos, no es mas que un conjunto de instrucciones que le indican a tu ordenador o movil correspondiente que hacer, y como interactuar con la persona que sostiene el dispositivo.

Pero … ¡esto es imposible! ¿como va a ser algo tan complejo como un juego sólo un conjunto de instrucciones? pues si, efectivamente , lo es, un conjunto de miles, incluso millones de instrucciones cada una de ellas por separado muy sencilla, pero que funcionando en conjunto, forman algo tan complejo como un juego.

Como el cuerpo humano

El cuerpo humano es muy complejo, y sin embargo esta formado por miles de elementos mas pequeños y especializados, como las células, que trabajando en equipo forman lo que identificamos como “cuerpo humano”, igual funciona un programa.

Cualquier programa que imaginemos consiste en una secuencia de instrucciones , divididas en mutiples comandos pequeños, uno tras otro. Cada uno de ellos se encarga de una parte pequeña de la tarea, el conjunto forma nuestro programa. Puede que hagan falta millones de instrucciones para construir algo tan completo como un juego, pero es eso, una coleccion de instruciones.

Construyendo programas

Para construir un programa, su diseñador ha tenido que interpretar y estudiar las funciones que desaeaba para dicho software, y ha dividido esas funciones en bloques, que a su vez se dividen en funciones , cada una de las cuelaes se compone de varias instrucciones individuales.

Un ejemplo muy sencillo

Si queremos obtener una idea mas aproximada de lo que es un programa, imaginemos que invitamos a un amigo querido a nuestra casa, pero este nos llama por telefono porque se ha perdido. Le pedimos nos indique que es lo que ve a su alrededor para hacernos una idea de donde esta.

Es facil suponer que, a partir de la información de donde se encuentra, de donde queremos que llegue y nuestro conocimiento del lugar, podemos darle una serie de instrucciones que le permitan llegar a nuestra casa.

“Programando” a nuestro amigo

Le diremos, por ejemplo, “Toma la carretare al sur, en el segundo cruce gira a la derecha y continua medio kilómetro, cuando veas una casa con una fachada verde esmeralda, y oigas el sonido del mar, habras llegado a mi casa.”

Si nos fijamos bien, las instrucciones que le hemos propocionado, constituyen un “programa” tal que, si nuestro amigo ejecuta esas instrucciones en secuencia, llegara a nuestra casa. Tan sencillo como eso.

Una cuestión de orden

Es preciso señalar la enorme importancia del orden en las instrucciones de un programa. Si a nuestro amigo le decimos en primer lugar avanza medio kiloentro y luego que gire a la derecha, nuestro amigo aparecerá en cualquier lugar, menos en nuestra casa. Del mismo modo, al escribir un progama, hay que tener en cuenta, tanto las instrucciones que damos a la maquina, como el orden de estas.

No obstante, crear un programa para que un computador lo ejecute es algo que requiere algo mas de tiempo, hemos de tomar un problema complejo y dividirlo en procesos mas sencillos, y estos a su vez en tareas esenciales, de forma que la union de los diferentes elementos individuales, trabajando en equipo, den como resultado nuestro programa.

¿Tengo que aprender Swahili?

En el caso de nuestro amigo, utilizamos nuestro idioma para indicarle, la direccion, pero, si nunca has programado antes, te estaras preguntando que idioma comprende una maquina.

Las instrucciones que podemos dar a una maquina, en muchas ocasiones son tan simples como sumar dos numeros o mostrar una letra en pantalla. Parece poco y extremadamente básico, pero es la unión de miles de estas instrucciones que podemos indicar a la máquina lo que nos permite crear programas.

En equipo

Os preguntareis como es posible crear un programa como un videojuego con solo instrucciones muy simples. Bien, aqui es donde podemos observar hasta donde llega la madriguera de conejos. Para crear un programa de ese tamaño, es posible que cien programadores hayan tenidoq que trabajar en el codigo ocho (o mas) horas al dia durante varios años. Pero no se asusten, nosotros empezaremos por el principio y veran que se pueden lograr objetivos interesantes en poco tiempo 🙂

Precisión, precisión, precisión

Ahora centremos nuestra atencion en la importancia de la precisión en las instrucciones que demos a la maquina. Un programa contendra un gran numero de instrucciones ejecutadas a una gran velocidad.

Si a nuestro amigo le indicamos tan solo una instruccion incorrectamente, puede acabar en cualquier lugar excepto en nuestra casa, ademas, entre tantos miles de instrucciones, no es trivial localizar la que causa el problema, por lo que deberemos ser extremadamente cautelosos.

Comandos

En programacion usamos diferentes lenguajes para escribir estas instrucciones, a traves de lo que llamamos comandos, un comando en programacion es algo asi como una frase en ingles, se usan palabras, numeros y signos de puntuacion para expresar ideas que explican a la computadora que hacer en cada momento.

Algunos comandos son muy cortos, otros contienen mas informacion, pero en esencia, todo se basa en secuencias de comandos que describen de forma precisa un proceso y las posibles variaciones que existen en este. En algunos lenguajes, cada comando se termina con un punto y coma, de forma similar a como finalizamos nuestras frases con un punto. En otros esta diferenciacion se realiza mediante un salto de linea. Esto dependera del lenguaje, pero os preocupeis ahora mismo por esto, lo iremos viendo poco a poco.

No todos son iguales

Cada lenguaje es unico, los hay expresados en mayusculas, otros todo en minusculas, otros no toman en cuenta esto y otros son extremadamente estrictos en este punto, sin embargo, lo principal es entender la sintaxis, es decir la gramática de dichos lenguajes. Lo veremos poco a poco, pero tómese en cuenta que dependiendo de la situación, el entorno o la máquina puede hacer falta usar diferentes lenguajes.

No se asusten, comenzaremos por comprender uno bien, y, una vez hecho, no les resultara especialmente complicado utilizar otros.

Finalizando

Un pequeño consejo, si no sabeis mecanografía, es el momento de aboradar su estudio a la vez que el presente curso. Pensad que la programacion se basa integramente en texto, y creedme, se acaban pasando muchas horas delante del un teclado. Por tanto, maximicen su velicidad editando texto, sea cual sea el metodo o herramienta que utilicen para ello, incluso si es un sistema basado en switch.

Por último, tomen en cuenta que programar es el arte de tomar un problema complejo, dividirlo en tareas mas sencillas y crear programas de forma que la maquina, siguiendo estas instrucciones que le hemos indicado, sea capaz de resolver el problema inicial de forma eficiente.


Perfiles: Sordoceguera

Schrödinger Imagen esquematica de medio gato representando al hipotético gato del experimento una línea curva amarilla y azul rodeándolo en la parte inferior enfatiza la absurda dualidad de la situación

Una de las cuestiones a tener en cuenta a la hora de crear contenidos digitales accesibles, son los diferentes perfiles con los que nos podemos encontrar, sus particularidades y sus necesidades.

No se trata de crear soluciones a medida al margen de la corriente general, sino de incorporar estas necesidades a dicha corriente, mejorando la misma y aumentando el grado de inclusión global.

Para ello iniciamos en el día de hoy un camino que nos llevara poco a poco recorriendo diferentes perfiles de discapacidad y sus problemas. Comenzamos hoy con esta entrevista a una persona sordociega en tono a su uso de la computadora.


¡No me interrumpas!

gire!

Para aquellos que buscamos la productividad y utilizar eficazmente nuestro tiempo, no nos asustan los payasos en plena noche, ni siquiera seres del infierno que aparecen al resolver un puzzle-caja xD, lo que de verdad nos da pánico es perder el control.

Y no hablo de una noche de pasión extrema en una playa tropical, en brazos de aquella persona que evoca nuestros mas variados y sublimes instintos, hablo del control de nuestro tiempo, precisamente eso que atesoramos con tanta dedicación.

Dentro de este equilibrio terrorífico, las interrupciones suelen ser una de las cuestiones delicadas que trabajar, tratar y entrenar , de forma que su gestión no nos suponga un desequilibrio continuo.

Para ayudarnos en esta cuestión os recomiendo este fantástico artículo que trata precisamente sobre el control de las interrupciones, como gestionarlas y en torno a la percepción que tenemos en torno a estas, que no siempre se corresponde con una realidad objetiva, sino un nuestro miedo subjetivo.

 


¿Qué tengo en mi iPhone? (pre Keynote)

Dibujo de un iPhone en orbita en torno a la tierra, como simbolo de futuro

En los próximos meses llega iOS9, OSX El Capitán, OSWatch 2, y se producirán cambios en el uso de nuestros dispositivos de calado.

Como puente previo a dicho escenario, recupero aquí la recopilación de software que usaba en mi Iphone hace unos meses, apenas ha cambiado, aunque hay alguna incorporacion nueva.

Son tres capitulos del podcasts, que aparecerán a continuación. Tras la incorporación de iOS9 haré una nueva recopilación y actualizaremos la lista. Por ahora ¡disfruten!


Curso de HTML5 #2: Contexto

Dibujo de un globo terraqueo con los simbolos del potocolo de internet representando la conectiviad global

Un poco de contexto

Antes de que comiences a aprender lo específico de HTML quiero que te tomes un momento para comprender la importancia del HTML y porqué es tán crítico conocerlo bien para llegar a ser un desarrollador competente.

Como nuevo desarrollador web que necesitas conocer, al menos, los tres lenguajes principales que constituyen la web HTML, CSS y JavaScript

HTML, técnicamente hablando no es un lenguaje de programación, es un lenguaje de marcado, un conjunto de etiquetas que nos permiten indicar que es cada cosa en un documento web, este será interpretado por el navegador para mostrar la pagina web.

Todo esto se sustenta en la base: HTML que se que verdaderamente definen la estructura de un documento web tanto CSS como JavaScript son elementos que acompañan este contenido. El primero de ellos para darle un aspecto apropiado y el segundo para aportar dinamismo y funciones extra.

HTML tiene todo el peso estructural, y por tanto nos vamos a centrar en el inicialmente para crear nuestras páginas web. Si eliminamos el CSS de una página web perderá su aspecto y diseño visual, si quitamos el JavaScript dejará de ser dinámica, pero sin HTML la pagina web no tendrá sentido alguno.

Sin embargo, el HTML no puede ni debe ser escrito de cualquier manera: debemos generar estructura bien definida y una adecuada semántica. ¿porque semántica? porque básicamente un documento HTML consiste en un texto en el cual vamos a incorporar etiquetas que le indicarán al navegador qué contiene el texto y cual es su papel dentro de la estructura de la información.

Un documento HTML correctamente escrito no sólo va ser legible por el usuario sino que además va aportar una estructura al documento y una relación entre los elementos del contenido y de estos entre sí que nos va a permitir incluso enlazar otras páginas y sitios.

Existen muchos tipos de etiquetas, desde indicadores de titulos, parrafos y enlaces, hasta imagenes, la mayoría de ellos totalmente compatibles con los principales Navegadores del mercado, aunque con ciertas restricciones en algunos casos.

Sera, sin embargo, trabajo de del programador determinar que etiquetas debe asociar a determinado elemento del contenido, en qué condiciones y en que momento se debera usar cada una de ellas.

Existen una serie de indicaciones y condiciones estándar en las cuales se incluyen cada una de las etiquetas y en que momentos el uso de cada una son apropiadas pero, finalmente, la decisión dependera del desarrollador, de ti.

Es bastante importante también aprender en paralelo los elementos apropiados respecto de la accesibilidad y estructurar el documento de forma legible por un lector de pantalla. Esto no solo nos va a aportar el formato requerido para que un usuario pueda consumir contenido de forma independiente sino que va a potenciar enormemente el SEO , el posicionamiento en buscadores, ya que , en esencia, un buscador lee nuestra pagina de modo casi identico a una persona ciega. Si nuestra pagina no es 100% accesible, los buscadores nos penalizarán.

Es importante conocer las etiquetas y saber aplicarlas. A lo largo del curso veremos diferentes etiquetas y su uso común en el desarrollo web, pero deberemos ser proactivos con esta parte, pues existen mas etiquetas y casos de los que probablemente podamos cubrir finalmente en este foro.

Suena fácil y complicado a la vez y en realidad es bastante sencillo la mayoría de las personas pueden aprender las bases de HTML en apenas quince minutos, no obstante para hacerlo bien y con garantías hay que dedicarle horas.

En el proximo capitulo comenzaremos a trabajar con un documento html basico, por ahora, asimilemos esto.


Creando un argumentario

dibujo de una pluma escribiendo en un documento formado por varias hojas

Ciertamente me encantaria poder argumentar “porque es lo correcto” en todos los casos y que eso fuera suficiente para que las organizaciones y clientes tomaran en serio la cuestión de la accesibilidad universal, pero me temo que la realidad es algo más compleja.

Por una lado tenemos el caso positivo, aquellos que tienen claro de que va todo esto y a los que no tienes que convencer, pero son mayoría aun los que no saben de que va, tienen conceptos y prejuicios muy alejados de la realidad o simplemente no etienden el concepto porque no han estado expuestos a el.

Para todos ellos se hace necesario un argumentario variado, mas allá del “es lo correcto” o incluso del “es lo que marca la ley”, al menos si pretendemos transformar la visión real en torno a la accesibilidad, no imponerla por decreto.

Como punto de partida os recomiendo este pequeño artículo que contiene una serie de lineas base argumentales para llevar a cabo esta labor comercial de sensibilización.

 


Apoyar personas, fomentar proyectos

Dibujo de una enorme librería repleta de volúmenes con el lomo de colores diversos

Hoy he leído este articulo que nos habla de financiar personas y no proyectos, y me ha dado por pensar que, efectivamente lo correcto es precisamente eso.

Porque, efectivamente, fomentar la financiación de proyectos y no de personas hace que estas ultimas tengan que dar tumbos entre diferentes ideas peregrinas, que logren llamar la atención ante un posible “CAMBIO” en lugar de crear un camino evolutivo estable.

No creo ue realmente necesitemos listos generando proyectos grandilocuentes para captar fondos, sino personas comprometidas con un camino vital y es a esos últimos a los que creo que en verdad hay que financiar, y de este modo obtener todo su potencial.

Just an Idea.

 


Curso de Programación #1: Inicio

Dibujo de un globo terraqueo con los simbolos del potocolo de internet representando la conectiviad global

Bienvenidos al Curso de Programación.

Hoy vamos a realizar una pequeña introduccion sobre lo que haremos antes de pasar al contenido.

Comenzamos.

Lo que pretendemos hacer aqui es iniciar un camino en el que no solo se trata de enseñar a todo aquel dispuesto a aprender o interesarse por este mundo de la programacion, es algo más amplio.

No es solo poder echar una manita a todo aquel dispuesto, a través de este curso, sino que ademas pretendo aumentar la base de programadores que, de serie, tienen en cuenta la inclusión.

Es algo conocido que nos centramos mucho en la parte visual a la hora de definir como deben de funcionar los interfaces de usuario y aunque no será en este curso donde trataré directamente cuestion del diseño accesible, es interesante tener estas cuestiones en cuenta mientras exploramos la base de la programación.

Una vez hayamos completado el curso de programación, y el de html que se publicar en paralelo avanzaremos juntos en esa direccion pero lo primero es lo primero.

El objetivo prioritario no es solo aprender a programar, sino hacerlo a ciegas. Y no solo a ciegas en el sentido de utilizar medios de apoyo para suplir lo que no tenemos de vista, no, se trata de ser capaces de programar a ciegas usando nuestra mente de un modo mucho mas potente que la media de programadores actuale.

Todo esto, seamos o no videntes, y no de los de las pelotas (bolas) de cristal, sino de aquellos que ven o no ven. Esto va a ser independiente en este caso, vamos a aprovechar para aprender a hacer las cosas razonandolas y posteriormente poniendonos en nuestro ordenador con nuestro editor de texto y demas manteriales.

¿Que materiales vamos a necesitar?

Pues algo muy sencillo, y que ya les adelanto desde aquí, voy a basar el programa, el curso, el viaje que predendo realizar con ustedes, porque no solo van a apdender, o trato de que aprendan ustedes, sino que yo mismo voy a aprender muchisimas cosas en el proceso, no solo de accesibilidad, sino de la misma programación y de como debe ser, por tanto, usemos los materiales mas asequibles que sean posibles.

Tras analiar varias perspectivas y varias opciones, aunque Python (paizon/piton), es un lenguaje muy atractivo en este sentido por su amplia variedad de entornos, pienso que debo ir a algo aún mas sencillo y ubícuo.

Teniendo en cuenta todas las argumentaciones que he ido tomando en este tiempo vamos a centrarnos en usar:

  • Un Navegador Web , el que sea, de su elección (a ser posible moderno)
  • Un editor de texto plano, no un word, algo del estilo de TextEdit, UltraEdit, IAWriter, Coda, cualquier editor de texto puro y duro, incluso el NotePad de Windows sirve.

Evidentemente si alguno de vosotros tiene un editor de texto puro y duro mas avanzado, o que le guste utilizar , es libre de usarlo , incluso editores de texto de código fuente.

No voy a imponer ninguna barrera en este sentido, ya que creo que el mejor medio de enseñar la base sin complicar la vida a nadie, con entorno ni otras cuestiones es usar una mínima base de HTML sobre la cual podamos ejecutar Javascript y utilizarndo nuestro navegador, para aprender los fundamentos de la programación.

Así pues los materiales a utilizar son tan sencillos como un editor de texto y un navegador.

En principio esto está muy pensado para hacerlo en un ordenador, pero no veo la razon por la cual no podamos usar un editor de texto sobre una carpeta de Dropbox y abrir los ficheros con Safari (u otro navegador web).

Así que cada cual puede crearse su entorno de una forma muy sencilla, porque todo lo que haremos seran ficheros de texto y ejecución en un navegador. Todo muy sencillo, muy limpio y accesible de tal manera que cada cual puede elegir el entorno que tenga accesbilizado o de uso diario si no utiliza herramientas de accesibilidad.

Aquellos de vosotros que nunca han utilizado una herramienta de apoyo, que nunca ha utilizado VoiceOver y que nunca ha utilizado nada relativo a herramientas que suplen discapacidades sensoriales, les insto a que vayan investigando sobre la materia.

Que es un lector de pantalla, si usan ios VoiceOver … o Mac, si usan Windows puede ser Jaws o les recomiendo mejor NVDA que es software libre, en el caso de Linux hay otros lectores (Orca por ejemplo), pero investiguen un poquito sobre lo que supone utilizar un ordenador a ciegas, porque muchos de los aspectos que vamos a tratar en este curso tienen que ver con hacer las cosas sin ver la pantalla, independientemente de que luego podamos usar los ojos.

Accesibilidad Universal

No quiero decir que aquellos de vosotros que veais no utiliceis los ojos, pero si quiero que aquellos que no ven se aproximen un poquito a lo que supone ver y que aquellos que ven se acerquen un poquito a lo que supone no hacerlo.

Yo estoy a medio camino , no me considero maestro ni de un lado ni del otro , sencillamente hare lo que pueda para que, entre todos, avancemos en el camino.

No obstante si intento integrar estas ideas, no, los videntes tienen la culpa de ver, ni los ciegos de no ver. Esta es una barrera que hemos de romper y encontrarnos en el centro.

Los que no ven pondiendose en el lugar y tratando de comprender los conceptos como los que ven para , eventualmente, poder llegar a diseñar a ciegas, que sera el tercer curso que avanzare en un futuro, una vez termine de aprender lo necesario para comenzar a contarlo.

Por otra parte para sentar las bases comunes que compartimos todos los que participamos en este proyecto y de este modo llegar al compromiso de la accesibilidad universal, un solo interfaz, que se adapte no solo al dispositivo, como trata el concepto de “Responsive” sino a la persona que tiene delante.

Llamemoslo “accesibilidad universal” hasta que acuñemos un termino mas apropiado, o incluyamoslo directamnete dentro del concepto de responsive.

Para mi “Responsive” deberia significar adaptarse al dispositivo, al mensaje y al receptor, incluso al emisor si este está implicado en el proceso de interacción.

Pero bueno, esto son conceptos mas filosoficos que quiza trataremos mas adelante, aqui y ahora vamos a centrarnos en programar y hacer que el navegador, a través de Javascript, realice ejercicios por nosotros y adquirir una base suficiente de programación que nos permita lograr que la maquina haga por nosotros aquello que le pedimos.

Vamos a comenzar por el principio, que es programar, pero nunca perdamos de vista, y no perdamos la perspectiva de que el objetivo a largo plazo no es solo programar, no es solo hacerlo sin depender de nuestra vista, de nuestro oido, de nuestro olfato y de nuestro tacto, sino supliendo aquello que no tengamos y optimizando el metodo para hacerlo todo lo rapido que seamos capaces, y todo lo bien que podamos pero tomando siempre en consideracion el hecho de que es la maquina la que debe adaptarse a la persona y no alreves.

Sentando las Bases

Lo dicho, esto ha sido el primer capitulo del Curso de Programacion introductorio en el que pretendo sentar ciertas bases filosoficas en torno al proyecto y quiero hacer constar aqui que, aunque tengo amplia experiencia en programacion, ()llevo haciendolo desde los 8 años y profesionalmente desde los 22) esto no quiere decir que yo sea el mejor programador del mundo ni lo que yo diga vaya a misa.

Lo que yo proporcione aqui sera mi punto de vista, lo mejor que haya encontrado, la forma que perciba mejor de explicarlo, pero en cualquier caso busco que todos los que participemos en el proyecto interactuemos a fin de llevar a cabo el objetivo de formar a mas programadores sensibilizados con la accesibilidad de serie y que tomen en cuenta estos conceptos de que no solo se trata de discapacidad, sino de las capacidades de las personas mayores y de las diferentes capacidades y formas de entender el mundo de diferentes personas.

¿Porque?

Por que a dia de hoy acabamos de aterrizar en dispositivos, incluido Android que cada vez mas nos proveen de herramientas de accesibilidad más básicas ya includas mas o menos, si el proveedor no las destruye, ios ya viene muy accesibilizado aun con sus fallos, inclusve en Windows a traves de NVDA se puede montar un sistema accesible con una inversion economica razonable … pero.

Pero, aunque estamos entendiendo muy bien que hemos de crear interfaces que respondan perfectamente al dispositivo del usuario, todavia no hemos comprendido que el objetivo final de nuestro interfaz de usuario es que la persona que hay detras de ese dispositivo sea capaz de manejarlo de la forma más optima respecto de sus capacidades y de su forma de entender el mundo.

Y esto es lo que vamos a trabajar aqui, o lo que pretendo trabajar aqui no solo la programación, sino el pensar mas alla a la hora de hacer las cosas.

Este curso funciona en consonancia … o en paralelo, con el curso de HTML. Os recomiendo seguir ambos.


Parte del proceso, nunca parche del producto

dibujo de una partitura usando diversos colores y un grado de difuminado amplio representando las dificultades sensoriales de la discapacidad que no impide, no obstante percibir la belleza del mundo

 

Parece algo de perogrullo, y sin embargi es algo que a las organizaciones les cuesta integrar en su estructura, en su día a dia. La accesibilidad es parte del proceso, no un parche final para que no se quejen “esos raros de la discapacidad”.

Pero no todo esta perdido, en una pequeña aldea de la Galia … bueno, en este caso en una gran area metropolitana … un grupo de valientes (y expertos con cabeza) han diseñado y publicado el BS 8878:2010 un documento que articula, define y establece la metodología empresarial a emprender en torno a la accesibilidad para hacer las cosas bien.

Y como veran al leerlo, no es nada peregrino, puro sentido común y responsabilidad empresarial de cara a mantener la rentabilidad al tiempo que se hacen las cosas coo es debido, y no a golpe de demanda o de protesta callejera.

Cuanto nos queda por aprender en este país, España, cuna de los monopolios inmovilizas y de empresarios del “por mis cojones”


Potencia tu Mac

dibujo reinterpret ands el logo de 1Password

 

Un sistema Mac, ya de serie nos provee un gran numero de opciones y de funcionalidad resueltas, que facilitan nuestro día a día. Sin embargo, y a pesar de los esfuerzos de Apple, no cubre todo, ni creo que sea la intención.

Una de las grandes virtudes de este ecosistema es el de obligar al mundo a caminar hacia delante, creando una base firme y estándar cada vez mas potente sobre la que articular las ideas y proyectos de aquellos desarrolladores independientes que deseen empujar la evolución en la dirección correcta.

Al tiempo, Apple vigila y estandariza todo lo posible, evitando que el mundo del desarrollo quede estancado en las mismas cuatro cosas de siempre, obligando a una evolución continua en una dirección concreta, como comentaba en el ultimo Skynet Tenia Razón.

En mi lista de Apps imprescindibles están Hazel, Dropbox, Text Expander, Coda 2, Vlc , Mou … y muchas otras. Unas necesidades muy especificas. Un conjunto de herramientas mas generalista y enfocado mediante argumentos lo podéis encontrar en este articulo que hace precisamente esto, indicarnos una serie de aplicaciones imprescindibles desde la que comenzar a articular nuestro propio sistema MacOS extendido y potenciado.