Qué necesitas instalar para programar en C en Windows

Tengo que impartir un curso de introducción a la programación, utilizando el lenguaje C, dentro de unos días. ¡Bien!. Ya hacía años que no podía disfrutar con un curso así, en el que puedes enseñar los fundamentos a un grupo de personas, y ves cómo aprenden desde el principio y cómo van evolucionando. Encima, para mayor regocijo del docente, el lenguaje elegido es C. Siempre he considerado C como mi lenguaje totem, el hogar a la que volver, con el que me siento más a gusto. En los 90 programé bastante en C y C++. Pero a finales de la década, llegaron primero Visual Basic y luego Java, y no volví a programar en C. Hasta que el año pasado empecé a aprender Cocoa y Objective C para hacer Apps en Apple iOS. Y me ilusioné al descubrir que Objective C es un superconjunto estricto de C, es decir, que tiene todo lo que tiene C, y más cosas.

Así que el curso pinta bien. Si lo pudiera impartir en Linux, ya sería la repera (porque en Mac ni me lo planteo: las empresas cárnicas aún no lo usan). Pero todo no puede ser perfecto. El cliente quiere Windows. Bueno, sin problemas, yo no soy anti-nada. Windows 7, como ya he comentado antes, me parece un buen S.O. No es mi elección para el día a día, porque me siento más cómodo en UNIX (Mac en este caso), pero la última versión es una buena elección para sus usuarios. El problema entonces era encontrar un compilador y entorno integrado que fuese cómodo para programar y que ya conociese. Y si fuera Software Libre, perfecto.

Con estos requisitos, Visual Studio queda fuera. Cierto, llevas el IDE y el compilador integrados de una vez, pero no lo he usado nunca. Y aunque ahora es gratis la versión exprés (o podría usar una de prueba para el curso) no me apetecía pelearme con otro IDE. Netbeans cumple casi todo, pero no lleva integrado el compilador. Ni Eclipse, pero ya que conozco razonablemente Eclipse tras todo el tiempo que le he dedicado impartiendo cursos de Java y preparando certificaciones, me parecía la mejor opción. Así que vamos con la instalación de Eclipse para programar en C en Windows.

Instalar el compilador de C

Lo primero que hay que tener claro es que Eclipse sólo es un Entorno Integrado de Desarrollo. Un IDE. Un editor potente, un programa para organizar tus proyectos de software y no pelearte con ficheros sueltos en una carpeta, un sitio donde ver los errores de compilación y leer la ayuda. Un aglutinador de herramientas. Pero no es un compilador. No lo incluye. E igual que cuando preparas un Elcipse para programar en Java hay que instalar previamente el JDK, que incluye el compilador de Java, aquí hay que instalar el compilador de C.

Buscando uno libre y moderno (el último compilador de C que usé en S.O. Microsoft fue el djgpp sobre MSDOS), di con MinGW, Minimalist GNU for Windows, un conjunto de herramientas GNU (las mismas que se encuentran en GNU/Linux) pero compiladas para Windows. ¡Perfecto!. Instalando esto ya tengo GCC (el compilador de C en Linux y Mac de toda la vida), make y el resto de herramientas de desarrollo desde la linea de comandos. Instalarlo es descargar el ejecutable y pulsar en Siguiente, Siguiente hasta el final. Ojo: instala MinGW en C:\MinGW para evitar problemas posteriores. Es el sitio que aparece por defecto al instalar, así que déjalo como esté.

Tras la instalación, y para que Eclipse pueda encontrarlo, tendremos que añadir la carpeta con los ejecutables de MinGW al PATH del sistema (instrucciones en Inglés, o bien sigues leyendo). Para poder usar cualquier programa en Windows tenemos dos opciones: o bien vamos a la carpeta donde está el programa y lo lanzamos desde ahí, o incluímos la carpeta en la variable PATH del sistema de forma que cada vez que se necesite ejecutar ese programa Windows lo encuentre. Vamos a ello. Abrimos un explorador de Windows (Tecla Windows + E) y pulsamos con el botón derecho del ratón sobre Equipo.

Configuración del Sistema

Configuración del Sistema

