coge la información y corre

Ejecuta código C, Perl, Python… via web

14 de abril del 2008 Escrito por Alex Barros

code.jpg2 Una vez más se demuestra mi teoría de que TODO puede hacerse via web, sólo se necesitan programadores dispuestos a crear el servicio.

Esta vez es el caso de un compilador/intérprete de lenguajes via web. Se llama CodePad, y admite lenguajes tan conocidos como C, C++, D, Perl, Python, Ruby y algunos más.

He hecho unas cuantas pruebas con código C rebuscado y efectivamente compila y ejecuta de forma correcta, incluso te explica los errores de código si los hay.

Una idea similar tube hace algún tiempo, pero no fructificó el proyecto, ahora me quito el sombrero ante lo que ha hecho Steven Hazel (el desarrollador). Parece ser que ha sido desarrollado en Python, y que ha puesto énfasis en la seguridad. Aún así insta a hackers que comuniquen sus éxitos.

A partir del buen servicio que ha conseguido CodePad, se podría explotar ahí una comunidad de desarrolladores muy guapa, o crear toda una plataforma web para programadores, para que cuelguen sus proyectos de Software Libre, los promocionen, interactúen, y tengan a mano herramientas tan interesantes como el compilador, o un editor de código que esté bien. Sería una idea nada despreciable.

via wwWhat’s New

Categorias: Aplicaciones, C, Código | 3 comentarios »

Apoyemos al PHP!

11 de abril del 2008 Escrito por Alex Barros

A raíz del post anterior haciendo mimetismos entre lenguajes de programación y embarcaciones, nos encontramos con que al lenguaje de programación PHP se le asignaba una triste balsa de bambú.

PHP is a bamboo raft. A series of hacks held together by string. Still keeps afloat though.

PHP es una balsa de bambú. Unos cuantos apaños unidos con una cuerda. Aún así consigue ir a flote

Me parece un juicio muy injusto, y a los comentaristas de Boozox también!

  • Memiux: [...] un poco exagerado lo de PHP xD
  • daniel: El que diga eso de php, es que no tiene ni idea [...]
  • Jose D: [...] yo también defiendo a php que está que se sale por todos lados [...]

Coincido con todos ellos, PHP no es una triste balsa da bambú! PHP es un lenguaje muy potente sobretodo para lo que está enfocado (desarrollo de webs dinámicas). Cuenta con infinidad de funciones y bibliotecas útiles para cualquier cosa que se te pase por la mente, y de hecho un porcentaje muy elevado (la mayor parte) de las webs en internet están respaldadas por este lenguaje.

No en vano, webs como Youtube, yahoo, wikipedia, facebook, digg, flickr…. han elejido como lenguaje idóneo el PHP.

Se le acusa de provocar desorden en el código y en la estructura de los programas, pero esto es un hecho que se desprende de la habilidad y la experiencia de quien programa.

Es posible que el hecho de que la versatilidad y facilidad de PHP permita su uso a personas inexpertas, de como resultado la proliferación de código de mala calidad, pero no se puede generalizar, y declarar que en PHP se programan apaños y chapuzas.

He programado toda mi vida en PHP y jamás me ha presentado una frontera, el límite ha sido siempre mi imaginación.

Por ello quiero defender el papel de PHP, y promover su uso para cualquier tipo de tarea en internet.


Larga vida a PHP !!!!

Categorias: Aplicaciones, Código, Opinión, PHP | 10 comentarios »

Se llama Geo y es Libre

29 de marzo del 2008 Escrito por Alex Barros

De acuerdo, voy a comentaros qué me ha tenido todo este tiempo tan ausente.

He dedicado la mayor parte de mi tiempo a desarrollar la primera versión de la aplicación Geo. Geo es una aplicación web para compartir rutas captadas con GPS.

Detrás de Geo hay toda una infraestructura de objetos y algoritmos que me ha costado mucho de elaborar (los últimos tres meses), pero puedo decir que estoy muy orgulloso del resultado, y es una base genial para continuar haciendo de Geo una herramiente potente de aquí en adelante.

