Archive for the ‘Programacion’ Category

Viva NetBeans 6.1

Sunday, June 15th, 2008

Una imagen vale mas que mil palabras…

¡Al fin un buen IDE de C++ para Linux! Hurra :D

PL/LOLCODE para PostgreSQL 0.2b1

Friday, May 2nd, 2008

Acaba de salir la versión 0.2b1 de PL/LOLCODE para PostgreSQL, un lenguaje procedural para procedimientos almacenados de dicha base de datos. Ejemplo:

HAI
    CAN HAS DATABUKKIT?
    I HAS A RESULT
    I HAS A RECORD
    GIMMEH RESULT OUTTA DATABUKKIT “SELECT field FROM mytable”
    IZ RESULT NOOB?
        YARLY
            BYES “SUMWUNZ IN YR PGSQL STEELIN YR DATA”
    KTHX
    IM IN YR LOOP
        GIMMEH RECORD OUTTA RESULT
        VISIBLE RECORD!!FIELD
        IZ RESULT NOOB? KTHXBYE
    IM OUTTA YR LOOP
KTHXBYE

lolcats funny cat pictures

Controversia en Pidgin genera un Fork

Wednesday, April 30th, 2008

Leo en Slashdot:

Pidgin, el cliente de mensajería instantánea multi-protocolo por excelencia, sufrió una bifurcación (”fork” en inglés). Éste es el resultado de un debate en caliente, emocional y muy interesante sobre una nueva pero controversial característica: Desde la versión 2.4, la posibilidad de cambiar el tamaño del área de ingreso de texto ha sido eliminada; en cambio, el tamaño se ajusta automáticamente dependiendo de cuanto texto ha sido ingresado.

Al parecer, esta nueva característica junto con la negativa voluntad de los desarrolladores de proveer una opción para desactivarlo, ha enfadado a muchos de los usuarios. Un comentario realizado por un Profesor que enseña “Colaboración en un Mundo de Código Abierto” destacó que: «es fácil ver por qué los desarrolladores de código abierto pueden crear dogmas. [...] El más peligroso dogma es el expuesto aquí: ser Dios. “Una única solución tecnológica puede satisfacer la demanda de cada posible variación de los deseos de los usuarios sobre una característica.” [...] Ustedes [los desarrolladores] están ignorando a sus usuarios con una dedicación a sus convicciones que es alarmante aún hacia el mas despistado de los observadores, por lo que están demostrando que ya no merecen estar en la posición de servir a las necesidades de sus usuarios.’»

Casualmente hace un par de días Eric Sink publicó en su blog algo sobre esto mismo: Windows XP y la importancia de escuchar a tus clientes:

El poder corrompe. Cada monstruosamente grande organización se convierte eventualmente en, bueno, un monstruo. El próximo paso para todas éstas organizaciones es comenzar a robarse las tácticas entre sí. Oye Steve, ¿por qué no comenzás a diagramar en una pizarra a todos los que no van a hacer el cambio a Windows Vista? Aparentemente es algo legal. :)

Toda la situación es fuertemente incómoda para aquellos que nos encontramos dirigiendo pequeñas empresas de desarrollo de software. Al contrario que Microsoft, nosotros de hecho sí escuchamos a nuestros clientes. Cuando nos piden que saltemos, nosotros preguntamos qué tan alto.

Y aquí es el momento de la «mea-culpa»: soy uno de los creadores de un fork del MMORPG Argentum Online llamado AONX. Si bien nuestras intenciones son nobles, a nadie le importa en qué lenguaje está hecho el juego. Los usuarios solo quieren jugar AO :)

Espero que dentro de poco eso pueda cambiar. No a los forks. Si a lo que los usuarios quieren.

EDIT 2008-05-17: Jeff Atwood escribió un post en su blog al respecto de éste tema de Pidgin.

Ejecutar Java en JavaScript

Monday, April 28th, 2008

¡OMG! Esa fue mi reacción inicial.

Parece que un grupo de japoneses están desarrollando una JVM de Java en JavaScript. También conocido como ECMA-262, JavaScript es el lenguaje de Scripting utilizado en las páginas Web para usar DHTML, Ajax y como combustible ecológico y de alto octanaje para la Web >= 2.0.