Si pulsamos en «Configuración Avanzada del Sistema» nos aparecerá la ventana clásica de «Propiedades del Sistema» de XP. Si no está abierta, hacemos click sobre la pestaña «Opciones avanzadas» y veremos un botón abajo del todo que pone «Variables de entorno». Entrando, veremos dos tipos de variables: del Sistema y de nuestro usuarios. Las variables del Sistema tienen efecto para cualquier usuario que inicie sesión en esta máquina, mientras que las del usuario sólo nos afectan a nosotros mismos. Cuando añado algo al PATH, me gusta que sea a nivel del Sistema, así que buscamos PATH y doble click. En la ventana que se abre, debemos ir al final de la lista de directorios, añadir un punto y coma y la carpeta donde está MinGW.

Configurando PATH

Configurando PATH

Mi PATH queda algo como:
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;...;C:\MinGW\bin

La prueba definitiva de que todo está OK es abrir un intérprete de comandos de Windows, pulsando la Tecla Windows + R y escribiendo «cmd» en el diálogo que aparece. Si escribimos gcc -v y nos aparece información sobre nuestra versión instalada del compilador de C GCC, felicidades. Ya podemos compilar.

MinGW funciona!

MinGW funciona!

Instalar un entorno JRE de Java

Eclipse es un programa que está escrito en Java. Luego para poder ejecutarlo necesitamos instalar en nuestro Windows el JRE (Java Runtime Environment). Una vez que lo tengamos, podremos ejecutar cualquier programa Java, así como Applets en el navegador. Probablemente ya lo tengas instalado (puedes ver si tienes en Archivos de Programa una carpeta llamada Java) pero si tienes dudas, instálate el último JRE de la página de Sun (ahora Oracle). Para comprobarlo, desde una terminal, escribe java -version.

Instalar Eclipse CDT

Siguente paso: descargar Eclipse. Para ello, buscaremos la versión correcta, ya que Eclipse es un IDE que sirve para todo. Con Eclipse podemos programar en C, C++, Java, PHP, … casi en cualquier cosa. Por ello, hay paquetes ya precreados con un Eclipse totalmente configurado para un uso determinado. El que nos hace falta en este caso es el Eclipse CDT

Descargamos el fichero (tardará un rato, pesa unos cuantos MB) y una vez lo tengamos, lo movemos a la carpeta que queramos. Aunque Eclipse sea un programa no se «instala» en Archivos de Programa, aunque podemos moverlo ahí. Realmente se descomprime, se abre, se pulsa sobre el icono de Eclipse y listo.

Si todo ha ido bien, podremos crear un nuevo proyecto C, añadir un fichero y compilar sin problemas. Pero esto va a ser material para otro post.

j j j

Vídeo de mi intervención en eTic

Pues aquí está el vídeo de mi intervención en el encuentro eTic 2010: Mobile Development y que se titula: «Crea ¡ya! tu equipo de trabajo para Apple iOS»

En la intervención hablo de todo lo necesario para crear o reconvertir un equipo de programadores y que escriban apps para iOS. Está grabado con mi cámara y la calidad no es profesional (gracias, Walter!), pero al menos así está a la altura del contenido 🙂

Crea ¡ya! tu equipo de desarrollo en iOS from Diego Freniche on Vimeo.

La presentación que utilicé está en Google Docs

La cobertura de los medios del evento:

En el vídeo podéis verme con la camiseta que me preparé de Fanboy gracias a los Macniacos

j j j

Controlar una presentación de KeyNote con tu iPhone

