Category Archives: Opinión

IMG_20170113_000211

Intel Joule 570x Developer Kit

13 Ene , 2017,
Jose Nunez
,
No Comments

IMG_20170113_000514Finalmente llegó el momento de evaluar el Intel Joule. Una plataforma de amplio poder computacional y de un tamaño sumamente reducido.

Tal y como se menciona en su sitio de arranque (getting started with Intel Joule), se trata de un módulo de alto desempeño tanto en poder de computación como en procesamiento de gráficos y memoria. Está orientado a la innovación en aplicaciones de visión computarizada, robótica, drones y otras aplicaciones de alta capacidad de cómputo.

En nuestro caso, estaremos probando el kit de desarrollo Joule 570X cuyas principales características incluyen:

  • Procesador Intel Atom de cuatro núcleos a 1.7 GHz (base) hasta 2.4GHz en modo turbo. (Dos hilos por núcleo)
  • Plataforma de direccionamiento de 64bit
  • Procesador gráfico Intel de alta definición HDMI 1.4b a 450MHz (base) hasta 650MHz (modo turbo)
    • Puerto Micro-HDMI
  • Memoria RAM de 4GB con velocidad de 25.6GB/s
  • Almacenamiento de 16GB en Flash eMMC
  • Puertos USB 3.0
  • 3.5 Puertos UART
  • Conectividad WiFi y Bluetooth
  • 8 líneas dedicadas de entrada/salida de propósito general (GPIO) + 48 pines re-mapeables
  • 4 Puertos PWM
  • 1 Puerto SDIO para tarjeta SD
  • Reloj de Tiempo Real (RTC)
  • Alimentación de 12V 3A (fuente no incuida en el kit de desarrollo)
    • La documentación sugiere rango de operación de 4V a 20v *
  • Sistemas Operativos Sugeridos: Linux de referencia, Ubuntu IoT, Windows IoT
  • 7 Interfaces I2C en modo MASTER
  • Optimizado para interactuar con cámaras 3D tecnología Real Sense

Comparativamente se puede analizar el Intel Joule en contraste con el Intel Edison donde se destacan las siguientes diferencias:

  1. Más de 6X adicionales de poder de procesamiento: El Edison tiene un procesador que corre a 500MHz en contraste con 1.7GHz del Joule
  2. 4X más de memoria RAM: El Edison tiene RAM de 1GB DDR3 mientras que el Joule cuenta con 4GB LPDDR4
  3. 4X más de capacidad de de almacenamiento: El Edison provee 4GB de capacidad de almacenamiento, mientras el Joule provee 16GB ambos en tecnología eMMC Flash
  4. WiFi Mejorado: El Edison incluye conectividad WiFi para bandas de 2.4 y 5 GHz, mientras que el Joule incluye WiFi 802.11ac con MIMO.
  5. Capacidad de Video: El Intel Joule incluye controlador de video y salida de video Intel HD, mientras que el Edison no tiene salida de video integrada.
  6. Dimensiones: El Intel Joule mide 48X24x3.5mm ligeramente más grande que el Edison que mide 35.5x25x2.9mm
  7. GPIO: Más de 4X en puertos GPIO disponibles.

En nuestra próxima entrega estaremos compartndo nuestras pruebas prácticas sobre el Intel Joule.

Cabe mencionar que en nuestra prueba inicial (boot up) usamos una fuente de poder de 12V 1A. Tratamos con una de 5V 2A, pero no fue suficiente

IMG_20160315_120952~3

Guía para el ProfesionaI de T.I. de una PYME

27 May , 2016,
Jose Nunez
No Comments

En no pocas ocasiones, las PYMEs enfrentan el reto de asegurar la adecuada operación de sus tecnologías de información mediante modelos de servicios que en lugar de mantener un departamento de Tecnologías de Información o de Tercerizar los servicios, tiene más sentido contratar un solo profesional para administrar esta importante área y a la vez tercerizar algunos aspectos como la creación y modificación de los sistemas empresariales.

