October 31 2007

¡Tenemos emotes de nuevo!

Después de tanto tiempo de tenerlos empolvados, tenemos de regreso los emotes que mania nos hizo.

;) :shock: :evil: :koeth: :D U_U :piru: 8) :zzz xD :) T_T oops: :love: :@ :S :sad: :| :O ¬¬ ^^

Y sus códigos son:

PHP:
  1. ; )
  2. : shock :
  3. : evil:
  4. : koeth :
  5. : D
  6. U _ U
  7. : piru :
  8. 8 )
  9. : zzz
  10. x D
  11. : )
  12. T _ T
  13. oops :
  14. : love :
  15. : @
  16. : S
  17. : sad :
  18. : |
  19. : O
  20. ¬ ¬
  21. ^ ^

Para escribirlos, solo elimina los espacios, por ejemplo:

: shock : sin espacios produce :shock:

October 30 2007

Wallpaper de la semana: Floating Isle

Impresionante wallpaper que es un coctel de sensaciones

Floating Isle

Disclaimer: A menos que se indique lo contrario, la mayoría de los wallpapers aquí publicados han sido obtenidos de manera libre y gratuita, sin embargo, si tú eres el autor de uno de ellos, tienes forma de comprobarlo y no deseas que sea exhibido aquí, por favor hazlo saber al administrador de este blog / Most of the wallpapers here were obtained in free form, but if you are an author, have a way to prove it and don't want to show your work here, please contact the admin.

October 30 2007

El extraño caso de la sesión muerta

Hace un rato me sucedió algo muy extraño, pensé que sería un bug de SUSE, pero repetí el experimento varias veces y no volvió a ocurrir, lo que sucedió fue lo siguiente:

  1. Inserté mi pendrive en mi portátil con SUSE 10.2
  2. La retiré sin desmontarla y pasaron unos minutos
  3. La regresé al mismo puerto, sin tocar nada
  4. Inmediatamente la intente remover con seguridad y ¡vualá! la sesión (era root) se murió y de nuevo estaba en la ventana de login de KDE

Supongo que este es uno de esos casos extraños, donde algún módulo del sistema operativo casualmente dejo de funcionar correctamente o algún proceso extra que se identifico con una ID similar fue "killeado" o algo parecido, aún así, me pareció algo raro, porque lo normal sería que me mandará algún error de montaje del dispositivo. Pero así es el mundo Linux de misterioso.

Niños no intenten esto en casa a menos que no aprecien sus gadgets... U_U

Update: Me ha vuelto a pasar de nuevo, quizá el factor apropiado para que resulte es que tengas que estar distraído... :S

October 29 2007

El autosufrimiento de un diseñador / desarrollador web

Todos hemos oído eso alguna vez, que el diseño debe adaptarse a estándares, que hay que convencer al cliente, que si la usabilidad, que tú código debe ser óptimo y etc. No me quejo de adoptar buenas técnicas y costumbres de diseño y aún de programación que es mi fuerte™, vaya ni siquiera me quejo de tener que soportar a gente sin criterio que no tiene la menor idea de lo que desea, pero que quieren meter las narices en un campo donde ellos son ignorantes. ¡Si señor cliente!, usted que me está leyendo, es un ignorante al respecto de aquello para lo que me contrata, como yo probablemente lo sea de aquello de lo que usted vive, y eso, es lo que equilibra las fuerzas y pone orden y balance al universo (de acuerdo ya exagere).

Ser programador y diseñador a la vez es todo un calvario, porque viene esa recurrente escena donde tienes un tú malo al hombro izquierdo y un tú bueno al lado derecho peleando entre sí, que si eso se vería mejor con un gradiente pero rompería el esquema, que si hay que considerar los colores corporativos, pero hay que ser atrevido e innovador o si el algoritmo de lectura de la base de datos produce salidas con un ancho mayor al de la capa que lo contiene, etc. Uno que se siente detrás y pasa los minutos y quizá las horas sentado, trazando en papel la maqueta inicial del diseño y que pasa por interminables y aburridas reuniones con el cliente para que este termine exigiendo usar el pseudo-diseño que su amigo/primo/sobrino/amigo_pringao_de_turno le hizo, uno que tiene que volver a re-convencer al cliente, y se siente uno como un arcángel luchando contra fuerzas malignas (o como Gordon Freeman destrozando zombies con su crowbar), si es uno mismo quien al final se traiciona, cuando ya tienes casí todo hecho y le das un vistazo al trabajo realizado y entonces te repites a tí mismo... "Pero si apesta a kilometros, ¿cómo pude ser capaz de hacer semejante aberración?"