Controlar una presentación de KeyNote con tu iPhone
Estoy asistiendo a un curso de Presentaciones Eficaces que me está gustando bastante. Aunque tengo a mis espaldas muchos cursos (literalmente muchas miles de horas de formación, no de vuelo) siempre es bueno seguir aprendiendo y revisar hasta lo que uno cree que hace bien. O mejor debería decir que es imprescindible revisar precisamente lo que se piensa que es una fortaleza. Ya conocéis el dicho: «dime de qué presumes…».
El caso es que a mi me gusta aprender. Tanto cosas técnicas como habilidades personales. Suelo estar dispuesto a escuchar a aquel que pienso  que merece la pena escucharle. El problema suele ser convencerme. A medida que se cumplen años se tiende a pensar que «ésto ya lo he visto», etc. Y con el curso el profesor lo ha conseguido. Valentín nos ha enganchado con su hablar suave, su dominio del escenario, el contenido adecuado del curso. Vamos, con su saber hacer. Y nos ha puesto deberes.
Concretamente debemos presentar frente a la clase un proyecto para convencer a un jurado de que nos escoja. Apoyados por una presentación multimedia. Y es aquí donde me ha surgido la necesidad. Hasta ahora he utilizado para las presentaciones PowerPoint e Impress (de la suite OpenOffice.org). PP me parece demasiado complicado de usar en ocasiones, aunque con buenos resultados. E Impress da buenos resultados para una guardería, pero se aleja del toque pulido y postindustrial de las Keynotes de Apple. Así que la opción que me quedaba era Keynote, de Apple. Lo estoy usando desde hace poco, pero creo que han dado en el clavo. De manera sencilla tienes acceso a las principales funciones y los diseños predeterminados, así como las transiciones y animaciones de las diapositivas tienen «ese toque» Apple. Vamos, que voy a usarlo para esta presentación.
Hablamos de una presentación. Luego necesitamos más cosas. Una son las diapositivas / slides que aparezcan como apoyo a mi discurso. Esto ya lo tenemos. Otra es el discurso en sí y mi actuación frente al público. De eso me encargo yo. Me queda un detalle: el iPhone. Quiero decir, el control remoto de la presentación multimedia. Cuando hablas frente a un auditorio puedes quedarte clavado en un sitio, tras un atril, parapetado en una mesa, o bien usar el entorno y dominar el escenario de forma que apoye a tu discurso. A mi lo que me gusta es esto último. En mis cursos rompo muchas veces la distancia con mis alumnos, paseando por el aula, sentándome en la mesa, en una silla al lado de alguno, etc. Y para hacer todas estas cosas con estilo se precisa de un cacharro que permita ir pasando las diapositivas a medida que uno habla.
El truco en sí
Para controlar la presentación necesitamos:
un Mac donde pondremos la presentación de KeyNote. En mi caso es mi querido MacBook Pro.
un proyector (lo pone el profesor)
un iPhone para controlar KeyNote de forma remota
una aplicación para el iPhone, concretamente Mocha VNC Lite, que encima es gratis
Los pasos a dar son:
1. crea tu presentación con KeyNote y tenla a mano. Sí, esto puede parecerte una chorrada, pero eres tú el que ha pedido un paso a paso.
2. activa el acceso remoto al escrito de tu Mac, AKA VNC, mediante Preferencias del Sistema -> Compartir -> Compartir escritorio
Una vez tengamos instalada la aplicación en el iPhone, bajada desde el AppStore, necesitaremos controlar la pantalla del Mac desde el iPhone. Para eso, Mocha VNC Lite nos permite introducir la dirección IP de nuestro Mac y ¡listo!. Pero claro, estamos suponiendo que hay un punto de acceso WiFi al que nos hemos podido conectar, tanto con nuestro Mac como con el iPhone, y que ambos están en la misma subred (sus direcciones IP son similares, por ejemplo son 192.168.1.10 la del Mac y 192.168.1.15 la del iPhone).
pondremos a ejecutarse la presentación en el ordenador. Se quedarátendremos que conseguir que veamos en la pantalla del

He asistido a un curso de Presentaciones Eficaces que me ha gustado bastante. Aunque tengo a mis espaldas muchos cursos (literalmente muchas miles de horas de formación, que no de vuelo) siempre es bueno seguir aprendiendo y revisar hasta lo que uno se cree que hace bien. O mejor debería decir que es imprescindible revisar precisamente lo que se piensa que es una fortaleza. Ya conocéis el dicho: «dime de qué presumes…».

El caso es que a mi me gusta aprender. Tanto cosas técnicas como habilidades personales. Suelo estar dispuesto a escuchar a aquel que pienso  que merece la pena escucharle. El problema suele ser convencerme. A medida que se cumplen años se tiende a pensar que «ésto ya lo he visto», etc. Y con el curso el profesor lo ha conseguido. Valentín nos ha enganchado con su hablar suave, su dominio del escenario, el contenido adecuado del curso. Vamos, con su saber hacer. Y nos ha puesto deberes.

Concretamente debemos presentar frente a la clase un proyecto para convencer a un jurado de que nos escoja. Apoyados por una presentación multimedia. Y es aquí donde me ha surgido la necesidad. Hasta ahora he utilizado para las presentaciones PowerPoint e Impress (de la suite OpenOffice.org). PowerPoint me parece demasiado complicado de usar (en ocasiones), aunque con buenos resultados. No le he dedicado el tiempo necesario, creo. E Impress da buenos resultados para una guardería, pero se aleja del toque pulido y postindustrial de las Keynotes de Apple. Así que la opción que me quedaba era Keynote, de Apple. Lo estoy usando desde hace poco, pero creo que han dado en el clavo. De manera sencilla tienes acceso a las principales funciones y los diseños predeterminados, así como las transiciones y animaciones de las diapositivas tienen «ese toque» Apple. Vamos, que voy a usarlo para esta presentación.