En esta guía rápida se discute los diferentes aspectos en los que el profesional de informática de una PYME puede enfocarse para asegurar la operación adecuada y contínua de dichas tecnologías.

  1. Portafolio de Servicios (Internos y Tercerizados)
  2. Continuidad de los Servicios
  3. Seguridad de la Información
  4. Inventario de Redes y Equipos
  5. Perfiles de Configuración
  6. Inventario de Software y Licencias
  7. Registro, Programación y Seguimiento de Incidentes y Solicitudes de Servicio

1. Portafolio de Servicios Internos y Tercerizados

Un primer aspecto que el profesional de T.I. de una PYME debe administrar es conocer los servicios de tecnologías de información y comunicaciones que se brindan, cuales son internos y cuales proveidos por un tercero.

No se trata de una lista de servicios (email, povisión de PC’s, servicio de Internet…) sino un perfil que incluya datos como principales contactos, costos esperados de operación y de mantenimiento tanto preventivo como correctivo, principales oferentes del servicio tercerizado, tiempos esperados de respuesta, procesos de recuperación de desastres, respaldos, etc. A su vez es importante definir el valor de negocio de cada servicio y el tiempo máximo que puede operar la empresa sin ese servicio, así como las medidas alternas en caso de ausencia del servicio. Por ejemplo: ¿Qué sucede si falla el servicio de correo electrónico? ¿cuanto tiempo puede mantenerse la empresa operando sin dicho servicio? ¿hay medidas alternas que se puedan tomar para paliar la falta de dicho servicio?

2. Continuidad de los Servicios

Una vez identificados los servicios que definen las tecnologías de información, es importante definir las actividades que aseguran el correcto funcionamiento de los servicios en el tiempo. Por ejemplo, ¿se cuenta con PC’s de contingencia para cuando se daña la PC de uno de los vendedores? ¿Existe respaldo de los datos de los usuarios? ¿Qué tan rápido se puede disponer de esos datos en caso de pérdida del medio de almacenamiento principal?

3. Seguridad de la Información

Este es un aspecto medular para toda organización que haga uso de las tecnologías de información. No se trata simplemente de “tener el antivirus actualizado”; se trata de asegurar que se tomen medidas razaonables y efectivas para resguardar la integridad, la confidencialidad y privacidad y la disponibilidad tanto de datos y servicios relacionados conm las tecnologías de información; contra el acceso por parte de personas no autorizadas.

De nuevo, no se trata de instalar el antivirus más reciente. Involucra el aseguramiento físico de los servidores, la configuración adecuada de puertos de red en los computadores, el desecho adecuado de documentos confidenciales que, de ser desechados en la basura ordinaria ponen en riesgo la seguridad de la información de la empresa.

Tambien involucra este aspecto un adecuado manejo de las identidades de usuario, de las políticas referentes a contraseñas que conllevan la responsabilidad de que las actividades registradas en un sistema informático por un usuario determinado hacen a este usuario responsable de dichas actividades.

4. Inventario de Redes y Equipos

Este es otro aspecto fundamental de la administración de tecnologías de información. Conocer los equipos que brindan servicio a la organización, no solo PC’s sino tambien teléfonos móviles, servidores, enrutadores, centrales telefónicas. Esto también incluye conocer el estado de los equipos, sus características, su historial de reparaciones e historial de cambios, etc.

5. Perfiles de Configuración

Un aspecto que frecuentemente se deja de lado es la administración de la configuración de los equipos. Es decir, poder contar con perfiles que nos permitan entender cómo se configura de manera efectiva tal o cual equipo. Por ejemplo, es importante mantener un registro de cómo está configurado el enrutador de red; y encaso de que sea necesario reemplazarlo, poder entender cómo configurar el reemplazo para que se desempeñe de manera correcta. Esto aplica tambien para las PC’s, tener un registro del punto de partida de la configuración de las PC’s, qué software deben tener instalado, y qué software no; cual es el desempeño esperado en determinadas actividades, etc.

6. Inventario de Software y Licencias

Es imprescindible tener un inventario de Licencias de Software, y de paquetes instalados de manera oficial en cada PC de la organización; de nuevo, no solo a razón de confeccionar una lista, sino de entender el costo a través del tiempo, de entender la obsolescencia de los paquetes, contratos de licenciamiento, qué sucede si se reemplaza una PC, la licencia se mantiene en la nueva PC (lo cual es poco frecuente) o es necesario pagar una licencia nueva.

7. Registro, Programación y Seguimiento de Incidentes y Solicitudes de Servicio

Finalmente, pero no por ello de menor importancia está el seguimiento, programación y registro de incidentes y solicitudes de servicio. Cuando se contrata un servicio tercerizado por ejemplo, el profesional de T.I. es la persona que está en mejor capacidad de entender de qué se trató el servicio, qué costos adicionales involucra y si el servicio se entregó a cabalidad con las expectativas; si se cuenta con una garantía y en qué consiste esta garantía.

Este aspecto también involucra el seguimiento de las necesidades de servicio de los usuarios. Desde “necesito que me instalen Office en mi nueva PC” hasta “no puedo usar la impresora”.


Esperamos que este artículo les sea de utilidad. En una próxima entrega estaremos discutiendo sobre técnicas prácticas para proveer una administración adecuada a cada uno de estos aspectos.

IMG_20160524_204326

El Nuevo ARDUINO MKR1000 es una belleza

25 May , 2016,
Jose Nunez
No Comments

Hoy probamos por un rato el Arduino MKR1000 (GENUINO MKR1000 que es lo mismo)

Se trata de uno de los productos más recientes de la familia ARDUINO, un microcontrolador que incorpora conectividad WiFi y encripción por hardware, lo cual le permite conectarse al Internet usando protocolo HTTPS; que – en mi opinión – lo ubica por encima del afamado Sparkfun Thing ESP8266.

Pueden ver las especificaciones de este dispositivo acá: https://www.arduino.cc/en/Main/ArduinoMKR1000

Dentro de las funciones más destacadas podemos mencionar:

  • Microcontrolador de bajo consumo eléctrico de 32 bits.
  • Puerto de alimentación USB de 5V
  • Conector para batería LIPO de 3.7V, 700mAh
  • Voltaje de operación de 3.3V (! Importante… por que el voltaje aplicado a los puertos de GPIO no debe superar los 3.3V)
  • 8 (ocho) puertos de I/O Digitales de propósito general, que incluyen 4 (cuatro) pines PWM
  • 1 Puerto serial UART
  • 1 Puerto SPI
  • 1 Puerto I2C
  • 7 Entradas analógicas de 8/10/12 bits
  • 1 Salida Analógica (DAC de 10 bits)
  • 8 Puertos con capacidad de interrupción externa (0,1,4,5,6,7,8,A1,A2)
  • Capacidad de entregar 7mA de corriente en cada I/O Pin
  • Memoria no-volatil (FLASH) de 256KB
  • Memoria Volatil (SRAM) de 32KB
  • RTC de 32.768 KHz
  • 48MHz de Procesamiento
  • Puerto USB como cliente y embedded host
  • Comunicación WiFi
  • Chip de Encripción que permite la comunicación por protocolo SSL
  • Precio al momento de escribir este artículo: ~$35 (aca)
  • Utiliza la libreria Wifi101 disponible en la ultima version del ARDUINO IDE.

Lo primero que probamos – SSL

Por supuesto, la capacidad de conectarse a un servidor via HTTPS/SSL. Para esto utilizamos el tutorial titulado “Scheduled WiFi SSL Web Client“; solo que le realizamos algunas modificaciones para entender mejor el código… pueden encontrarse aca: enlace o ver listado 1 abajo.

Lo segundo que probamos – Access Point

Como ya dijimos, es compatible con la librería WiFi101; así que decidimos probar el ejemplo llamado “AP_SimpleWebSever” el cual implementa un Access Point, y un servidor web que escucha en la dirección IP 192.168.1.1 y sirve un par de enlaces que automáticamente encienden y apagan un LED. Ver Listado 2 abajo.

2016-05-24_2035

 

Listado 1 – SSL + MKR1000 + PVCLOUD TEST

/*
  Scheduled WiFi SSL Web Client for MKR1000

  This sketch connects to the Arduino website every minute and downloads the ASCII logo to display it on the serial monitor

  created 19 Jan 2016
  by Arturo Guadalupi <a.guadalupi@arduino.cc>

  http://arduino.cc/en/Tutorial/

  This code is in the public domain.

  Modified by Jose Nunez <jose.nunez@intel.com> 
  
*/

#include 
#include 
#include 

