Cargar extensión mcrypt de php en IIS

Hoy he tenido que cargar la extensión mcrypt de php en nuestro servidor porque no venía cargada por defecto.

Me ha dado algo más de guerra porque el servidor le gestionamos con Plesk y este crea varios php.ini, pero en principio no daría muchos problemas.

Lo primero que tenemos que saber es cual es el archivo php.ini que usa nuestro servidor, para ello podemos crear un archivo php en el que ejecutemos la función:

PHP:
  1. <?php
  2. ?>

La séptima fila nos dirá donde se encuentra el php.ini en el server "Loaded Configuration File". También lo que podemos comprobar es que la extensión que queremos cargar no esté en este archivo (a ver si la vas a tener instalada sin saberlo :P ). Buscaremos también la ruta de las extensiones configuradas en el php.ini (Configuration -> PHP Core -> extension_dir).

Localizamos el php.ini y abrimos la carpeta de las extensiones, dentro de esta buscamos el archivo php_mcrypt.dll, si le tenemos buscamos el archivo libmcrypt.dll en esa carpeta o en la anterior, ya que esa librería es necesaría para mcrypt, pero se debe copiar en la carpeta WINDOWS/System32 ya que es externa.

Una vez que tenemos los archivos bien colocados abrimos el php.ini y buscamos una línea donde aparezca esto:

CODE:
  1. ;extension=php_mcrypt.dll

El punto y coma ';' significa que esa línea está comentada, lo quitamos y reiniciamos el IIS: Inicio -> Ejecutar y escribímos: iisreset

Esperamos a que termine el reset y volvemos a cargar la página de info de php, buscamos mcrypt y debemos encontrar la extensión ya instalada.

jQuery, escribe menos, haz más

Llevo bastante tiempo programando con javascript y probando distintas librerías.

Durante estas pruebas he usado muy amenudo dos librerías de javascript. En un principio elegí mootools, muy fácil de usar y conseguir resultados, con una página bastante sencilla de usar en la que venían muchos ejemplos de lo que se podía hacer, conocía jQuery, pero me parecía algo más complejo.

Como todo es ponerse empece a probar jQuery, la experiencia fue muy satisfactoria, hasta el punto que he dejado de lado las demás librerías y ahora utilizo siempre esta. Esto no quiere decir que mootools u otras librerías sean peores, digamos que son manías.

Por ahora trabajo jQuery, me sedujo su página de documentación, con gran variedad de ejemplos, la amplia gama de plugins que ayudan aún más en el desarrollo, una sintaxis bastante clara y muchas funciones. La frase que define a jQuery es: "Write less, do more", "Escribe menos, haz más", ¿que más se puede pedir? :)

Con esto no trato de convencer a nadie, de hecho quiero seguir manejando más librerías, lo que quiero hacer es empezar con una serie de posts donde iré explicando pequeñas cosas que podemos hacer con esta librería.

Espero que os sirva de ayuda :)

Codificar cadenas en md5 usando VB.NET

He tenido que crear una función para codificar strings en md5.

Este es el resultado:

Visual Basic:
  1. Private Function fn_md5(ByVal strCadena As String) As String
  2. Dim md5Hasher As MD5 = MD5.Create()
  3. Dim data As Byte() = md5Hasher.ComputeHash(Encoding.Default.GetBytes(strCadena))
  4. Dim sBuilder As New StringBuilder()
  5. Dim i As Integer
  6.  
  7. For i = 0 To data.Length - 1
  8. sBuilder.Append(data(i).ToString("x2"))
  9. Next i
  10. Return sBuilder.ToString()
  11. End Function

Lo he obtenido de esta web, donde hay un ejemplo con más tipos de codificaciones: tecnolust

Ataque de phishing por medio de google talk

Después de un dia duro para Google, al tener caido media mañana Gmail esta noche me entero a través de @masable que los contactos de google talk te mandan urls por un ataque de phishing. Puedes saber más al respecto en la búsqueda de twitter: #viddyho

A los usuarios se les abre una nueva ventana donde uno de sus contactos les dice algo como esto:

“Hey check out this video! http://tinyurl.com/xyz”

Si haces click te llevará a una página (viddyho.com) donde te pedirán tus credenciales de google talk para poder "visualizar" dicho vídeo:

Pantalla que aparece en viddyho

Si lo haces se apoderarán de tu cuenta y la utilizarán para seguir enviando este mensaje entre tus contactos. Lo que puedan hacer con tu información privada lo dejo de tu imaginación...

