Inicio

Diciembre 26, 2005

Cómo convertirse en programador independiente en 1068 días

Gus Mueller, el hombre detrás de Flying Meat, uno de los desarrolladores independientes de aplicaciones para Mac OSX más respetados, cuenta su historia en un post en el que desarrolla siete conceptos que considera básicos para llegar a alcancar el sueño de poder trabajar para uno mismo.

Una buena lectura para estas fechas, en las que se formulan tantos buenos propósitos.

Siete reglas para ser un programador efectivo

Phillip Chu da las que entiende son las siete reglas principales para ser un programador efectivo. Habrá que ponerlo en la lisa de buenos propósitos para año nuevo...

Seven habits of highly effective programmers

Generación Mac

El próximo jueves 19 de enero, como presentación oficial del portal generacionmac.com, especializado en el diseño y desarrollo de aplicaciones bajo plataformas Mac, se celebrará en Madrid el evento “Generación Mac: el futuro de la creación” con el mecenazgo de la Escuela Superior de Negocios y Estudios Internacionales – ESNE.

Este evento, dirigido a cualquier usuario Mac novel o profesional, es de carácter abierto y gratuito y tendrá lugar en las instalaciones de ESNE Madrid de 18h a 21h.

Debido a que el número de plazas es limitado, es necesaria inscripción previa a través del teléfono 91 555 25 28 o en el correo electrónico madrid@esne.edu, indicando sus datos personales y de contacto.

Los sufridos asistentes se tendrán que tragar un ladrillo de una hora titulado "¿Tienes media hora libre? desarrolla una aplicación con Core Data", a cargo de su seguro servidor. No digan que no estaban avisados.

Más información, en ESNE

Noviembre 26, 2005

CÛmo escribir cÛdigo imposible de mantener...

...y asegurarse un trabajo de por vida. Un link de hace bastante tiempo, que habÌa perdido, y que acabo de reencontrar:

How to write unmaintenable code

Noviembre 23, 2005

[Cocoa] Manejo de memoria y excepciones

Objective-C, como cualquier programador iniciado en el mismo sabe, es un lenguaje que, a diferencia de java o actionscript, no tiene recolector de basura, no maneja la memoria por sí mismo, sino que es responsabilidad del programador el liberar los recursos que haya utilizado con anterioridad.

El manejo de memoria no es especialmente complicado, aunque sí requiere atención y un toque de rigurosidad por parte del programador. Eso no evita, que haya situaciones en las que sea fácil producir leaks de memoria, al no preveer alguna situación especial en el programa, como por ejemplo, al lanzar una excepción.

Bien, pues sirvan los dos párrafos anteriores como introducción a este post de Chris Hanson titulado Cocoa memory management & exceptions

Noviembre 01, 2005

Poster de patrones de diseño

A estas alturas seguro que has oído hablar (como mínimo) de la serie Head First, en concreto de Head First Design Patterns que probablemente sea la mejor introducción para entender los patrones de diseño.

La semana pasada, cuando estaba buscando otras cosas en amazon, me encontré con esto: Head First Design Patterns Poster.

designPatternsPoster.jpg

Como su propio nombre indica, es un poster (bastante grande, por cierto) que contiene los gráficos (extraídos del libro), no los diagramas UML de los patrones, sino los gráficos de los ejemplos del libro, así como el número de la página en la que aparece ese patrón tanto en el Gang of Four como en el Head First Design Patterns.

Resume de forma visual 18 patrones, y ahora mismo luce enfrente de mis ojos clavado en la pared...

(Por cierto, ninguno de los enlaces es patrocinado, y por tanto NO me llevo comisión).

Septiembre 14, 2005

Para no volverse loco

Si se programa en varios lenguajes, va a llegar un momento en el que las distintas sintaxis se van a cruzar.

Syntax across languages es un proyecto de sourceforge que pretende documentar cÛmo se hacen las cosas en distintos lenguajes. Por ejemplo, cÛmo se declara una funciÛn o un bloque if.. else o un bucle en java, C, C#, C++, Perl,....

En todo caso, aunque sÛlo sea por satisfacer la curiosidad de ver cÛmo hacen las cosas "los otros", no viene mal echarle un vistazo.

Via __resolve

Septiembre 06, 2005

Java en los Macs con procesador Intel

Apple ha publicado un documento muy breve sobre los cambios a realizar en las aplicaciones Java en Mac OSX para que se puedan ejecutar en los nuevos ordenadores con procesador Intel.

La conclusiÛn es la esperada: ninguno, excepto en las aplicaciones que usan cÛdigo nativo, en las que habr· que recompilar.

Y ojo, porque, avisan tambiÈn en este documento ( al menos es el primer sitio donde lo veo ), la m·quina virtual de Java no va a correr en Rosetta.

Java on Intel-based Macintosh computers

Agosto 04, 2005

Un ejemplo del patrÛn memento ( la versiÛn java )

Conquistar el mundo no es f·cil. Nada f·cil. Yo lo sÈ, t˙ lo sabes, incluso el Profesor Dispar lo sabe.

El Profesor se siente preparado para llevar a cabo su malvado plan. Tiene el conocimiento teÛricos, tiene los conocimientos pr·cticos, tiene un plan, tiene hasta unas gafas de sol nuevas, pero °hay tantos detalles que pulir antes de lanzarse a la conquista del mundo!.