Hablamos de una presentación. Luego necesitamos más cosas:

  • Una son las diapositivas / slides que aparezcan como apoyo a mi discurso. Esto ya lo tenemos. No confundamos nunca una presentación con un PowerPoint. Si no, llegamos rápidamente a la muerte por PowerPoint.
  • Otra es el discurso en sí y mi actuación frente al público. De eso me encargo yo.
  • Me queda un detalle: el iPhone. Quiero decir, el control remoto de la presentación multimedia.

Cuando hablas frente a un auditorio puedes quedarte clavado en un sitio, tras un atril, parapetado en una mesa, o bien usar el entorno y dominar el escenario de forma que apoye a tu discurso. A mi lo que me gusta es esto último. En mis cursos rompo muchas veces la distancia con mis alumnos, paseando por el aula, sentándome en la mesa, en una silla al lado de alguno, etc. Y para hacer todas estas cosas con estilo se precisa de un cacharro que permita ir pasando las diapositivas a medida que uno habla.

El truco en sí: controlar la presentación con el iPhone

Para controlar la presentación necesitamos:

  • un Mac donde pondremos la presentación de KeyNote. En mi caso es mi querido MacBook Pro. Si no tienes un Mac, puedes hacer lo mismo con OO.org y Windows, o con Office y Windows. Es una pena, pero esta vez no hay truco para Linux 🙁
  • un proyector (lo pone el profesor)
  • un iPhone para controlar KeyNote de forma remota
  • una aplicación para el iPhone, concretamente Logitech Air Mouse que encima es gratis
  • la parte servidora de la App de iPhone, el Logitech Touch Mouse Server

Los pasos a dar son:

  1. crea tu presentación con KeyNote y tenla a mano. Sí, esto puede parecerte una chorrada, pero eres tú el que ha pedido un paso a paso. Pon un enlace en el escritorio.
  2. instala la aplicación Logitech Air Mouse en el iPhone.
  3. descarga el Logitech Touch Mouse Server para Mac. Es una imagen de disco (fichero DMG). No hace falta ni instalarla: haces doble click, se abre, arrancas el programa servidor y a esperar conexión del iPhone.
  4. necesitamos conectar con el Mac desde el iPhone. Para ello, hay que activar la WiFi en el iPhone (y en el Mac, claro)
  5. arrancamos la App en el iPhone. Una vez que nos aparece el Mac en la lista de servidores nos conectamos. Ya podemos mover el ratón por la pantalla del Mac tocando la pantalla del iPhone. Y hacer click. Y encima, como el iPhone es multitouch, tenemos los gestos de los Trackpads Mac en el iPhone.
  6. Arrancamos la presentación y listo: click izquierdo avanza y click derecho retrocede. ¡Misión cumplida!

Y por si no ha quedado suficientemente claro, aquí os pongo un vídeo que muestra cómo manejar el portátil con el Logitech Air Mouse.  La noticia original la vi en el Blog oficial de Logitech.

j j j

De curso por Madrid (I)

Escribo esto justo antes de irme a la cama, en el hotel en el que estoy parando en Madrid. Las conexiones 3G son una maravilla y nos han cambiado la idea de lo que es estar conectado. En el AVE he venido conectado sin interrupciones desde Sevilla, trabajando, respondiendo correos, cerrando incidentes con el otrs… Algo impensable hace bien poco. Y encima, en el hotel, me permite conectarme y hacerle un corte de mangas a la conexión esta que cobran a precio de oro. ¿Dos Euros por una hora de conexión, a través de una Wifi no segura?. No, aún no estamos locos, no.

Estoy en Madrid para asistir a un curso de IDC sobre consolidación de CPDs mediante virtualización. Pinta bien. Y vengo de otro curso sobre cableado estructural esta tarde, en Sevilla, cortesía de Ortronics. He decidido unir todo lo relativo a formarme sobre CPDs en un par de días o tres, lo que me permite enfocarme sobre los problemas y las posibles soluciones del CPD del que soy responsable en Isotrol. Así que ahora estoy «en modo CPD». Es otra manera de ser más productivo, como no para de machacar Berto en su blog, Thinkwasabi, que recomiendo para todos aquellos que les guste el trabajo bien hecho. Ese blog es una gozada de leer.