Leo en Slashdot, vía John Resig:

Se llama Orto y es una implementación de la Máquina Virtual de Java (JVM) en JavaScript. Esto significa que, dado un programa Java ya existente, se lo puede compilar a bytecode java, hacerlo pasar por Orto (quien produce el JavaScript), y empotrarlo en una página Web. Si bien no provee todas las posibilidades de todo código Java, ofrece lo suficiente para realizar algunas demostraciones interesantes.

La demo: un tetris en JavaScript.

Parece que, una vez más, Joel Spolsky estuvo en lo cierto.

Java Auto Boxing?

Wednesday, January 30th, 2008

java auto boxing?

UNLP certificará la calidad de programas informáticos

Monday, December 10th, 2007

Desde jueguitos electrónicos para PC, hasta el software de los cajeros automáticos de las redes bancarias. De un controlador de vuelos hasta un sistema de liquidación de sueldos para una empresa con miles de empleados. Estos programas y todos los que sean diseñados y armados en el país con destino a la exportación deberán pasar por los especialistas de la facultad de Informática. Ocurre que la Universidad Nacional de La Plata, a través de la Facultad de Informática, se transformará a partir de 2008 en el primer certificador de software del cono sur. En la actualidad, para obtener estos avales, las empresas y particulares deben recurrir a Europa.

Mediante un acuerdo firmado con el European Software Institute (ESI), el principal laboratorio informático del mundo en materia de control de calidad de programas, la UNLP quedará habilitada para capacitar a profesionales de Argentina y participar en los procesos de certificación imprescindibles para la exportación de software desde nuestro país hacia los mercados internacionales.

Via: El Dia

Lista completa de dependencias de un paquete

Monday, November 26th, 2007

Hice un pequeño script en Python para averiguar la lista completa de dependencias de un paquete:

Ejemplo:

$ ./apt-get-all-deps.py wget
tzdata
libc6
zlib1g
libssl0.9.8
wget

Como dije en la lista de correo de Debian, el programa lo hice hace un rato y seguramente esté lleno de errores. Aún así, a alguien le puede resultar interesante. El programa devuelve la lista en el orden apropiado para instalarlos. Eso es, primero deberán instalar los que aparezcan al comienzo de la lista, y luego seguir instalando hasta el final.

Para descargar la lista completa de paquetes pueden hacer:

aptitude -d download `python apt-get-all-deps.py wget`

Usando Boost.Python en Debian (sin bjam)

Monday, November 26th, 2007

Deberán instalar el paquete libboost-python-dev de Debian. Luego:

#include <boost/python.hpp>
using namespace boost::python;

char const* greet()
{
return “hello, world”;
}

BOOST_PYTHON_MODULE(hello)
{
def(”greet”, greet);
}

Para compilar:

gcc -shared -Wl,-soname,hello -I/usr/include \
`python2.4-config –includes` `python2.4-config –libs` \
-lboost_python -o hello.so hello.cpp

Para ejecutar:

