Canal RSS

Fiesta de fin de año en San Diego

Publicado en

Actualmente me encuentro en San Diego por trabajo, anoche se celebro la fiesta de fin de año de la empresa a la que me enviaron. Les dejo el extracto del blog interno acerca del tema:

“This year’s IAI holiday party was pretty fun. There was plenty of gambling and appetizers. Jason was all suited up and our Scott looked pimped out. Lee was glued to the Roulette table and was one of the night’s high rollers. I unfortunately lost all my chips at the poker table, how could this have happened? Tommy was the Poker King for most of the night though Greg took Jack’s money at poker, hopefully he still has a job.

When it was time for the prizes, your remaining chips turned into raffle tickets. Luckily my wife (Erica) had all her chips so we were in the running for some prizes. The restaurant’s microphone was on the fritz so the voice sounded like Darth Vader on crack. The final and biggest prize were premium (super expensive) Chargers vs. Denver tickets which went to the lucky Javier Arias.

Although I had three Long Island Ice Teas and was kinda buzzed, I do have a vivid memory of having a great time.

Here are some photos from the IAI Holiday Party.
http://flickr.com/photos/jnegretti/sets/72157603459133943/

Sean Dreilinger has a more extensive photo collection.
http://flickr.com/photos/seandreilinger/sets/72157603452445492/

Porfa perdonen la falta de acentos, tengo un teclado en ingles :P

Lo que me quedó del BBC

Publicado en

El jueves pasado se realizo, aquí en la ciudad de Córdoba, el encuentro de bloggers denominado Birras, blogs y cultura, esta vez organizado por la gente de La Voz Del Interior.

Como ya deben haber advertido, hace bastante tiempo que tengo descuidado el blog, pero igual fui, invitado por Lucas.

“Your comment is awaiting moderation.”

El evento, sin ser gran cosa, fue interesante porque encontró a los blogger corrientes y a los editores del blog institucional de La Voz, en un debate sobre la censura en los comentarios de los post del popular diario cordobés. Los editores se defendieron argumentando que, lejos de censurar, solo moderan aquellos comentarios que pueden llegar a ser causantes de una acción legal contra la empresa, hay numerosos casos en los que los diarios han sido perjudicados por comentarios de sus lectores.

Sin embargo esto no es del todo cierto, la censura en los diarios existe. Hace un tiempo atrás fui testigo de como el diario Clarín censura, aceptando solo aquellos comentarios que están de acuerdo con la opinión del autor del post, aquellos que no, son descartados y no se publican. El articulo y su contenido en cuestión no vienen al caso, lo que realmente importa es que todos nuestros intentos por expresar nuestro desacuerdo con el mismo fue en vano, ya que fueron censurados sin explicación alguna.

Volviendo al tema original, estos encuentros resultan amenos, pizza y cerveza mediante, e interesantes. Pero quizás lo más importante es que devuelven las ganas de postear.

 

(Ah! Me olvidaba, este es mi primer post escrito íntegramente en mi nueva Palm ^_^)

Una Pausa

Publicado en

Han pasado dos semanas en que no aparecí por el blog, y es impresionante como caen las visitas cuando no lo actualiza XD

Les comento porque no di noticias. La razón principal es que me mudé de casa, ahora vivo en un departamento en el centro de la ciudad de Córdoba, el problema es que todavía no me compre una pc y se me complica para andar subiendo cosas desde otra maquina.

Por otro lado, también cambié de trabajo, la empresa donde trabajo ahora se llama Santex America, y actualmente me asignaron al equipo que desarrolla Gosasa.

En estos días tuve que lidiar con CrossDomain Ajax (algo por el momento imposible), expresiones regulares y mucho PHP. Todo esta muy interesante. Prometo que apenas pueda me compro una pc nueva, me conecto a Internet y les voy contando las cosas que voy aprendiendo y por donde me voy metiendo en esta odisea que es ser desarrollador :P

Nos vemos!

Semántica

Publicado en

La Web 2.0 es mas que una Internet con paginas bonitas de bordes redondeados gradientes, el propósito real de la Web 2.0 es una web donde los servicios, sobretodo, el contenido de los sitios sea accesible, editable, indexable, desde otros sitios o programas. Un ejemplo claro de esta tendencia es el RSS, o los sitios como Pageflakes, Fliker, etc.

Un aspecto muy importante para la futura WEB 2.0 es la semántica de los sitios. Pero, ¿que es la semántica?

¿Que es la semántica?

El HTML original fue creado con la intención de proporcionar formato al contenido, cuando, inicialmente, eran documentos de texto. Hoy en día, el formato corre por cuenta del CSS, sin embargo, siguen existiendo Tags en el (X)HTML, y cada uno cumple una función especifica, este es su rol semántico, que escapa al diseño, pero que no por ello deja de ser importante. Es así que el elemento H1 es utilizado para los títulos principales, P para los párrafos y UL para las listas, etc.

Términos muy actuales, como Tableless, Divless y Pageless, están estrechamente relacionados con la semántica. Tableless, por ejemplo, significa crear un sitio siguiendo los estándares, usando código semántico, y hace referencia a las tablas debido a la mala costumbre de posicionar elementos usando, justamente, tablas.

¿Porque es importante?

Un documento semánticamente correcto puede ser interpretado por usuarios no convencionales, es decir, por programas. Google, por ejemplo, cuando indexa una pagina, busca el significado en los tags, de acuerdo a las recomendaciones de la W3C. Si el source de tu pagina es semánticamente correcto, puede ser transformado automáticamente a una versión para WAP manteniendo el contenido intacto, como lo hacen los servidores de Opera. O incluso, existen programas al estilo de GoogleNews, que extraen el contenido de otros sitios, eso es, claramente, a favor de la WEB 2.0.

¿Cuándo es importante?

Esta es una pregunta que no tienen que dejar de hacerse, aun cuando nosotros, Web Developers, estamos a favor de las nuevas corrientes y al uso de los estándares, tenemos que entender que la palabra de la W3C no goza de verdad absoluta.

La semántica se aplica a las páginas que son estrictamente documentos, como los de Word o los PDF, pero en formato (X)HTML. Solo en estos casos la semántica tiene sentido. Aplicaciones web, como gmail, tienen poco de documento y pretender que sean semánticas es un despropósito.

Ajax, por ejemplo, se vale de tecnologías estándares para crear RIA. Muchas veces se utilizan elementos por sus propiedades crossbrowsers, su comportamiento interactivo, pero nunca por su significado semántico En estos casos, ignora la semántica.

Herencia en Javascript

Publicado en

Como en normal en Javascript, hay más de una forma de implementar herencia,
esto es debido a que la herencia no es explicita, es emulada. Vamos a ver
los dos métodos mas utilizados.

Object masquerading

Este método hace provecho del comportamiento de la palabra reservada this
dentro de las funciones, más específicamente, dentro de los constructores.
El funcionamiento es el siguiente: Un constructor asigna propiedades y métodos
a un objeto referenciándolo con la palabra clave this, como un constructor es simplemente una función,  se puede usar el constructor de una clase A como método de una clase B.  Tenemos, por ejemplo, el siguiente constructor:

     
      function ClaseA(nombre){

          this.nombre=nombre;

          this.identificarse=function(){

              alert(this.nombre);

          }

      }

Recordemos que en un constructor, this hace referencia al nuevo objeto que será retornado. Pero en un método, this hace referencia al objeto desde el cual fue llamado. Analicemos que pasa si lo usamos dentro de otro constructor como en el caso siguiente:

     
      function ClaseB(nombre){

          this.superClase=ClaseA;

          this.superClase(nombre);

          delete this.superClase;

      }

En el código anterior, el constructor ‘ClaseA’, es llamado como método del nuevo objeto que se esta creando en ‘ClaseB’, por lo tanto, todas las propiedades y métodos que se crean en ClaseA se van a agregar al nuevo objeto de ClaseB.

Quizás el punto mas interesante del Object masquerading, frente a otros métodos
de emular herencia, es que soporta la herencia múltiple,  esto significa que un objeto puede heredar de mas de una clase al mismo tiempo. Solo basta con llamar a cuantos constructores sean necesarios dentro del constructor de la clase hija.

Prototype chaining.

En el post anterior mostré como definir clases utilizando el objeto prototype. Prototype chaining se basa en este paradigma para implementar herencia de una manera muy interesante.

Prototype es una propiedad del objeto Function, que actúa como un template sobre el cual se van a crear nuevos objetos. Mas precisamente, las propiedades y métodos del objeto prototype van a ser pasados a todas las instancias de esa clase.

El ejemplo anterior utilizando prototype chaining quedaría de la siguiente manera:

      function ClassA(){         

      }

      ClassA.prototype.nombre = “”;

      ClassA.prototype.identificarse = function(){

          alert(this.nombre);

      }

      function ClassB(){

      }    

      ClassB.prototype = new ClassA();

La última línea del ejemplo muestra el funcionamiento del prototype chaining. Lo que ocurre es que asignamos al prototipo de ‘ClassB’ una nueva instancia de ‘ClassA’.
De ahora en adelante, todos los objetos creados con ‘ClassB’ van a tener, también, los mismos métodos y propiedades de la instancia de ‘ClassA’. Y si queremos agregar mas métodos y propiedades, lo único que tenemos que hacer es agregárselos al prototype
de ‘ClassB’.

Lo malo de este método para emular herencia, es que no se puede pasar parámetros
a la clase base, como hicimos en el ejemplo de Object masquerading.

Lo bueno,  es que el operador instanceof funciona de una manera única: por cada instancia de ClaseB, instanceof nos retorna true tanto con ‘ClaseA’ como con ‘ClaseB’:

    var miobjeto = new ClassB();  

    alert(miobjeto instanceof ClassB); // true

    alert(miobjeto instanceof ClassA); // true

Conclusión

Estos son solo 2 de las formas utilizadas para emular herencia en Javascript, quizás las más difundidas. Personalmente prefiero el prototype chaining, porque es la recomendada por el Standard ECMA Script, y por el funcionamiento del operador instanceof,
que permite tener un poco mas de control sobre los objetos, algo que se agradece
muchísimo en un lenguaje tan poco tipeado como Javascript. Sin embargo, los
dos métodos son igual de eficaces y cada uno tiene sus ventajas y desventajas,
por lo que la decisión de cual usar, esta en el programador.

Adobe abre el código fuente de su motor Javascript

Publicado en

Quizás la noticia mas importante de la semana en lo que refiere al universo del desarrollo web fue que Abobe va a subir el código fuente de Tamarin, el motor Javascript usado en Flash, a la fundación Mozilla para convertirlo en Open Source. Podemos esperar, entonces, que las próximas versiones de Firefox lo utilicen.

¿Porque esto es importante?. Porque Tamarin es un compilador JIT, no un interprete, esto significa que produce un bytecode de maquina y luego lo ejecuta, en lugar de interpretar la sintaxis en el momento de la ejecución. La ventaja de esto es la gran velocidad en la que se corre el código en Javascript, que ya esta demostrada en muchos benchmarks.

Vamos a ver como responden los browsers de aquí en adelante a esta iniciativa

Jamiroquai Live at London Jazz Cafe

Publicado en

Ayer Jamiroquai dio un concierto inolvidable en el Jazz Café de Londres, como parte de la Serie de eventos BBC Electric Proms. El concierto se escuchó por la BBC Radio 1Xtra y se podrá ver por televisión en el canal BBC Three el Sabado 28.

La lista de temas fue:

  • High Times
  • Space Cowboy
  • If I Like It I Just Do
  • Emergency On Planet Earth
  • Seven Days In Sunny June
  • Black Capricorn Day
  • Canned Heat
  • Use The Force
  • Travelling Without Moving
  • Runaway
  • Virtual Insanity

En este post del foro Jamirotalk, los fans recopilaron una lista de direcciones en donde se van a poder bajar los temas en mp3 y el video del show en formato AVI. Realmente lo recomiendo porque tiene una excelente calidad.

Un abrazo!

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.