Meme

Nunca he seguido un meme, no me suelen gustar, aunque esta vez me voy a saltar mis principio porque me ha invitado un amiguete elprimero de los buenos amigos que se mete en este mundillo del internete con los blogs (va por ti, compae). Por cierto, que conste que no sigo este meme por el premio, ¿quién quiere un iPhone 3G? ¿quién?, además dentro de poco tendré mi Nokia N81 :D (aunque a nadie le amarga un dulce, eh! y menos un dulce así :D ).

El meme concurso trata de poner una camiseta con una frase que te guste, que exista o no. Aqui la mía:

I never finish anyth (Nunca he terminado nad)

I never finish anyth (Nunca he terminado nad)

Ahora invito a mi spammer preferido a que siga este meme.

Media types en CSS

Algo interesante para utilizar con los CSS es determinar los media types, algo que no se suele usar normalmente. Los media types determinan el medio (en pantalla, impreso, braille, auditivo, tv, etc [si, todos esos medios, y más, se pueden definir con los media types :) ]) en donde se utilizarán las entidades de CSS, por ejemplo: quiero que el texto en pantalla aparezca rojo, pero al imprimir le quiero negro o quiero cambiar el tamaño del texto.

Por defecto cuando incluimos un archivo CSS a nuestro HTML si no especificamos que media type debe utilizar se utilizará el mismo archivo para todos los medios. Pero nosotros podemos definirle que media va a utilizar qué entidades de CSS:

CSS:
  1. @media print {
  2. /* cuando imprimamos este documento el tamaño de la fuente será de 10pt */
  3. body{ font-size: 10pt }
  4. }
  5. @media screen {
  6. /* cuando visualicemos este documento en pantalla el tamaño de la fuente
  7. será de 12pt */
  8. body{ font-size: 12pt }
  9. }
  10. @media screen, print {
  11. /* pero en ambos emdios el interlineado será de 1.2 */
  12. body{ line-height: 1.2 }
  13. }

Todo el código que pongamos dentro de las llaves se utilizará en el medio que determina @media, es decir cuándo decimos: @media screen, todas las propiedades que determinemos dentro de las llaves se utilizarán en pantalla.

Para lo que he utilizado los media types ha sido para dar otro estilo a la página impresa de la página web, la que veremos por pantalla. Puedes cambiar tamaños, dejar de mostrar elementos, etc. Una de las clases que creo son estas:

CSS:
  1. @media print {
  2. /* al imprimir el documento los elementos con esta clase
  3. no podrán verse y a menos que digamos lo contrario si se verán en pantalla */
  4. .SiPantallaNoImprime{display:none}
  5. }
  6. @media screen {
  7. /* los elementos con esta clase NO podrán verse y, a menos que digamos
  8. lo contrario, si se verán al imprimir */
  9. .NoPantallaSiImprime{display:none}
  10. }

Puedes encontrar información más precisa en la web de la W3C.

Estreno el nuevo theme

Parece que ya terminé de maquear el theme para adaptarlo a mis necesidades. Lo he basado  en Hemingway meets CognitiveCombine II. Claro está, este style no lo hubiese conseguido sin la ayuda de alguien que sepa diseñar, yo soy un negado. Gracias Dredy.

Guardo una captura para el recuerdo, este es un momento histórico :_)

 

Imagen del nuevo estilo del blog

Imagen del nuevo estilo del blog

Primeras impresiones con Google Chrome

Iniciamos el día instalando Chrome y visitanto páginas.

Lo primero que ha hecho al instalarse ha sido importar todo el contenido que tenía en Firefox, sin preguntar, o al menos ni me he enterado por la emoción de instalarlo. La página de inicio (la que muestro en la imagen) recoge las páginas que más visitas (después de un usu reiterado), los últimos favoritos y un buscador de todos los favoritos/marcadores.

Sencillo y bonito son por ahora las primeras impresiones. La idea (en el caso de Windor) de utilizar la barra de título para poner las pestañas y no poner barra de estado, consigue más sitio para poder ver la web. Me falta... la barra de Google xD

Tendremos que esperar a ver como evoluciona y como se puede relacionar con las propias herramientas de Google y de otros. Cuando salga el Firebug para Chrome ya será otra cosa :)

Primera captura de Google Chrome

Edito (se lo dedico a Fer): voy a dejar de escribir de cosas de las que hablan millones de blogs :P