La Gran Vía Madrileña

Estoy en el hotel Tryp Cibeles. La entrada, en la calle Mesonero Romanos (a un lado de la Gran Vía), no inspira demasiada confianza. Al llegar, hay un vigilante y dos ascensores. Das el santo y seña y te dejan subir. Parece un poco la oficina del Superagente 86. Pero luego la habitación que me han dado está genial. Con tres camas, enorme. Y lo mejor de todo: con un balcón sobre la Gran Vía. Sin quejas del hotel, todo lo contrario.

Me he ido a dar una vuelta por Madrid, paseando. No se qué me pasa cuando vengo, pero tengo que ir a ver la Puerta de Alcalá. Igual, en aquella canción de los 80 grabaron algún tipo de orden subsconciente, pero es que no puedo evitarlo. Y ya me he paseado por los sitios típicos. Hablando de cosas típicas, si vengo a Madrid y no me como una bravas es como si no hubiera venido. Y he querido inmortalizar el momento 🙂

Papas Bravas

Para ser de noche, y estar usando la vituperada cámara del iPhone, tampoco están mal estas fotos. ¡Tengo pulso para robar panderetas!

Bueno, mañana la parte interesante del curso. A ver qué vemos que se pueda emplear para mejorar los servicios de TI de Isotrol. Buenas noches.

j j j

Feria de Nuevas Tecnologías en Melilla

Desde hoy Miércoles 23 estamos por Melilla. Hasta el próximo Domingo 27, en el que me montaré en el avión de vuelta a Málaga. Y después de una semana (la pasada) con un intensísimo curso de Incyde en Sanlúcar la Mayor (Sevilla), por cierto, con unos alumnos majísimos (saludos a todos/as).

Ahora tocan talleres en directo. Estos talleres son de Linux, OpenOffice.org y OpenCMS. Como siempre, los voy a dar «a la carta». Creo que hay pocos profesores que impartan cursos sin papeles y adaptándose siempre a lo que pide el alumno. Aunque así debería ser: enseñar a cada persona lo que realmente necesita y no lo que el profesor conozca mejor. Evidentemente, esta filosofía implica un mayor desgaste para quien imparte el curso, pero…

En Melilla acaban de sacar una nueva distro de Linux, basada en SuSe, llamada Melinux (no confundir con otra distro, esta de Oriente Medio, llamada Middle East Linux). Está aún en fase de desarrollo, pero es otro ejemplo más del empuje del Software Libre.

j j j

Cursos de Linux/Guadalinex

Estoy ahora a toda máquina con la formación en Linux / Guadalinex. Estuve hace poco en un curso en Jaén, la semana pasada en otro curso en Mairena, en Enero tengo otro en Sevilla…

Como ya comenté en la sección de Trabajo, formar es algo que me encanta, ya que se reunen varias facetas que no se me dan mal del todo y que me atraen mucho: conocimiento de nuevas tecnologías en profundidad, trato directo con el cliente (en este caso alumnos), desarrollo de mis habilidades sociales (oratoria, comunicación corporal, escrita).

Tendría que escribir un libro con «trucos» sobre cómo ser buen profesor, aunque pienso que se reducen a:

  1. Conocer en profundidad la materia que se imparte. Sólo puede explicar bien algo quien de verdad lo domina.
  2. Haber nacido para esto. Por muchos cursos de Formador de Formadores que se meta uno «entre pecho y espalda», si te da vergüenza hablar en público, es complicado dar un curso.

Los que quieran un curso a medida, que se pongan en contacto conmigo. Actualmente trabajo a través de una empresa de formación, que es mi «representante artístico». En cualquier caso, por hablar no se pierde nada…

j j j

Trabajo, trabajo y más trabajo

Estamos ahora con la CPU al 110%. Hoy Domingo estoy tonteando un poco ya que estoy de «rodriguez». La semana pasada, tras el SIMO y sin anestesia me fui a Jaen a impartir un curso de administración de Guadalinex.

Una paliza, pero qué le vamos a hacer, me gusta enseñar. Me gustaría más vivir como Marlon Brando en una isla propia, pero como no hay posibles… Unos alumnos la mar de majos (no, no os estoy haciendo la pelota) y un curso quizá un poco precipitado, pero que saló bastante bien.

Y la semana que viene (horror, que ya empieza mañana) a Madrid. Ya os contaré

j j j