Y llega el momento cumbre, cuando después de haberte autoflagelado y de hacer y rehacer muchas maquetas, cuando ya tienes la aprobación del cliente; que te sientas otra vez, miras tu diseño, miras la pantalla de tu PC (o mac) y te preguntas.... bueno, ¿y ahora por donde empiezo? y la lucha comienza de nuevo, como todas las interminables luchas entre el bien y el mal, entonces, tomas tu taza de café, le das un sorbo y suspiras mientras tú música favorita suena y te invita a seguir con tu vida, depués de todo, para eso estás aquí, ¿o no?

October 26 2007

Capturar la IP real del usuario en PHP

En muchas de nuestras aplicaciones, nos veremos obligados o necesitados de capturar la ip de nuestros usuario, por ejemplo, para fines estadísticos, para alimentar la paranoia de nuestro jefe y / o cliente, etc. Así que la forma de capturar la ip sería:

PHP:
  1. $ip = $_SERVER["REMOTE_ADDR"];

Pero, por supuesto, este dato puede verse falseado por el uso de proxies y trucos similares para enmascarar la ip, así que hagamos una función php que nos devuelva la ip real del usuario

PHP:
  1. function ipreal()
  2. {
  3.     if ($_SERVER)
  4.     {
  5.         if ($_SERVER[HTTP_X_FORWARDED_FOR])
  6.             $ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
  7.         else
  8.             if ( $_SERVER["HTTP_CLIENT_IP"] )
  9.                 $ip = $_SERVER["HTTP_CLIENT_IP"];
  10.             else
  11.                 $ip = $_SERVER["REMOTE_ADDR"];
  12.     }
  13.     else
  14.     {
  15.         if ( getenv( "HTTP_X_FORWARDED_FOR" ) )
  16.             $ip = getenv( "HTTP_X_FORWARDED_FOR" );
  17.         else
  18.             if ( getenv( "HTTP_CLIENT_IP" ) )
  19.                 $ip = getenv( "HTTP_CLIENT_IP" );
  20.             else
  21.                 $ip = getenv( "REMOTE_ADDR" );
  22.     }
  23.     return $ip;
  24. }

Que se utilizaría así

PHP:
  1. echo ipreal();

O así

PHP:
  1. $ip = ipreal();

October 24 2007

Wallpaper de la semana: Zen Spirit

Sorprendente Wallpaper que refleja mucha paz y tranquilidad.

Zen Spirit

Disclaimer: A menos que se indique lo contrario, la mayoría de los wallpapers aquí publicados han sido obtenidos de manera libre y gratuita, sin embargo, si tú eres el autor de uno de ellos, tienes forma de comprobarlo y no deseas que sea exhibido aquí, por favor hazlo saber al administrador de este blog / Most of the wallpapers here were obtained in free form, but if you are an author, have a way to prove it and don't want to show your work here, please contact the admin.

October 24 2007

Fin del horario de Verano

El próximo domingo 28 de Octubre, termina el horario de verano en México (y con ello entro en la recta final de mi 1337 proyecto). No olvides atrasar el reloj una hora antes de dormirte el día anterior.

October 22 2007

Segunda Entrega del curso de Ruby

Lista la segunda entrega de nuestro curso de Ruby on Rails, Ruby o RoR para los cuates. Accede al curso

October 20 2007

Actualización programada

Dentro de 4 horas, empezaremos la actualización de Wordpress a la versión más reciente, por lo que es posible que se puedan experimentar algunos problema durante ese cambio, de cualquier forma, el blog no estará disponible desde esa hora, hasta que se acabe todo le proceso, actualizaremos el theme, verificaremos plugins y cosas por el estilo. ¡Gracias!

NOTA: La actualización ha terminado. Agradeceré cualquier situación anómala que encuentren. ¡Gracias de nuevo!

October 19 2007

Acquainted With the Night

Poema escrito por Robert Frost en 1928 y que forma parte de la colección West-Running Brook.

I have been one acquainted with the night.
I have walked out in rain - and back in rain.
I have outwalked the furthest city light.

I have looked down the saddest city lane.
I have passed by the watchman on his beat
And dropped my eyes, unwilling to explain.

I have stood still and stopped the sound of feet
When far away an interrupted cry
Came over houses from another street,

But not to call me back or say good-bye;
And further still at an unearthly height,
One luminary clock against the sky

Proclaimed the time was neither wrong nor right.
I have been one acquainted with the night.

RSS