En episodios anteriores, hemos visto cÛmo el Profesor ha implementado el patrÛn prototype ( para crear su ejÈrcito de clones -°anda, acabo de caer!- ), el patrÛn extensiÛn objects ( para asignarles sus roles ), el patrÛn command ( para asignarles las Ûrdenes ), y el patrÛn observer ( para implementar el sistema de comunicaciones ). Parece que el Profesor Dispar ha estado bastante ocupado implementando patrones, pero ha sido suficiente?. NO!! ( muhahahahahahhaha ).

Continuar leyendo "Un ejemplo del patrÛn memento ( la versiÛn java )" »

Julio 20, 2005

Apple abandona Java

Como titular no est· mal, aunque no sea del todo exacto, pero lo cierto es que en la ˙ltima actualizaciÛn de la documentaciÛn de la ADC, se remarca que las features que se aÒadan a Cocoa a partir de la versiÛn 10.4 de Mac OSX no se aÒadir·n en el interfaz Java.

Hasta ahora, se podÌan desarrollar ( al menos en teorÌa, en la pr·ctica era otra cosa ) aplicaciones Cocoa tanto en Java como en Objective-C. A partir de este momento, las novedades que se vayan aÒadiendo al framework sÛlo se har·n para Objective-C, y no para Java.

La documentaciÛn lo dice mucho m·s claro: "you should develop Cocoa applications using Objective-C to take advantage of existing and upcoming Cocoa features". Punto pelota.

El link directo al documento de Apple: aquÌ

VÌa OSNews

Junio 11, 2005

Prevalencia

Es probable que este post no aporte nada a los desarrolladores Java m·s experimentados, pero para mÌ al menos, el artÌculo que apareciÛ en onjava.com el pasado dÌa 8 sobre Prevailer ha sido un descubrimiento.

Prevailer es un framework que proporciona una capa de prevalencia a las aplicaciones Java. Lo cual lleva a la siguiente pregunta: øquÈ es la prevalencia?. Pues es un mecanismo de persistencia pero no basado en base de datos ni en serializaciÛn de objetos de negocio en disco, sino que permite tomar screenshots del estado de los objetos en memoria en intervalos determinados, y serializar esos screenshots. Las transacciones necesarias se serializan tambiÈn a partir de objetos command.

De esa forma, se puede evitar el implementar una capa de acceso a base de datos, por ejemplo, lo que puede resultar bastante ˙til sobre todo a la hora de implementar prototipos de aplicaciones.

En todo caso, Jim Paterson, el autor del artÌculo de onjava.com lo va a explicar mejor que yo, sobre todo porque explica el proceso de implementaciÛn con un ejemplo.

Prevalence: Transparent, Fault-Tolerant Object Persistence

Junio 02, 2005

Un ejemplo del patrÛn observer (la versiÛn Java)

Est· desencadenado. El primer ataque ha sido lanzado. El profesor Dispar ha dado las Ûrdenes a sus huestes para dominar el mundo. En post anteriores hemos visto como el profesor Dispar ha conseguido clonar cualquier animal ( con gran predilecciÛn por ovejas y vacas ) utilizando un patrÛn prototype, ha conseguido darlas un rol din·micamente con el patrÛn extension objects, y ha repartido las Ûrdenes con un patrÛn command.

Pero como ya sabemos, el profesor Dispar est· loco, pero no es idiota. Sabe, que algo puede salir mal, que un pequeÒo detalle puede truncar sus planes de dominar el mundo. Y tambiÈn sabe que una retirada a tiempo es una victoria.

Continuar leyendo "Un ejemplo del patrÛn observer (la versiÛn Java)" »

Abril 26, 2005

Un ejemplo del patron Command ( la versiÛn Java )

Todo est· preparado. Las ovejas y las vacas han sido clonadas y sus roles han sido asignados. Es el momento perfecto para que el Profesor Dispar lance su ataque final. °°°°°Ha llegado el momento de conquistar el mundo!!!!

øPero cÛmo dar· el Profesor Dispar a sus tropas la orden de atacar?

Continuar leyendo "Un ejemplo del patron Command ( la versiÛn Java )" »

Abril 06, 2005

Un ejemplo del patrÛn Extension Objects ( la versiÛn Java )

øRecuerdas al Professor Dispar?. øRecuerdas sus malvados planes para dominar el mundo?.

Hoy veremos cÛmo el patrÛn Extension Objects ( o "cÛmo cambiar el interfaz que implementa una clase en tiempo de ejecuciÛn" ) ha ayudado al Profesor Dispar. Pero no va a ser una tarea f·cil, porque este patrÛn es muy complejo, pero øquiÈn dijo que ser un genio del mal fuera f·cil?.


Continuar leyendo "Un ejemplo del patrÛn Extension Objects ( la versiÛn Java )" »

Marzo 29, 2005

Un ejemplo del PatrÛn Prototype ( la versiÛn Java )

El Profesor Dispar es un cientÌfico espaÒol que est· planeando dominar el mundo. øQuieres conocer los problemas con los que se ha encontrado, y cÛmo los ha resuelto implementando el patrÛn prototype?

Continuar leyendo "Un ejemplo del PatrÛn Prototype ( la versiÛn Java )" »