Los que me conocéis sabéis que además de estar junto con Javier Carazo lanzando nuevos proyectos y aventuras bajo el nombre de Codection, desarrollo software y hardware en un laboratorio de teledección del CSIC, pues bien, ahí mi relación con el hardware está muy estrechamente relacionada con Arduino, ese hardware libre que en más de una ocasión hemos hablado por aquí. Además de ésto, y por el mero hecho de trabajar con UAVs y avionetas tripuladas, me suelen llegar noticias sobre proyectos de bastante interés.
En este sencillo ejemplo el programa escribe en un fichero llamado datos.csv el nombre, la edad y la altura de tres personas con su correspondiente identificador. Una vez que se haya creado este archivo de datos en formato csv, éste se puede procesar con hojas de cálculo como LibreOffice Calc.
Aquí tienes el código:
#!/usr/bin/env pythondef main():
f = open('datos.csv','w')
f.write('ID,Nombre,Edad,Altura (cm)\n')
f.write('00,Javier,23,177\n')
f.write('01,Nacho,28,182\n')
f.write('02,David,34,190')
Cuando trabajas con AJAX en WordPress, si quieres hacerlo bien, debes hacer llamadas a admin-ajax.php y desde ahí gestionar las peticiones y sus salidas. Si conocéis esta técnica, conoceréis las funciones: wp_ajax_(acción) y wp_ajax_nopriv_(acción) (de la que no encuentro una referencia directa en el Codex, es raro).
El mundo del desarrollo web se basa en buena medida en el diseño. Para los que somos programadores y no somos buenos diseñadores, disponer de plantillas, premium y de calidad, es más que una necesidad para nuestros proyectos web. Por eso creo que a todos os interesará esta entrada.
En colaboración con el portal de themes, templates y plantillas: TemplateMonster.com/es vamos a proceder a sortear 3 plantillas premium.
¿Cómo participo? Muy simple, sólo deberás escribir un comentario en esta entrada que deberá indicar:
Cuando hacemos desarrollos web para proyectos con algún apartado de gestión basado en formularios, lo más normal, es que terminemos teniendo que introducir fechas. Las fechas son un tanto problemáticas, tanto por su posterior manejo, como por su introducción por parte del usuario. ¿Por qué? Por dos razones:
Una buena solución suele ser manejar un calendario que salga directamente sobre el campo de texto como este que os muestro a continuación: