Noticias Weblogs Foros Wiki Código
Sponsors:

Meta-Info

¿Que es?

Planeta Código es un agregador de weblogs sobre programación y desarrollo en castellano. Si eres lector te permite seguirlos de modo cómodo en esta misma página o mediante el fichero de subscripción.

rss subscripción

Sponsors

Anunciarse aquí

PlanetaCódigo en inglés

Puedes utilizar las siguientes imagenes para enlazar PlanetaCodigo:
planetacodigo

planetacodigo

Si tienes un weblog de programación y quieres ser añadido aquí, envíame un email solicitándolo.

Idea: Juanjo Navarro

Diseño: Albin

programania

Codigo Gipuzkoa: entradas añadidas el 01-01-2008

Diciembre 31st, 2007 - [Enlace local]

» Leer más, comentarios, etc...

programania

Extendiendo Zend MVC: plugins y helpers

Diciembre 31st, 2007 - [Enlace local]

Cada vez que quiero añadir funcionalidades a un conjunto de clases, tengo el vicio de pensar en extenderlas. Sin embargo, tengo más que comprobado que muchas veces la extensión de clases no es una gran idea. Por eso el Zend Framework ofrece otros mecanismos para extender las funcionalidades normales de su MVC (Model View Controller). Veamoslas:

Es una lección muy importante: aunque el primer instinto del programador sea extender una clase, el Zend Framework ofrece los suficientes mecanismos como para poder inyectar helpers, plugins o escribir reglas de enrutamiento para reutilizar código.

¡No hay que olvidarlo!

» Leer más, comentarios, etc...

Navegapolis

Feliz 2008

Diciembre 31st, 2007 - [Enlace local]

Feliz 2008
Los mejores deseos para 2008
 

» Leer más, comentarios, etc...

Arragonán

Recomendaciones para invertir en tu portfolio de conocimiento

Diciembre 31st, 2007 - [Enlace local]

Últimamente no he escrito demasiado, las principales razones: un final de año en el trabajo que ha absorvido la mayoría de mi tiempo, acabar unas prácticas para la universidad y ésta última semana de merecidas vacaciones :) , que he conseguido desconectar casi del todo, he empezado a leer el libro The Pragmatic Programmer.

En el primer capítulo(A pragmatic philosophy) habla, entre otras cosas, de invertir en tu portfolio de conocimientos, nuestra experiencia y nuestro conocimiento son nuestros activos más importantes, y da algunas recomendaciones de cómo hacerlo. Y aprovechando que se acaba el año me los pongo como propósitos para 2008.

Aparte de todas estas recomendaciones, que no son pocas, me apunto dos más.

Bueno, ahora ya sólo me queda desearos a todos un feliz 2008, y cuidado con la resaca ;)

» Leer más, comentarios, etc...

Buayacorp

Nueva versión de WordPress y algunas aclaraciones

Diciembre 31st, 2007 - [Enlace local]

A estas alturas imagino que las pocas personas que leen este blog y que usan WordPress para sus propios blogs, seguramente ya saben que salió una nueva versión de este CMS, hablamos de WordPress 2.3.2. Entre los problemas corregidos en esta versión están:

Fuente

Aclaración

Erróneamente se me atribuye el descubrimiento de un bug relacionado a la función is_admin que permitía ver los borradores y entradas privadas. Mi participación en esta última versión tiene que ver más que todo con problemas relacionados a XMLRPC, wp-mail.php y otros que por el momento no puedo comentar, puesto que no tienen que ver mucho con la versión clásica de WordPress y además las correcciones a estos problemas probablemente recién se incluyan en la nueva versión. Aquí un extracto, ligeramente modificado para no dar ningún detalle, del intercambio de correos que tuve con uno de los desarrolladores:

By the way, we added some measures to address the problem you found. It’s on wordpress.com right now. It’s a fairly big change, and since its mainly an MU problem, we won’t address it in WP until either 2.3.3 or 2.4.
Sound good?

Finalmente, es posible que esta sea la última entrada que escriba este año antes de viajar a mi pueblo natal, pero no quiero irme sin antes agradecer a todos y cada uno de ustedes por cada visita, enlace o comentario que hayan hecho.

Les deseo un feliz y próspero 2008.

» Leer más, comentarios, etc...

Blog de Sergio Álvarez Fernández

Wordpress 2.3.2 y Akismet 2.1.3

Diciembre 30th, 2007 - [Enlace local]

Andrés Nieto nos cuenta que hay una nueva actualización disponible para WordPress. Disponible aquí.

Además veo que hay una nueva actualización de Akismet, el plugin antispam para WordPress..

Saludos!;)

» Leer más, comentarios, etc...

Pensamientos ágiles

Feliz año nuevo y ya son cinco años bloggeando

Diciembre 30th, 2007 - [Enlace local]

Bueno, quizás alguno haya notado que no he escrito nada esta última semana. Esto se debe a que ahora mismo estoy en España, de vacaciones, y escribiendo esta entrada con una conexión de prestado.

Hemos aprovechado estos días para visitar a la familia y aunque esto ya se está acabando y pronto, pero que muy pronto (sniff), estaré ya de vuelta por Dublin, pues quería aprovechar la ocasión para felicitaros a todos los que os pasáis de vez en cuando por aquí un feliz año 2008.

Y otra cosa, es que parece que debo estar de cumpleaños. Allá por finales del 2002 empezaba a bloggear. Es una pena porque aunque cuando el año pasado comentaba que era el cuarto aniversario todavía estaba disponible mi viejo blog en blog-city.com pero ahora lo han borrado ya. Lo más viejo que he encontrado es lo que se puede ver en el historico de archivo.org que es de Abril del 2003.

Que tiempos eran aquellos. El concepto de blog apenas existía y creo que eramos unos cuantos "frikis" los que teníamos la desvergüenza de escribir a pecho descubierto en la red de redes. Claro, ahora lees las entradas y te partes de risa: que si patentes en .NET, que si nos recomiendan escribir tests unitarios, que si las nuevas características de C# y si Java las debe adoptar, en fin. Cuantas cositas que al final, realmente, aunque en el momento nos puedan parecer importantes, pues mirando hacia tras te das cuenta de que son un poco tonterías, que todo se ha pasado ya y que realmente lo importante es pasar un año más con tu familia, amigos y las personas que quieres. Siempre hablamos de que la tecnología avanza rapidísimo, pero la verdad es que los años pasan todavía más rápido :-)

Pues eso, que ¡feliz año!

» Leer más, comentarios, etc...

Bitácora de Javier Gutiérrez Chamorro (Guti)

Funciones intrínsecas en VC++ 2008

Diciembre 30th, 2007 - [Enlace local]

Publican en el Visual C++ Team Blog, un inventario exhaustivo de las funcionalidades intrísecas que se han incorporado al Visual C++ 9 (2008).

Las funciones intrínsecas, permiten aprovechar a bajo nivel los juegos de instrucciones de procesadores CISC recientes, de forma más o menos portable. Así, mientras las compilaciones para x64 no soportan ensamblador en linea, las funciones intrínsecas siguen estando disponibles.

Parece ser también, que al compilador, y sobre todo al optimizador, les resulta más fácil manejarlas que el assembler inline, por lo que es probable que ofrezcan también un mejor rendimiento.

El listado de intrínsecas añadidas, es el siguiente:

SSE
CVTSI2SS - Converts a 64-bit signed integer to a floating point value and inserts it into a 128-bit parameter. Intrinsics: _mm_cvtsi64_ss
CVTSS2SI - Extracts a 32-bit floating point value and rounds it to a 64-bit integer. Intrinsics: _mm_cvtss_si64
CVTTSS2SI - Extracts a 32-bit floating point value and truncates it to a 64-bit integer. Intrinsics: _mm_cvttss_si64
SSE2
CVTSD2SI - Extracts the lowest 64-bit floating point value and rounds it to an integer. Intrinsics: _mm_cvtsd_si64
CVTSI2SD - Extracts the lowest 64-bit integer and converts it to a floating point value. Intrinsics: _mm_cvtsi64_sd
CVTTSD2SI - Extracts a 64-bit floating point value and truncates it to a 64-bit integer. Intrinsics: _mm_cvttsd_si64
MOVNTI - Writes 64 bits to a specified memory location. Intrinsics: _mm_stream_si64
MOVQ - Moves a 64-bit integer either to or from a 128-bit parameter. Intrinsics: _mm_cvtsi64_si128, _mm_cvtsi128_si64

SSE3
PABSB / PABSW / PABSD - Gets the absolute value of signed integers. Intrinsics: _mm_abs_epi8, _mm_abs_epi16, _mm_abs_epi32, _mm_abs_pi8, _mm_abs_pi16, _mm_abs_pi32
PALIGNR - Combines two parameters and right-shifts the result. Intrinsics: _mm_alignr_epi8, _mm_alignr_pi8
PHADDSW - Adds two parameters that contain 16-bit signed integers, saturating the result at the maximum value for 16 bits. Intrinsics: _mm_hadds_epi16, _mm_hadds_pi16
PHADDW / PHADDD - Adds two parameters that contain signed integers. Intrinsics: _mm_hadd_epi16, _mm_hadd_epi32, _mm_hadd_pi16, _mm_hadd_pi32
PHSUBSW - Subtracts two parameters that contain 16-bit signed integers, saturating the result at the maximum value for 16 bits. Intrinsics: _mm_hsubs_epi16, _mm_shubs_pi16
PHSUBW / PHSUBD - Subtracts two parameters that contain signed integers. Intrinsics: _mm_hsub_epi16, _mm_hsub_epi32, _mm_hsub_pi16, _mm_hsub_pi32
PMADDUBSW - Multiplies and adds together 8-bit integers. Intrinsics: _mm_maddubs_epi16, _mm_maddubs_pi16
PMULHRSW - Multiplies 16-bit signed integers and right shifts the results. Intrinsics: _mm_mulhrs_epi16, _mm_mulhrs_pi16
PSHUFB - Selects and shuffles 8-bit chunks from a 128-bit parameter. Intrinsics: _mm_shuffle_epi8, _mm_shuffle_pi8
PSIGNB / PSIGNW / PSIGND - Negates, zeroes, or preserves signed integers. Intrinsics: _mm_sign_epi8, _mm_sign_epi16, _mm_sign_epi32, _mm_sign_pi8, _mm_sign_pi16, _mm_sign_pi32

SSE4A
EXTRQ - Extracts specified bits from the parameter. Intrinsics: _mm_extract_si64, _mm_extracti_si64
INSERTQ - Inserts specified bits into a given parameter. Intrinsics: _mm_insert_si64, _mm_inserti_si64
MOVNTSD / MOVNTSS - Writes bits directly to a specified memory location without polluting the caches. Intrinsics: _mm_stream_sd, _mm_stream_ss

SSE4.1
DPPD / DPPS - Calculates the dot product of two parameters. Intrinsics: _mm_dp_pd, _mm_dp_ps
EXTRACTPS - Extracts a specified 32-bit floating point value from the parameter. Intrinsics: _mm_extract_ps
INSERTPS - Inserts a 32-bit integer into a 128-bit parameter and potentially zeroes out some bits. Intrinsics: _mm_insert_ps
MOVNTDQA - Loads 128 bits of data from a specified memory location. Intrinsics: _mm_stream_load_si128
MPSADBW - Calculates eight offset sums of absolute difference. Intrinsics: _mm_mpsadbw_epu8
PACKUSDW - Converts 32-bit signed integers to signed 16-bit integers using 16-bit saturation. Intrinsics: _mm_packus_epi32
PBLENDW / BLENDPD / BLENDPS / PBLENDVB / BLENDVPD / BLENDVPS - Blends two parameters together various chunk sizes. Intrinsics: _mm_blend_epi16, _mm_blend_pd, _mm_blend_ps, _mm_blendv_epi8, _mm_blendv_pd, _mm_blendv_ps
PCMPEQQ - Compares 64-bit integers for equality. Intrinsics: _mm_cmpeq_epi64
PEXTRB / PEXTRW / PEXTRD / PEXTRQ - Extracts an integer from the input parameter. Intrinsics: _mm_extract_epi8, _mm_extract_epi16, _mm_extract_epi32, _mm_extract_epi64
PHMINPOSUW - Selects the minimum 16-bit unsigned integer and determines its index. Intrinsics: _mm_minpos_epu16
PINSRB / PINSRD / PINSRQ - Inserts an integer into a 128-bit parameter. Intrinsics: _mm_insert_epi8, _mm_insert_epi32, _mm_insert_epi64
PMAXSB / PMAXSD - Takes signed integers from two parameters and selects the maximum. Intrinsics: _mm_max_epi8, _mm_max_epi32
PMAXUW / PMAXUD - Takes unsigned integers from two parameters and selects the maximum. Intrinsics: _mm_max_epu16, _mm_max_epu32
PMINSB / PMINSD - Takes signed integers from two parameters and selects the minimum. Intrinsics: _mm_min_epi8, _mm_min_epi32
PMINUW / PMINUD - Takes unsigned integers from two parameters and selects the minimum. Intrinsics: _mm_min_epu16, _mm_min_epu32
PMOVSXBW / PMOVSXBD / PMOVSXBQ / PMOVSXWD / PMOVSXWQ / PMOVSXDQ - Converts signed integers of one size to a larger size. Intrinsics: _mm_cvtepi8_epi16, _mm_cvtepi8_epi32, _mm_cvtepi8_epi64, _mm_cvtepi16_epi32, _mm_cvtepi16_epi64, _mm_cvtepi32_epi64
PMOVZXBW / PMOVZXBD / PMOVZXBQ / PMOVZXWD / PMOVZXWQ / PMOVZXDQ - Converts unsigned integers of one size to a larger size. Intrinsics: _mm_cvtepu8_epi16, _mm_cvtepu8_epi32, _mm_cvtepu8_epi64, _mm_cvtepu16_epi32, _mm_cvtepu16_epi64, _mm_cvtepu32_epi64
PMULDQ - Multiplies 32-bit signed integers and stores the result as 64-bit signed integers. Intrinsics: _mm_mul_epi32
PMULLUD - Multiplies 32-bit signed integers. Intrinsics: _mm_mullo_epi32
PTEST - Calculates a bitwise test of two 128-bit parameters and returns a value based on the CF and ZF bits of the CC flags register. Intrinsics: _mm_testc_si128¸ _mm_testnzc_si128, _mm_testz_si128
ROUNDPD / ROUNDPS - Rounds floating point values. Intrinsics: _mm_ceil_pd, _mm_ceil_ps, _mm_floor_pd, _mm_floor_ps, _mm_round_pd, _mm_round_ps
ROUNDSD / ROUNDSS - Combines two parameters, rounding a floating point value from one of them. Intrinsics: _mm_ceil_sd, _mm_ceil_ss, _mm_floor_sd, _mm_floor_ss, _mm_round_sd, _mm_round_ss

SSE4.2
CRC32 - Calculates the CRC-32C checksum of a parameter. Intrinsics: _mm_crc32_u8¸ _mm_crc32_u16, _mm_crc32_u32, _mm_crc32_u64
PCMPESTRI / PCMPESTRM - Compares two parameters of specified length. Intrinsics: _mm_cmpestra, _mm_cmpestrc, _mm_cmpestri, _mm_cmpestrm, _mm_cmpestro, _mm_cmpestrs, _mm_cmpestrz
PCMPGTQ - Compares two parameters. Intrinsics: _mm_cmpgt_epi64
PCMPISTRI / PCMPISTRM - Compares two parameters. Intrinsics: _mm_cmpistra, _mm_cmpistrc, _mm_cmpistri, _mm_cmpistrm, _mm_cmpistro, _mm_cmpistrs, _mm_cmpistrz
POPCNT - Counts the number of bits set to 1. Intrinsics: _mm_popcnt_u32, _mm_popcnt_u64, __popcnt16, __popcnt, __popcnt64

Advanced Bit Manipulation
LZCNT - Counts the number of zeroes at the start of a parameter. Intrinsics: __lzcnt16, __lzcnt, __lzcnt64
POPCNT - Counts the number of bits set to 1. Intrinsics: _mm_popcnt_u32, _mm_popcnt_u64, __popcnt16, __popcnt, __popcnt64

Other new intrinsics
_InterlockedCompareExchange128 - Compares two parameters.
_mm_castpd_ps / _mm_castpd_si128 / _mm_castps_pd / _mm_castps_si128 / _mm_castsi128_pd / _mm_castsi128_ps - Reinterprets between 32-bit floating point values (ps), 64-bit floating point values (pd), and 32-bit integers (si128).
_mm_cvtsd_f64 - Extracts the lowest 64-bit floating point value from the parameter.
_mm_cvtss_f32 - Extracts a 32-bit floating point value.
_rdtscp - Generates RDTSCP. Writes TSC AUX[31:0] to memory and returns the 64-bit Time Stamp Counter result.




Artículo publicado originalmente en Bitácora de Javier Gutiérrez Chamorro (Guti) - http://guti.bitacoras.com.

» Leer más, comentarios, etc...

Navegapolis

Evaluación de una arquitectura orientada a servicios

Diciembre 29th, 2007 - [Enlace local]

DiagramaSeguramente SOA (arquitectura orientada a servicios) es el paradigma de arquitectura más adecuado para diseñar soluciones flexibles de integración con otros sistemas de forma simple, y que permite modelos de desarrollo ágiles capaces de responder al mantenimiento en entornos de negocio rápidos.

SEI ha publicado el informe "Evaluating a Service-Oriented Architecture", un compendio de información imprescindible para arquitectos e ingenieros que trabajan con SOA; que contiene el tutorial que sobre este tema expusieron sus autores en el certamen SATURN 2007.

El título del trabajo no hace justicia al contenido, porque ofrece bastante más que un modelo o criterios para la evaluación de la arquitectura (que no es poco).

 

» Leer más, comentarios, etc...

Fetishcode...Thinking in objects

Joomla Hispano

Diciembre 29th, 2007 - [Enlace local]

A

» Leer más, comentarios, etc...

avemundi, blog de un micro-isv » Desarrollo de software

tudumo

Diciembre 29th, 2007 - [Enlace local]

De nuevo gracias a el canasto he descubierto una nueva aplicación GTD llamada Tudumo. La aplicación es un gestor de tareas o to-do list muy sencilla de utilizar, en la linea de TaskPaper pero esta vez para Windows. El programa permite anotar tareas pendientes por proyectos, marcando su importancia de acuerdo a las categorias GTD - siguiente acción, acción a realizar, retenido, realizado, en espera, algún día - y añadiendo tags que vienen a simular los contextos de GTD.

Tudumo es un software de una elegancia fuera de lo normal. El concepto de usabilidad que maneja su desarrollador está muy por encima de lo habitual, y viendo lo bien hecho que está creo que a cualquier programador se le quitan las ganas de ponerse a hacer un programa de ese tipo. Ahora mismo el programa está en fase beta, y el autor tiene intención de realizar su internacionalización una vez terminado. La web del programa cuenta también con un blog donde el autor va contando lo que va haciendo y también explica aspectos de funcionamiento del programa.

Un programa realmente impresionante.

» Leer más, comentarios, etc...

4 bits blog

Aprendiendo GTK+: Introducción

Diciembre 29th, 2007 - [Enlace local]

Desde hace tiempo vengo queriendo hacer una serie de posts para explicar (a la vez que yo aprendo) a programar interfaces gráficas usando GTK+, que es el toolkit usado por las aplicaciones de GNOME, aunque es multiplataforma y puede ser usado en varios sistemas operativos (Windows, Mac).

En esta serie de posts no planeo explicar todo al detalle, ya que existen muy buenos documentos para ello, pero sí quiero dar unas nociones básicas para que cualquiera pueda desenvolverse luego y seguir aumentando sus conocimientos sin mucho esfuerzo, además yo voy a ir aprendiendo paralelamente a estos posts, así que puede que tengan fallos, perdonadme por ello.

Introducción diseño de interfaces gráficas

Lo primero que quiero es realizar una pequeña introducción al diseño (desde el punto de vista de la programación, eso siempre) de las interfaces gráficas, desde un punto de vista genérico, es decir, sin relación a un lenguaje o plataforma específica.

Una interfaz gráfica es un medio por el cual el usuario trabaja con la aplicación de una manera gráfica, normalmente usando entornos de ventanas. Se diferencia de una interfaz de texto, en que en éstas el usuario trabaja con la aplicación introduciendo texto, normalmente usando órdenes en consolas.

El diseño de una interfaz gráfica se basa en objetos (en GTK+ se les conoce como widgets) como pueden ser botones, cuadros de texto, menús, etc… que permiten realizar acciones específicas. Estos objetos, a nivel de programación, tendrán unas propiedades y, lo más importante, unos eventos (o señales) que se dispararán cuando se realice algún tipo de acción sobre ellos (por ejemplo: se pulsa un botón, se introduce texto en un cuadro de texto, …)

Para mí, lo más importante es entender que estos eventos deben ser tratados inmediatamente, para ello normalmente se relaciona una función y unos datos a un evento, de este modo cada vez que se produzca dicho evento se ejecutará la función junto a los datos que tenga relacionados.

¿Qué es GTK+?

GTK+ es un toolkit, o una librería, para programar las interfaces gráficas de una aplicación. Está escrito en C, aunque dispone de bindings para bastantes lenguajes (C++, Python, …).

Además, se complementa con otra serie de librerías del proyecto GNOME, como son:

GTK+ se basa en GObject, del cual no conozco mucho, pero se puede decir que es una manera de programar en C con una orientación a objetos.

Documentación para iniciarse

Para iniciarse lo mejor sin duda es leer documentos que expliquen paso a paso como realizar cosas cada vez más complejas, para ello se pueden usar los siguientes documentos:

» Leer más, comentarios, etc...

Pwned's blog

Adobe Air

Diciembre 28th, 2007 - [Enlace local]

Adobe Integrated Runtime o Apollo, es el nuevo runtime con el que Adobe apuesta a competir contra Silverligth de Microsoft en el mercado de las aplicaciones RIA (Rich Internet Application), asi es en aplicaciones web con funcionalidad de escritorio.

El video que muestra la pagina de Adobe Labs,las aplicaciones de prueba y la se ven muy prometedoras. El siguiente es un video que me encontre en youtube, donde muestran la interfaz del Iphone realizada con AIR.




Uno de los puntos fuertes de AIR es que pueden realizarse con lenguajes y tecnologia lo cuales ya te encuentras familiarizado como HTML, AJAX y Flex. Me imagino que la estrategia de Adobe cuando libero Flex fue orientandose a la salida de AIR para que los desarrolladores se fueran familiarizados con el framework.

Aqui esta un video donde desmuestran las capacidades de Windows Presentation Foundation.


En lo personal me encuentro utilizando xbap y WPF la cual me han sido de utilidad, para algunos casos, sobre todo cuando las interfaces requieren de mayor procesamiento, en estos casos donde el navegador, html y el javascript ya no es suficiente.

Anteriormente la manera que habia encontrado era utilizando un control de usuario de una winform con el tag object, esta tecnologia muy poco documentada llamada por microsoft "Fusion", te permite que el control de usuario se ejecute sobre internet explorer, y escuchar los eventos del control utilizando javascript.


Mi siguiente proyecto lo planeo hacer utilizando WPF, pero antes me gustaria esperar a ver que sucede con Adobe AIR ya que es un proyecto de varios meses, por lo que pronto me encontrare trabajando sobre una pequeñan aplicación de prueba utilizando AIR.

En la siguiente liga tambien se encuentra una comparativa interesante:
http://blogs.zdnet.com/Stewart/?p=350

Fuente:tisobrelaweb
¿Tienes alguna recomendación o comentario sobre cual es mejor opción?

© Pwned's Blog

» Leer más, comentarios, etc...

Picando Código

Resúmen anual JUGUY

Diciembre 28th, 2007 - [Enlace local]

JUGUY

El grupo de usuarios Java del Uruguay, envía un mail a los usuarios con un resúmen anual del grupo, además de las expectativas para el 2008.
Qué mejor momento que ahora para inscribirse en la comunidad!

Al culminar este año, que coincide con el primer año de vida del grupo, queremos desearles a todos un excelente 2008 y compartir un pequeño resumen de lo logrado en 2007 y los planes para el año que comienza.

El balance del 2007 para el grupo es mas que positivo.

Comenzamos hace poco mas de un año con muchas expectativas y nada de experiencia en la formación de comunidades de usuarios, área en la que tenemos muchísimo por mejorar, y a la fecha nuestra comunidad se compone de mas de 460 usuarios.

Organizamos, tanto solos como en colaboración con el Grupo de Usuarios Linux del Uruguay, charlas y talleres técnicos abiertos y gratuitos, orientados a volcar conocimiento genuino (sin componentes de marketing) a la comunidad informática, sean o no parte de los respectivos grupos de usuarios.

Logramos un acuerdo importante con la editorial O’Reilly que ha servido como base para la formación de nuestra, por ahora pequeña pero en crecimiento, biblioteca.

Logramos un acuerdo con la Iniciativa Académica de Sun (SAI), que permite que nuestros usuarios cuenten con los beneficios que tienen los estudiantes de insitituciones educativas asociadas a la SAI. Entre otros la posibilidad de acceder gratuitamente a un amplio conjunto de cursos online y a descuentos del 60% en las certificaciones oficiales de Sun.

JavaUy 2007 Logramos realizar el mayor evento tecnológico del área Java del Uruguay, con mas de 400 asistentes. Javauy07 presentó en dos tardes alrededor de 20 sesiones y laboratorios técnicos completamente gratuitos y completamente “marketing free” :)

Hay muchísimas cosas para hacer en 2008 y a partir de febrero o marzo, luego de un merecido descanso, comenzaremos a convocarlos para participar tanto en los temas que tenemos en agenda como aportando nuevas iniciativas.

Entre otras cosas queremos:

Para finalizar queremos agradecer a todos los que apoyan esta iniciativa:

Felicidades y un gran abrazo a todos!

» Leer más, comentarios, etc...

Fetishcode...Thinking in objects

Fetishcode estrena diseño

Diciembre 28th, 2007 - [Enlace local]

A

» Leer más, comentarios, etc...

soft·in·spain

Servicio de galerías fotograficas

Diciembre 28th, 2007 - [Enlace local]

Acabamos de poner en marcha una revisión de la web de La Galería Digital

Se trata de un sistema de galerías fotográficas en Internet donde los fotógrafos, profesionales y amateurs, pueden mostrar sus imágenes, incluso vender fotos. Tiene la posibilidad de tener álbumes privados y públicos.

Ahora hemos automatizado el alta de las galerías, tanto para prueba como para compra, pudiendo realizar el pago mediante Paypal. Inicialmente las galerías tienen 1GB de espacio, pero no hay límite, se paga por uso.

» Leer más, comentarios, etc...

Blog del grupo SQUaC

Método infalible de identificación de bugs

Diciembre 28th, 2007 - [Enlace local]

En muchas ocasiones los profesionales dedicados al testeo tienen problemas en decidir si un determinado funcionamiento de un sistema o de un programa es una funcionalidad esperada (de acuerdo a las especificaciones), o si se trata de un error (un bug). Hemos encontrado un gráfico que permite diferenciar ambos casos de una manera sencilla, y que [...]

» Leer más, comentarios, etc...

programania

Mejorar las excepciones con el __autoload en PHP

Diciembre 28th, 2007 - [Enlace local]

function __autoload($className){

if(!file_exists($className.'.php')){

return eval("class {$className}{public function __construct(){throw new

     Exception('Class not found!');}}");

}

Es una elegante manera de provocar y controlar excepciones al autocargar clases.

» Leer más, comentarios, etc...

Bitácora de Javier Gutiérrez Chamorro (Guti)

Canciones del programador

Diciembre 28th, 2007 - [Enlace local]

En varios blogs, he leído sobre las canciones del programador para estas navidades, en sus dos variantes:

1) Reggaeton



2) Punk-Rock



Personalmente, me quedo con la segunda versión, aunque la letra de ambas, merece la pena.


Artículo publicado originalmente en Bitácora de Javier Gutiérrez Chamorro (Guti).

» Leer más, comentarios, etc...

Variable not found

Rumor confirmado: Microsoft ficha a Stallman

Diciembre 28th, 2007 - [Enlace local]

Imagen de la firma del contratoAunque hace varias semanas que el rumor saltó a la blogosfera, hoy han confirmado la noticia en una rueda de prensa conjunta: a partir del próximo 1 de enero Stallman formará parte de la plantilla de Microsoft en Redmond.

La nota de prensa publicada por Microsoft recoge, textualmente, los siguientes párrafos:

"Microsoft siempre apuesta por el talento, y Richard Stallman es uno de los más reputados ideólogos del mundo del desarrollo del software."
[...]
"Sin duda, se trata de una de las incorporaciones más importantes a la compañía de los últimos años, por lo que no hemos escatimado en recursos. Las negociaciones las han llevado a cabo directamente Gates y Ballmer, los dos máximos directivos, lo que demuestra la magnitud de la apuesta estratégica que se está llevando a cabo"
Por su parte, Richard Stallman, que nunca ha destacado por su aprecio a la multinacional, justifica la decisión en su blog:

"En realidad nuestras posturas nunca han estado muy alejadas, aunque veíamos las cosas desde perspectivas diferentes. Microsoft, al igual que GNU y el conjunto del movimiento Open Source, pretende hacer llegar el software a todo el mundo y hacer que sea un bien universal."
[...]
"Hay más puntos en común que diferencias, sólo era cuestión de sentarnos y dialogar sobre hacia dónde podíamos caminar juntos"

Gates y Stallman en la rueda de prensaEn principio Stallman encabezará una nueva división en Microsoft destinada al análisis y evaluación de soluciones de software libre para el segmento SOHO (Small Office, Home Office) y grandes corporaciones, así como a dirigir la adaptación de ciertos componentes del microkernel de Linux a Windows Server 2012 (codename "MindBreaker"), que se lanzará al mercado en unos años y del que ya están disponibles vía MSDN algunos whitepapers y documentos muy muy preliminares.

Este movimiento forma parte de la estrategia de acercamiento de Microsoft al mundo del software libre, como se lleva viendo algún tiempo. Los acuerdos entre Microsft y Novell, la publicación del código fuente de .NET Framework y la gran cantidad de líneas de actuación que están promoviendo así lo demuestran.

Y por cierto, se dice que el próximo en la lista de Most Wanted People de Microsoft y con el que hay conversaciones bastante avanzadas (de nuevo, pues ya las hubo hace tiempo) es Miguel de Icaza, líder del proyecto Mono, aunque él todavía no ha declarado nada al respecto. Otros en la lista son el mismísimo Linus Torvalds, creador del primer núcleo de Linux, firme candidato a liderar el área de arquitectura de servidores y servicios, y Vinton Cerf, considerado el padre de internet, para el puesto de Technical Chief Developer de la línea de productos Internet Explorer.

Habrá que esperar para ver a qué conduce esta reorientación en la estrategia que se viene observando desde hace unos meses, y sobre todo en qué se traduce la fiebre por los fichajes de figuras del mundillo. El tiempo lo dirá.

Actualización 29/12
Nota para despistados, que haberlos, haylos: obviamente la noticia no es real, se trata de una broma del día de los inocentes.
Por cierto, hay muchos comentarios simpáticos en mi blog en geeks.ms.


Publicado en: www.variablenotfound.com.

» Leer más, comentarios, etc...

Buayacorp

Nueva revista sobre PostgreSQL

Diciembre 28th, 2007 - [Enlace local]

Para los que suelen trabajar con PostgreSQL, acaba de salir el primer número de la revista Postgres OnLine Journal, que trata sólo temas relacionados a PostgreSQL. Esta edición incluye los siguientes artículos:

El siguiente número todavía está en progreso pero se puede estar leyendo parte de los artículos.

» Leer más, comentarios, etc...

diaztorres.com

Obligada lectura: E4X

Diciembre 27th, 2007 - [Enlace local]

Este es un post de obligada lectura sobre E4X.

AS3 E4X Rundown” de Roger Braunstein

» Leer más, comentarios, etc...

Jorge Dieguez Blog

Los Portales, más allá de la publicación de contenidos

Diciembre 27th, 2007 - [Enlace local]

Tengo muchos amigos que desarrollan aplicaciones Web, aplicaciones “serias” que gestionan procesos “críticos”.
Hablando con uno de ellos,Pablo Espinosa le planteaba la pregunta:
¿Por qué no usas alguna solución basada en Portal?, como Pablo trabaja con tecnología Java lo primero que le envié fueron los links de los productos que podría usar como servidores de Portal:

En principio se tiene asociada la imagen de una solución de Portal con gestión y publicación de contenidos Web en entornos de Internet(páginas web corporativas) o Intranet(portal del empleado).
Muchas personas a priori no le ven utilidad a un Portal para construir las aplicaciones de negocio. ¿Dónde están las ventajas?

La idea de un Portal es permitir de forma visual componer / configurar soluciones en tiempo de ejecución y de forma ágil para el cliente.

Los portales(entre otras funcionalidades) permiten componer las paginas por medio de Componentes Gestionables WebParts(Portlest en el mundo Java).
El administrador(o un usuario con privilegios determinados) arrastra y suelta los componentes que necesite en cada momento. En lugar de diseñar la vista(.aspx o .jsp) en tiempo de diseño lo hacemos en tiempo de ejecución. De esta forma obtenemos una solución flexible, extensible y que se adapta de forma ágil a las necesidades del negocio.
Normalmente los Portales permiten asociar a cada componente reglas de seguridad, de esta forma no todos los usuarios pueden ver todos los componentes de una página.

Si hay personas que aun no lo ven que jueguen con http://www.google.com/ig y se imaginen que el ERP de la empresa se configura en base a crear pestaña y arrastrar componentes(lista de clientes, lista de proveedores, material, proyectos, etc.) a la pagina que tiene cada pestaña. 
 

Por otra parte es muy importante el correcto diseño de la lógica de negocio(que no está implementada en los WebParts), en este punto la idea es que la lógica de negocio se exponga como API o Servicio Web, de esta forma los WebParts interactúan con la lógica de negocio(así como sistemas externos también pueden consumir los servicios).

 

Como me comento mi buen amigo Ángel,con referencia al uso de Portales como base para aplicaciones Web:
"te lo damos todo hecho, pero si tu quieres perder el tiempo"
"pero aquí nos gusta inventar la rueda" :-)

» Leer más, comentarios, etc...

xailer.info (esp)

FormWizard una pequeña utilidad para Xailer.

Diciembre 27th, 2007 - [Enlace local]

Una de las mejores cosas que tenemos a nuestra disposición en Xailer, es poder diseñar nuestros Form con acceso a una base de datos usando DataControls de una forma muy sencilla.

Pero comentando el otro día, en la taberna entre dos vinos como hacemos los de Bilbao, el amigo David Marina me comentaba que le parecía curioso que no hubiera, como en otros IDEs de programación, algunos Wizard para hacer cosas elementales como un form con todos los campos de una tabla y tenía razón, así que le animé a que lo hiciera como ejercicio práctico y así comenzó esta pequeña historia que entre ambos hemos montado.

FormWizard es una utilidad que permite tomar un DBF (lo siento de momento no sabemos de SQL) y con todos sus campos o los indicados y en el orden deseado, mas otras florituras, genera un formulario con su PRG y XFM que guardaremos en la carpeta Source del proyecto en el que estamos y listo. Asigna los DataControl al control más lógico, los autoajusta al tamaño necesario, etc.

A continuación simplemente añadimos el recién creado PRG al proyecto (Proyecto - Añadir fichero al proyecto o el Icono correspondiente) y listo. Pulsando F12 podremos ver el formulario y modificarlo al gusto si nos apetece, ya que es lo mismo que si lo hubiéramos hecho a mano desde cero con el IDE.

Si además queremos usarlo con mas facilidad lo mejor es meter el ejecutable en la carpeta que queramos (yo lo he puesto en C:\Xailer\Bin) añadirlo al menú herramientas mediante la opción “Configurar herramientas? con los siguientes datos:

Herramienta FormWizard

Aunque no es una ayuda bárbara, esperamos que os guste y le saquéis provecho a nuestro regalo navideño. Proyecto FormWizard

» Leer más, comentarios, etc...

Buayacorp

Nueva versión del plugin “Permalink Fix?

Diciembre 27th, 2007 - [Enlace local]

Hace algún tiempo publiqué una versión alpha de un plugin que elimina todos los caracteres especiales de los permalinks (Ejm: ¿, !, etc). Si bien es cierto que este plugin hacía relativamente bien su trabajo, existía un bug en el para las entradas anteriores que contenían ese tipo de caracteres, devolvía una página de error (no encontrado).

Aprovechando el tiempo libre de estas fiestas de fin de año he corregido este bug, de modo que ahora el plugin sólo se ejecuta antes de guardar las entradas:

<?php
/*
Plugin Name: Permalink Fix
Plugin URI: http://www.buayacorp.com/
Description: Elimina algunos caracteres especiales de las URLs de las entradas (Ejm: ¿, !, etc).
Author: Alexander Concha
Version: 0.1.2
Author URI: http://www.buayacorp.com/
*/

if (!defined('ABSPATH')) die;

// Based on sanitize_title_with_dashes method (wp-includes/formatting.php)
function custom_sanitize_title_with_dashes($title) {
	$title = strip_tags($title);
	// Preserve escaped octets.
	$title = preg_replace('|%([a-fA-F0-9][a-fA-F0-9])|', '---$1---', $title);
	// Remove percent signs that are not part of an octet.
	$title = str_replace('%', '', $title);
	// Restore octets.
	$title = preg_replace('|---([a-fA-F0-9][a-fA-F0-9])---|', '%$1', $title);

	$title = remove_accents($title);

	if (function_exists('mb_strtolower') && seems_utf8($title)) {
		$title = mb_strtolower($title, 'UTF-8');
	} else {
		$title = strtolower($title);
	}

	$title = preg_replace('/&.+?;/', '', $title); // kill entities
	$title = preg_replace('/[^%a-z0-9 _-]/', '', $title);

	$title = preg_replace('/[\s-]+/', '-', $title);
	$title = trim($title, '-');

	return $title;
}

function __enable_fix($post_name) {
	remove_filter('sanitize_title', 'sanitize_title_with_dashes');
	add_filter('sanitize_title', 'custom_sanitize_title_with_dashes');

	return $post_name;
}

add_filter('pre_post_name', '__enable_fix');
?>

Si por azares del destino alguien está usando este plugin :D , es recomendable que actualicen para evitar este molesto error. Pueden descargar la actualización desde este blog o desde mi repositorio temporal de código.

» Leer más, comentarios, etc...