char ssid[] = "opodiym";      //  your network SSID (name)
char pass[] = "luaus7151";       // your network password

int keyIndex = 0;                  // your network key Index number (needed only for WEP)

int status = WL_IDLE_STATUS;

// Initialize the Wifi client library
WiFiSSLClient client;
 
// server address:
char server[] = "costaricamakers.com";

bool sendRequest = true; // used to understand if the http request must be sent

/* Create an rtc object */
RTCZero rtc;

/* Change these values to set the current initial time */
const byte seconds = 50;
const byte minutes = 00;
const byte hours = 17;

/* Change these values to set the current initial date */
const byte day = 24;
const byte month = 05;
const byte year = 16;

void setup() {
  delay(3000);
  Serial.begin(115200);
  serialOut("Begin...");

  serialOut("Connecting to Access Point...");
  connectToAP();    // connect the board to the access point
  
  serialOut("Printing WIFI Status...");
  printWifiStatus();

  serialOut("Making initial HTTP Request...");
  httpRequest();

  serialOut("Calling listenToClient()...");
  listenToClient();

  serialOut("Setting RTC Up...");
  rtc.begin();
  rtc.setTime(hours, minutes, seconds);
  rtc.setDate(day, month, year);

  rtc.setAlarmTime(0, 0, 0);    //in this way the request is sent every minute at 0 seconds
  rtc.enableAlarm(rtc.MATCH_SS);

  rtc.attachInterrupt(alarmMatch);

  serialOut("SETUP COMPLETE");
}
void loop() {
 
  if (sendRequest) {
    serialOut("sendRequest was TRUE");
    sendRequest = false;

    serialOut("Calling httpRequest()...");
    httpRequest();

    serialOut("Calling listenToClient()...");
    listenToClient();
  }
}

void printWifiStatus() {
  // print the SSID of the network you're attached to:
  Serial.print("SSID: ");
  Serial.println(WiFi.SSID());

  // print your WiFi shield's IP address:
  IPAddress ip = WiFi.localIP();
  Serial.print("IP Address: ");
  Serial.println(ip);

  // print the received signal strength:
  long rssi = WiFi.RSSI();
  Serial.print("signal strength (RSSI):");
  Serial.print(rssi);
  Serial.println(" dBm");
}

void alarmMatch() {
  sendRequest = true;
}

void connectToAP() {
  // check for the presence of the shield:
  if (WiFi.status() == WL_NO_SHIELD) {
    Serial.println("WiFi shield not present");
    // don't continue:
    while (true);
  }

  // attempt to connect to Wifi network:
  while ( status != WL_CONNECTED) {
    Serial.print("Attempting to connect to SSID: ");
    Serial.println(ssid);
    // Connect to WPA/WPA2 network. Change this line if using open or WEP network:
    status = WiFi.begin(ssid, pass);

    // wait 1 second for connection:
    delay(1000);
  }
}

// this method makes a HTTP connection to the server:
void httpRequest() {
  sendRequest = false;

  // Print request time
  Serial.println();
  Serial.print("Request sent @ ");
  print2digits(rtc.getHours());
  Serial.print(":");
  print2digits(rtc.getMinutes());
  Serial.print(":");
  print2digits(rtc.getSeconds());
  Serial.println();
  Serial.println();

  if (client.connect(server, 443)) {
    // Make a HTTP request:
    client.println("GET /pvcloud_test/mkr1000test.json HTTP/1.1");
    client.println("Host: costaricamakers.com");
    client.println("User-Agent: MKR1000/1.1");
    client.println("Connection: close");
    client.println();
  }
  else {
    Serial.println("connection failed");
  }
}

void listenToClient()
{
  unsigned long startTime = millis();
  bool received = false;

  while ((millis() - startTime < 5000) && !received) { //try to listen for 5 seconds
    while (client.available()) {
      received = true;
      char c = client.read();
      Serial.write(c);
    }
  }
  client.stop();
  Serial.println();
  serialOut("listenToClient() FINISHED");
}

void print2digits(int number) {
  if (number < 10) {
    Serial.print("0");
  }
  Serial.print(number);
}

void serialOut(String message){
  Serial.println("-------------------------------------------------------------------------------");
  Serial.print(millis());
  Serial.print(": ");
  Serial.println(message);
}