Como es lógico he liberado Geo (en realidad se llama GeoGPS) con la licencia GNU/GPL, pero esta vez he querido llegar más lejos, y lo he enviado como proyecto a Sourceforge, donde tendrá todas las atenciones que un buen proyecto libre merece.

Por ahora podéis leer (y agregaros al RSS) el blog que he creado y actualizo para este proyecto, y navegar entre las casi 100 rutas con las que ya cuenta la web de Geo.

Me disculpo por la escasa actualización de este blog. Entre la universidad y proyectos como Geo, no me queda apenas tiempo… :(

Un saludo a todos!

Categorias: Aplicaciones, Código, Novedades, Software libre | 4 comentarios »

Funciones recurrentes: Bloodtraining Lógico

29 de febrero del 2008 Escrito por José Cabo

Explicados los lenguajes esotéricos, quizás en clave de humor o quizás algo serio. Quisiera aportar algo sobre lenguajes algo más útiles. En este caso del lenguaje C aunque posiblemente aplicable a muchos otros.

No voy a expandirme pues no pienso profundizar demasiado, pero espero que la mayoría lo conozcáis o al menos sepáis en que consiste. Tenéis más información al respecto en la Wikipedia sobre la historia de este lenguaje.
funcionesrecurrentes2.png
Recientemente en clase de Programación de mi Universidad nos han enseñado un método de programación que hace uso de la recurrencia y de las funciones. Es decir, nos han enseñado las llamadas funciones recurrentes. Estas funciones son aquellas que se llaman a sí mismas hasta llegar a resolver la forma más simple de un problema. Un ejemplo de código sería:

  1.  
  2. /*Factorial de un número*/
  3. int func (int var) {
  4.     if (var==1) return 1;
  5.     else return func(var-1)*var;
  6. }
  7.  

Este método es fácil de entender, es más, no tiene mayor complicación que el hecho de entender la propia recurrencia. Pero me gustaría compartir con vosotros que fue gracias a este método que estoy desarrollando un programa capaz de calcular las tablas de verdad de un circuito lógico. Hablo de Bloodtraining Lógico (nombre todavía pendiente…). ¿Tablas de verdad?, ¿circuito lógico? Bueno… es la unión de varias cosas de estas.

Ahora, llegando al punto de hacer publicidad de mi programa relativamente útil y, después de que comprendáis el porqué de su comienzo

screenshotbloodtrainiglogico10beta1.png

El programa más que por su utilidad me sirvió para entender las funciones recurrentes y, además, para echar una mano a mis compañeros de clase que usan un sistema diferente a Windows (Bloodtraining también es compatible con Windows). Podéis acceder a Bloodtraining Lógico desde Codis, descargarlo y comprobar todas sus últimas features (Y decirme como solucionar los errores que encontréis que los hay):

  • Actualmente soporta cualquier entrada de datos de tipo: (variable1,&,variable2) en donde variable1 es a y variable2 es b.
  • Soporte de puertas: AND &; OR |; NAND /&; NOR /|
  • Además, pueden negarse las salidas tanto de las variables (variables negadas) como de las salidas (puertas NAND y NOR) escribiendo el carácter / delante de la correspondiente variable o puerta. Ejemplo: (a,/&,/b) –> Es una puerta NAND de dos entradas con la variable b negada.
  • Se permite la composición de circuitos. Ejemplo: ((a,&,b),/|,((/a,&,b),|,b)).
  • Actualmente es una rc1 pero en breve sacaré la 1.0 cuando corrija los bugs que han quedado por ahí sueltos.

Categorias: Aplicaciones, C, GNU/Linux, Multiplataforma, Software libre, Windows | 1 comentario »

Texto web con formas raras. Adios rectángulos?

20 de diciembre del 2007 Escrito por Alex Barros

Acaba de lanzarse una herramienta del todo curiosa y particular.

Se trata de un generador de un código especial, para que en tu web el texto se acople a determinada forma o figura.

csstextwrap_2.png

Símplemente tienes que dar la forma que quieres con dos líneas (el márgen izquierdo y el derecho) y dejar que genere el código necesario.

csstextwrap.png

Aúnque no muy ortodoxa, la técnica es perfectamente accesible en términos web. Ahora, que esto desemboque en una buena idea, o en la horterada 2.0 premio a la usabilidad nula del 2007, ya no depende del sistema.

Categorias: Aplicaciones, Código, Curioso, Diseño | No hay comentarios »

La evolución: de GStat a genStats

8 de diciembre del 2007 Escrito por Alex Barros

Hace ya más de cuatro meses que lancé uno de mis últimos proyectos: recolectar la información de los internautas, para mostrarla públicamente.

He de reconocer que no me esperaba la acogida tan grande que tuvo. Ahora mantiene una recogida de datos constante, desde unas 50 webs muy distintas en temáticas, más de 3.000 registros diarios.

GStat fue una de tantas ideas que se me habian ocurrido, y me llevó cerca de una semana su desarrollo. Por supuesto tengo que revisarlo diariamente para corregir cosas, y comprobar que todo marcha bien.

Sin embargo, creo que tiene mucho más potencial, y he reunido fuerzas de nuevo para avanzar significativamente en el desarrollo de GStat. Tanto es así, que este proyecto va a pasar a llamarse genStats.

Este nuevo proyecto contará con muchas gráficas nuevas, interactivas y personalizables. Además, la interfaz va a ser mucho más cómoda, atractiva y manejable.

Surgen problemas cuando la base de datos roza el millón de datos, y quiero trabajar en complicadas estadísticas. Por eso, la optimización es uno de los puntos fuertes en los que estoy trabajando. He pedido consejo a algunos expertos, y estoy empollando enormes manuales de SQL. Ya he conseguido que gráficas que tardaban más de 10 segundos en ser representadas, tarden 0.2 segundos.

A medida que vaya haciendo importantes avances en la materia, iré comentándolos en este blog. Por ahora podéis apreciar el aspecto que van tomando las gráficas:

Registros totales diarios
Las 4 webs que más han aportado (excluyendo microsiervos.com, porque tiene unos números excesivamente grandes…)
[Añadido] Porcentaje de participación sobre el total de las 4 webs con más aporte (incluyendo microsiervos.com)

Puede observarse que originalmente se recolectaron TODOS los usuarios, y posteriormente se limitó la aportación de cada web.

Categorias: Aplicaciones, Boozox, genStats, Internet, Novedades, Web | No hay comentarios »

Solucionado problema del plugin Imaset 2.1

7 de diciembre del 2007 Escrito por Alex Barros

Tienes problemas para que funcione Imaset?
Hasta ahora algunas personas tenían problemas para que el plugin Imaset en la versión 2.1 les reconociera las imágenes.

Ya he conseguido dar con el problema, y he cambiado el archivo de descarga para que sustituyáis los archivos en el plugin.

El problema que ocasionaba esto es bastante complejo de explicar, pero está relacionado con la yuxtaposición de arrays. En el código de Imaset yo había optado por usar la función array_merge(), la cual une los arrays que le pases como parámetro, pero esta función no mantiene los índices numéricos, y para la aplicación era importante que los mantuviera.

La solución es usar el concatenador básico de arrays, es decir, el operador suma.

  1. $a1 = array(5=>"ABC",12=>"DEF");
  2. $a2 = array(30=>"PPP",50=>"UIO");
  3.  
  4. $a3 = $a1 + $a2;
  5.  
  6. /*  Ahora $a3 es:
  7. a3[5] = "ABC"
  8. a3[12] = "DEF"
  9. a3[30] = "PPP"
  10. a3[50] = "UIO"  */

Categorias: Aplicaciones, Boozox, Código, PHP, Plugins | 11 comentarios »

Imaset 2.1 Liberado

28 de noviembre del 2007 Escrito por Alex Barros


nueva version 2.2
Al fin me decido a liberar la versión 2.1 de Imaset.

El plugin lleva unas semanas finalizado, pero he estado probándolo en diferentes servidores y distintos navegadores y, dada la gran cantidad de modificaciones internas que trae este nuevo plugin, han surgido una serie de incompatibilidades.

Sin embargo he decidido lanzar esta versión, ya que la considero estable (a falta de solucionar algunos bugs) para que quien no se vea afectado por estas incompatibilidades pueda ir disfrutando.

Problemas conocidos

Fundamentalmente dos:

  • Dada la nueva implementación de filtros almacenados en archivos externos, hay dos filtros que en algunos servers no dan buenos resultados. Estoy trabajando en solucionarlo para posteriores versiones
  • No funciona en Internet Explorer 6. Esto no me sorprende… es cosa del JavaScript, y también trabajo en hacerlo compatible.

Y ahora, lo más importante:

Novedades de Imaset 2.1

Sigue leyendo esta entrada »

Categorias: Aplicaciones, Imagen Digital, Novedades, Plugins, Software libre, Wordpress | 35 comentarios »

Novedades de Imaset 2.1

16 de noviembre del 2007 Escrito por Alex Barros

imaset_2-10.png Imaset 2.1 está muy cerca. La primera beta ya está siendo distribuida entre algunos beta-testers, y la versión definitiva no tardará mucho en llegar.

Dado el éxito que tuvo la versión 2.0 del plugin, para esta siguiente versión (2.1) he decidido reestructurar todo el código, de arriba a abajo, para hacerlo mucho más modulable.

En esta nueva versión, se incluye un archivo settings.php, en el cual pueden configurarse algunas características, como el color de fondo de tu web, el idioma que quieres para la interfaz, y algunas características más.

El peso de la navegación se ha llevado al JavaScript, con lo que el plugin resulta notablemente más fluido, rápido y cómodo.

Una de las novedades más importantes, es que los filtros se almacenan en forma de archivo XML (excepto los considerados del “núcleo” de Imaset). Esto tiene tres ventajas:

  • La administración de filtros es sencilla, basta con borrar el filtro que no quieres, o subir por FTP uno nuevo
  • Si quieres disfrutar de un nuevo filtro, basta con subir un pequeño archivo.
  • Los programadores no tienen que entender cómo funciona interiormente imaset. Los filtros están muy estandarizados, y resulta muy fácil crear nuevos, siguiendo la API que próximamente será publicada.

Por último, recordar que el plugin estará disponible en algunos idiomas. En principio en Español, Inglés, Chino, Italiano y Rumano. Por defecto el plugin se muestra en inglés, pero puede modificarse muy fácilmente en settings.php

Este fin de semana se realizarán los beta-testeos y las traducciones oportunas, y muy pronto será el estreno mundial.

P.D.: También guardo otra pequeña sorpresa sobre Imaset, pero tendréis que esperar un poco más para conocerlo.

Categorias: Aplicaciones, Boozox, Imagen Digital, Novedades, Plugins | 4 comentarios »

Leer y escribir Zip en PHP sin complicarse la vida

2 de noviembre del 2007 Escrito por Alex Barros

Lo que hoy quiero mostraros es una genial librería, que facilita increíblemente el manejo de archivos zip con PHP; únicamente habrá que incluir un archivo a nuestro código, para gozar de toda su funcionalidad para abrir, explorar y crear archivos de tipo Zip.

Instanciación

El primer paso para usar esta librería es siempre el mismo, independientemente de lo que queramos hacer:

  1. require_once("pclzip.lib.php");
  2. $archivo = new PclZip("archivo.zip");

Como se observa, hemos incluido el fichero de la librería, y hemos instanciado la clase PclZip, con un nombre de archivo.
Este nombre de archivo puede ser uno existente, que queremos manipular, o uno inexistente, que queremos crear a continuación. Será más adelante cuando le indicamos lo que queremos hacer con archivo.zip (leer o escribir), hasta aquí únicamente lo hemos referenciado.

Sigue leyendo esta entrada »

Categorias: Aplicaciones, Código, HOWTO/CóMO, PHP | 19 comentarios »

« Entradas Anteriores Siguientes entradas »

del.icio.us meneame.net RSS

Search:

Bicivalencia Localiza las estaciones de Valenbisi, servicio público de bicicletas en Valencia, España. Ver más Gpsia Descubre y comparte rutas por todo el mundo, tomadas con GPS. Ver más Imaset Edita tus imágenes de Wordpress con este sencillo plugin. Ver más

¡Mi música es tuya!

Digo yo que...

Mis fotos de Flickr

Entradas recientes

Meta:

Respeta el copyleft

,