$ python
Python 2.4.4 (#2, Apr 5 2007, 20:11:18)
[GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import hello
>>> hello.greet
<Boost.Python.function object at 0×81a1c98>
>>> hello.greet()
‘hello, world’

EVA07

Friday, November 9th, 2007

EVA07

Terminó la EVA07, y estuvo mucho más interesante que otros años. Las charlas fueron de buen contenido, con temas que al menos a mí me interesaron. Como todos los años, la organización del evento pareció ser bastante “de entre amigos” (se notó mucho con el manejo de las diapositivas), pero como la cantidad de personas que vamos no alcanza para llenar el lugar es mucho más cómodo para todos.

Las charlas se centraron en el desarrollo de videojuegos en este lado del planeta (Argentina y Uruguay), dando pequeñas ideas sobre por qué no es tan mala idea hacer juegos, y también demostrando que sí se puede lograr algo mínimamente exitoso.

El principal tema del evento fue, sin ninguna duda, el desarrollo de juegos casuales. La idea básica transmitida fué que quien quiera comenzar con el desarrollo de videojuegos, inicie con esta clase de proyectos. Juegos como Tetris o Bejeweled son algunos de los más populares.

Según la Wikipedia:

El término juego casual se usa para referirse a una categoría de juegos electrónicos o de computadora orientados a un público masivo. Los mismos comúnmente poseen un conjunto muy simple de reglas o técnicas de juego y exigen un bajo nivel de estrategia, logrando que puedan aprenderse a jugar de forma relativamente sencilla y poder jugarse como un pasatiempo.

No requieren habilidades especiales o compromisos a largo plazo, y poseen bajos costos de producción y distribución para la empresa productora, comparado con otras clases de juegos. Los juegos casuales son comúnmente jugados en una computadora personal vía Internet mediante un navegador Web, aunque y de a poco están también comenzando a ser populares en consolas de videojuegos.

La población de jugadores también varía notablemente de aquellos jugadores de videojuegos tradicionales, ya que el clásico jugador casual es de mayor edad y predominantemente mujer.

Los juegos Web también tuvieron su presencia. Ideas simples y diferentes como flOw, Line Rider o Samorost que si bien son extranjeros, marcan otra dirección para videojuegos.

Patricio Jutard dió la que para mí fue la mejor charla. Habló sobre Scrum, la controversial pero a la vez popular metodología de desarrollo de software para la coordinación de proyectos y grupos de trabajo.

La idea de Scrum es darle más flexibilidad a todo ese circo que es programar videojuegos, priorizando las tareas más importantes, no dedicarle más de 15 minutos diarios a las reuniones y delegando todas las responsabilidades posibles en los que, a fin de cuentas, trabajan.

Luego la gente de Sony nos habló sobre su especial interés en comenzar a expandir sus fronteras por este lado del globo. Al día de hoy no hay presencia oficial en lo que es américa latina; se ofrecen a incubar proyectos para la PS2 o PS3 junto con soporte y consolas de desarrollo.

La letra chica dice que a Sony no le interesa a ningun programador de garage con su pequeña idea, sino que buscan a alguna empresa que ya esté trabajando en el área, tenga experiencia en la industria de PC y quieran buscar nuevos rumbos hacia las consolas.

No es demasiado importante la magnitud del proyecto: un equipo de desarrollo promedia son de 40 a 60 personas, mientras que juegos como El Padrino tuvo 300. Lo que importa es que tan buena es la idea, y qué tánto puede llegar a vender.

Quieren empezar a de poco primero incentivando juegos más bien “Casual” en la PS2 (hay millones de consolas vendidas que ahora las están empezando a usar otro tipo de personas, no solo gamers adictos), para luego moverse a la PS3. Eso es lo que busca Sony.

Daniel Benmergui habló de lo que él cree que va a ser el próximo “Nuevo Game Design”. Sugirió romper con los “géneros” de los videojuegos y de una buena vez dedicarse a crear cosas nuevas en vez de clonar ideas de juegos que ya existen o buscar el santo grial del game design (léase Monkey Island).

Patrick Dugan habló, entre otros temas, de por qué él cree que es bueno dedicarse a crear videojuegos en el país. Al menos hasta el 2012.

Gabriel Gambetta de Mystery Studio (Uruguay) habló de su experiencia desde que abrió su propia empresa de desarrollo de videojuegos hasta el día de hoy, en el que actualmente le dedica tiempo completo a su emprendimiento.

Me sentí muy identificado con algunas cosas que dijo. “¿Por qué no ser como una persona normal e ir a trabajar a un banco o alguna empresa en un sistema de control de stock y precios de productos?”, la que según nos contó fué una pregunta bastante común que le hicieron muchas personas a lo largo de su vida.

Por último, Lionel Zajdweber remarcó los beneficios que pueden llegar a dar crear una comunidad de usuarios de un juego. Una comunidad de jugadores no solo puede darle valor al juego sino que la comunidad misma puede llegar a convertirse en algo mucho más valioso que el juego mismo.

Crash, Boom, Bang!

Tuesday, October 30th, 2007

javawerror.PNG

(Gracias, Franco!)