Listado 2 – AP_SimpleWebServer

/*
  WiFi Web Server LED Blink

  A simple web server that lets you blink an LED via the web.
  This sketch will create a new access point (with no password).
  It will then launch a new server and print out the IP address
  to the Serial monitor. From there, you can open that address in a web browser
  to turn on and off the LED on pin 13.

  If the IP address of your shield is yourAddress:
    http://yourAddress/H turns the LED on
    http://yourAddress/L turns it off

  created 25 Nov 2012
  by Tom Igoe
  adapted to WiFi AP by Adafruit
 */

#include <SPI.h>
#include <WiFi101.h>

int led =  LED_BUILTIN;

char ssid[] = "wifi101-network"; // created AP name
char pass[] = "luaus7151";      // AP password (needed only for WEP, must be exactly 10 or 26 characters in length)
int keyIndex = 0;                // your network key Index number (needed only for WEP)

int status = WL_IDLE_STATUS;
WiFiServer server(80);

void setup() {
  //Initialize serial and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }

  Serial.println("Access Point Web Server");

  pinMode(led, OUTPUT);      // set the LED pin mode

  // check for the presence of the shield:
  if (WiFi.status() == WL_NO_SHIELD) {
    Serial.println("WiFi shield not present");
    // don't continue
    while (true);
  }

  // print the network name (SSID);
  Serial.print("Creating access point named: ");
  Serial.println(ssid);

  // Create open network. Change this line if you want to create an WEP network:
  if (WiFi.beginAP(ssid) != WL_CONNECTED) {
    Serial.println("Creating access point failed");
    // don't continue
    while (true);
  }

  // wait 10 seconds for connection:
  delay(10000);

  // start the web server on port 80
  server.begin();

  // you're connected now, so print out the status
  printWifiStatus();
}


void loop() {
  WiFiClient client = server.available();   // listen for incoming clients

  if (client) {                             // if you get a client,
    Serial.println("new client");           // print a message out the serial port
    String currentLine = "";                // make a String to hold incoming data from the client
    while (client.connected()) {            // loop while the client's connected
      if (client.available()) {             // if there's bytes to read from the client,
        char c = client.read();             // read a byte, then
        Serial.write(c);                    // print it out the serial monitor
        if (c == '\n') {                    // if the byte is a newline character

          // if the current line is blank, you got two newline characters in a row.
          // that's the end of the client HTTP request, so send a response:
          if (currentLine.length() == 0) {
            // HTTP headers always start with a response code (e.g. HTTP/1.1 200 OK)
            // and a content-type so the client knows what's coming, then a blank line:
            client.println("HTTP/1.1 200 OK");
            client.println("Content-type:text/html");
            client.println();

            // the content of the HTTP response follows the header:
            client.print("Click here turn the LED on
");
            client.print("Click here turn the LED off
");

            // The HTTP response ends with another blank line:
            client.println();
            // break out of the while loop:
            break;
          }
          else {      // if you got a newline, then clear currentLine:
            currentLine = "";
          }
        }
        else if (c != '\r') {    // if you got anything else but a carriage return character,
          currentLine += c;      // add it to the end of the currentLine
        }

        // Check to see if the client request was "GET /H" or "GET /L":
        if (currentLine.endsWith("GET /H")) {
          digitalWrite(led, HIGH);               // GET /H turns the LED on
        }
        if (currentLine.endsWith("GET /L")) {
          digitalWrite(led, LOW);                // GET /L turns the LED off
        }
      }
    }
    // close the connection:
    client.stop();
    Serial.println("client disconnected");
  }
}

void printWifiStatus() {
  // print the SSID of the network you're attached to:
  Serial.print("SSID: ");
  Serial.println(WiFi.SSID());

  // print your WiFi shield's IP address:
  IPAddress ip = WiFi.localIP();
  Serial.print("IP Address: ");
  Serial.println(ip);

  // print the received signal strength:
  long rssi = WiFi.RSSI();
  Serial.print("signal strength (RSSI):");
  Serial.print(rssi);
  Serial.println(" dBm");
  // print where to go in a browser:
  Serial.print("To see this page in action, open a browser to http://");
  Serial.println(ip);
}
IMG_20160315_120952~3

¿Cuándo creamos conocimiento?

15 Mar , 2016,
Jose Nunez
, ,
No Comments

Cuando aprendemos algo nuevo y lo podemos reproducir; lo que implica que lo hemos documentado; y lo hemos publicado/compartido con otros y ellos pueden reproducirlo también.

Crear conocimiento involucra la capacidad de mejorar algo existente.

admin_expr

El último punto funcional reproducible

14 Mar , 2016,
José Núñez
, ,
No Comments

admin_exprMucho del quehacer maker está relacionado con procesos de experimentación, de aprendizaje y con la creación de nuevo conocimiento.

Durante este tipo de procesos de experimentación “ad-hoc” es fácil caer en una parálisis en la cual “giramos en círculo” con partes de experimentos que a veces son éxitosas y a veces no, sin que podamos comprender la causa de estos resultados divirgentes; especialmente cuando no tenemos una forma estructurada de administrar las incertidumbres y los aciertos resultantes de nuestros experimentos.

Recientemente vivimos esto durante nuestra experimentación para grabar sonido usando Intel Edison, donde a ratos teníamos pruebas exitosas y a ratos “las mismas pruebas” fallaban.

Este tipo de parálisis puede resultarnos costosas, no solo a nivel de tiempo y recursos, sino también en lo referente a la motivación del equipo, al verse desvanecer los éxitos del trabajo sin una razón aparente.

Es por esto que compartimos en este artículo algunas medidas que nos permiten asegurar el éxito progresivo alcanzado en diversos experimentos y avanzar con un paso más seguro, evitando parálisis de análisis.

  1. Planee sus experimentos de manera individual y documente el plan
  2. Documente los pasos a realizar en cada experimento. Mantenga una política de “Un cambio a la vez”
  3. Documente los resultados obtenidos y las desviaciones del plan realizadas durante cada experimento
  4. Una vez obtenido el éxito en cada etapa, verifique la repetibilidad del éxito en cada experimento.
  5. Haga una revisión retrospectiva del plan de experimentación luego de terminar cada experimento.
  6. Una vez alcanzado un nivel de éxito aceptable en diversos experimentos, documente y publique los pasos para alcanzar dicho éxito.
  7. Verifique la reptibilidad antes de publicar sus resultados; y lleve seguimiento de cada “punto funcional reproducible

¿Y qué significa el término “punto funcional reproducible” (PFR)?

Básicamente es el conjunto de pasos que hemos verificado que funciona para llevarnos a una conclusión.

Llevar seguimiento de cada PFR significa ponerle un nombre, una identificación que nos permita referirnos a cada PFR y que nuestros nuevos procedimientos se basen en el PFR más reciente, donde se concentra el conocimiento acumulado más reciente.

En el ejemplo, terminamos documentando los pasos de un proceso de grabación con Intel Edison que pudimos constatar como repetibles; de forma que nuestros siguientes experimentos puedan tomar este PFR como su punto de partida.

metodo_cientifico

La cultura Maker es también una cultura de Investigación

28 Feb , 2016,
José Núñez
No Comments

Cuametodo_cientificondo se trata de cultura Maker, la investigación es esencial.

Y no me refiero a la “investigación” esa de simplemente googlear algo que necesitamos aprender.

Me refiero a la adquisición de conocimiento y su respectiva mejora y creación de nuevo conocimiento; a muchas horas practicando, aprendiendo, documentando y publicando.

Algo que hemos estado aprendiendo sobre la marcha de diversos proyectos y colegas; como es el caso de nuestros colegas de UNED-LiiT (http://investiga.uned.ac.cr/)

Wikipedia: Investigación

Wikipedia: Ciclo de la Investigación Científica

Wikipedia: Protocolo de Investigación

 

IMG_20160226_120519

Los grandes científicos tienen grandes publicaciones… los grandes “makers” también

26 Feb , 2016,
José Núñez
No Comments

Los grandes científicos tienen grandes publicaciones… los grandes “makers” también.

Ejemplos:

  1. Blogs
  2. Facebook Updates
  3. Tutroriales
  4. Instructables
  5. Evaluaciones de Productos/Dispositivos
  6. Publicaciones Formales en Revistas Científicas
  7. Libros

¡Recuerdenlo!

edison_serial

Guía de Publicación de Tutoriales/Proyectos

Feb , 2016,
José Núñez
No Comments

Para nosotros es muy importante la calidad en el material que publicamos. Queremos que los tutoriales o proyectos que se publiquen tengan un formato sencillo de leer, y que aporte valor a la tarea de seguirlos.

Seguidamente se explican las diferentes secciones de nuestros tutoriales.

1. Descripción

En esta sección describimos de qué se trata el tutorial, las tecnologías utilizadas y el objetivo o resultado esperado de ejecutar el tutorial y la duración esperada para el tutorial.

2. Referencias Externas

En esta sección listamos las referencias a documentacion en Internet que utilizamos para adquirir conocimientos sobre el tutorial.

3. Disclaimer sobre Intención y Responsabilidad

Aquí colocamos un enlace a nuestra página donde se explique que estas instrucciones se brindan de buena fe, sin ninguna garantía de funcionamiento; y que no asumimos responsabilidades (Salvo lo que indique la ley) sobre daños o perjucios realizados durante la ejecución del tutorial.

(!) Antes de seguir estas instrucciones asegúrese de entender las Condiciones de Uso de nuestro sitio.

4. Resumen

Aquí escribmos un resumen de los pasos a seguir para la persona que ya tiene conocimento sobre cómo realizarlos. Cada paso debe ser de un párrafo máximo y sin mayores explicaciones gráficas.

5. Lista de Materiales

En esta sección especificamos los materiales recomendados y agregamos en la medida de lo posible, enlaces a tiendas en línea donde comprar los materiales.

6. Pasos Detallados

En esta sección describimos los pasos del proyecto y opcionalmente, la duración esperada de cada uno, se incluyen diagramas, imágenes y listas de comandos en detalle.

7. Agradecimientos

Aquí reconocemos (listamos) a las personas y organizaciones que hacen posible este tutorial.

El peligro de la cultura Maker

18 Mar , 2015,
José Núñez
, , ,
No Comments

Más allá del Prototipo

Todos hemos visto de una u otra forma los beneficios de esa cultura que está permeando en nuestra sociedad; esa de hágalo usted mismo; esa de aprender algo, mejorar la técnica y compartir el conocimiento.

Resulta difícil imaginar que una cultura tal pueda tener algún peligro inherente para la sociedad. En realidad expongo aquí un peligro que la cultura Maker enfrenta en su naturaleza y que requiere de un cuidado importante ya que limita sus alcances de manera significativa.

En la cultura Maker las personas se explotan su curiosidad, analizan, prueban, aprenden, mejoran lo que existe, y comparten lo que aprendieron; es una cultura que acelera de manera vertiginosa la capacidad de prototipado de nuevas ideas; de nuevos productos. Sin embargo el gran peligro que enfrenta es el de quedarse allí precisamente; en el prototipo funcional, de conformarse una y otra vez con el nivel “instructable básico” y de no profundizar en ese gran paso que enriquece a la sociedad, el de crear nuevos productos, nuevas soluciones dirigidas a las personas que no son maker, que necesitan una solución completa que puedan consumir y utilizar tal cual.

Dentro de las destrezas clave para un maker podemos enumerar varias: autodidacta, curiosidad, documentación, solución de problemas, integración de tecnologías; pero una que normalmente pasa desapercibida es la que yo llamo “productivización”; es decir la capacidad de diseñar un producto repetible que se desempeñe de manera estable y satisfactoria en el campo; que se pueda consumir con un mínimo de instrucciones de uso.

Siendo la cultura maker empírica por su naturaleza, la profesionalización progresiva del maker es algo que requiere medular atención.

Destrezas y conocimientos en áreas como Administración de Proyectos, Ciclo de vida de Productos, Mercadeo, Emprendimiento e incluso Propiedad Intelectual se vuelven vitales para una cultura Maker que vaya más allá en la generación de riqueza de un país.

Maker que se respeta…

9 Mar , 2015,
José Núñez
No Comments
  1. Aprende en línea y “on the fly”
  2. Cita la fuente
  3. Mejora las cosas
  4. Comparte lo que ha aprendido
  5. Innova a escala mundial

Yep. Es todo.