<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title>:: Crazy-Style.net ::</title><link>http://crazy-style.net/</link><description>Crazy-Style.net, Novedades y d+</description><language>es</language><webmaster>ToRDeN</webmaster><br />
<b>Warning</b>:  session_start() [<a href='function.session-start'>function.session-start</a>]: Cannot send session cookie - headers already sent by (output started at /home/s027f0de/public_html/cs/datos/sindicacion/rss.php:3) in <b>/home/s027f0de/public_html/cs/contenidos/config_db.php</b> on line <b>6</b><br />
<br />
<b>Warning</b>:  session_start() [<a href='function.session-start'>function.session-start</a>]: Cannot send session cache limiter - headers already sent (output started at /home/s027f0de/public_html/cs/datos/sindicacion/rss.php:3) in <b>/home/s027f0de/public_html/cs/contenidos/config_db.php</b> on line <b>6</b><br />
      <item>
      <title>Reseteo de estilos [CSS]</title>
      <link>http://www.crazy-style.net/articulos-coment-35.htm</link>
      <description>Quiz&amp;aacute;s alguna vez, dise&amp;ntilde;ando alguna web, a la hora de visualizarla en diferentes exploradores (o sistemas operativos), notabais peque&amp;ntilde;as diferencias (espacios de m&amp;aacute;s, capas que no se posicionan bien...).

Si se ha hecho bien el c&amp;oacute;digo (teniendo en cuenta los hacks y problemas en diferentes navegadores), quiz&amp;aacute;s la soluci&amp;oacute;n sea resetear los estilos.

Para ello, Eric Meyer program&amp;oacute; este reseteo, que quita los valores por defecto de los navegadores (principales causantes de muchos problemas de dise&amp;ntilde;o). El c&amp;oacute;digo es el siguiente:

[pre]
/* v1.0 | 20080212 */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

/* remember to define focus styles! */
:focus {
	outline: 0;
}

/* remember to highlight inserts somehow! */
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}

/* tables still need 'cellspacing=&quot;0&quot;' in the markup */
table {
	border-collapse: collapse;
	border-spacing: 0;
}
[/pre]

Es probable que a la hora de implementarlo, si vuestra web se ve&amp;iacute;a m&amp;aacute;s o menos bien, deje de verse &quot;tan bien&quot;. Es normal, lo mejor es adecuarla al reseteo y tendreis una web bien dise&amp;ntilde;ada y construida.

Fuente: [url=http://meyerweb.com/eric/tools/css/reset/]Web del autor[/url]</description>
	  <source>http://crazy-style.net</source>
	  <author>ToRDeN</author>
	  <date>2008-05-02</date>
    </item>
     <item>
      <title>Problema con el sistema de comentarios</title>
      <link>http://www.crazy-style.net/articulos-coment-34.htm</link>
      <description>Gracias a un email de Francisco (ya era hora eh? la próxima vez no tardes tanto en avisar! xD), he sabido que el sistema de comentarios [url=http://www.crazy-style.net/articulos-19-Arreglos-mejoras-en-la-web.htm]volvía a dar fallos[/url], y ya está arreglado :)

Para más fallos y demás... webmaster @ crazy-style.net ;)</description>
	  <source>http://crazy-style.net</source>
	  <author>ToRDeN</author>
	  <date>2008-04-28</date>
    </item>
     <item>
      <title>Traducir Firefox 3 beta 5 al español (sencillo y en un sólo paso)</title>
      <link>http://www.crazy-style.net/articulos-coment-33.htm</link>
      <description>No s&amp;eacute; si a alguien m&amp;aacute;s le habr&amp;aacute; ocurrido, pero a mi me viene Firefox 3 beta 5 en ingl&amp;eacute;s, y por m&amp;aacute;s q he hecho, sigue en ingl&amp;eacute;s, hasta que me encontr&amp;eacute; con [url=http://belinuxmyfriend.blogspot.com/2008/04/firefox-traduce-al-espaol-firefox-3.html]cierta p&amp;aacute;gina[/url] que comenta que s&amp;oacute;lo hace falta un plugin para poder tener nuestro zorrito en el idioma de Cervantes:

[pre]
Traducir Firefox 3 beta 4 (espa&amp;ntilde;ol-ESPA&amp;Ntilde;A):

http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0b4/linux-i686/xpi/es-ES.xpi

Traducir Firefox 3 beta 5 (espa&amp;ntilde;ol-ESPA&amp;Ntilde;A):

http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0b5/linux-i686/xpi/es-ES.xpi
[/pre]</description>
	  <source>http://crazy-style.net</source>
	  <author>ToRDeN</author>
	  <date>2008-04-25</date>
    </item>
     <item>
      <title>Problemas con Firefox 3 Beta 5 y Gmail (versión en inglés UK)</title>
      <link>http://www.crazy-style.net/articulos-coment-32.htm</link>
      <description>Hace poco que migré (nuevamente) a 8.04 (pero esta vez la versión final, y he de decir que [i]casi[/i] sin problemas, salvo por la webcam... pero ya me he acostumbrado). 

Y lo primero que me encuentro es que GMail (que lo tengo configurado en inglés de Inglaterra) no tiene chat ¿?. Me pongo a buscar por internet y no encuentro nada, nadie parece tener mi problema. Así que pruebo a buscar de nuevo, pero esta vez indicando que utilizo Firefox 3 Beta 5 (algo [url=http://www.google.es/search?hl=es&amp;q=firefox+3+beta+5+chat+gmail&amp;btnG=Buscar+con+Google&amp;meta=]así[/url]) y me arroja muchos resultados... y en uno de ellos, un [url=http://groups.google.com/group/google-talk-help-uk/browse_thread/thread/9250833baa308abd/8a6685bfaa8da108?lnk=raot]grupo de noticias[/url] de google leo que parece ser que con el idioma británico hay problemas y no muestra el chat, así que hay que cambiar, en las preferencias de Gmail, el idioma a English US.

Dicho y hecho, fue mano de santo :)</description>
	  <source>http://crazy-style.net</source>
	  <author>ToRDeN</author>
	  <date>2008-04-25</date>
    </item>
     <item>
      <title>Ubuntu y sus inestabilidades (gspca, wifi, etc): Experiencias con 8.04</title>
      <link>http://www.crazy-style.net/articulos-coment-31.htm</link>
      <description>Despu&amp;eacute;s de 1 fin de semana sin internet, aqu&amp;iacute; estoy de nuevo. &amp;iquest;El motivo de mi ausencia? Los problemas con Ubuntu :S

Todo empez&amp;oacute; un jueves, por la noche, apagu&amp;eacute; el port&amp;aacute;til (sin incidencias) como hago siempre y lo guard&amp;eacute; en la maleta que uso para transportarlo. El viernes por la ma&amp;ntilde;ana, cojo el port&amp;aacute;til, me voy al trabajo, lo enciendo y...

[pre]
/build/buildd/linux-ubuntu-modules-2.6.22-2.6.22/debian/build/build-generic/media/gspcav1/gspca_core.c: Failed to configure camera
[/pre]

Un mensaje similar a ese, se sucede casi 100 veces en pantalla  (o m&amp;aacute;s!). Cojo y reinicio, y nada, igual, tarda mucho en iniciar... As&amp;iacute; 3 veces, hasta q inicia, pero me quedo un poco mosqueado y decido desinstalar e instalar Ubuntu de nuevo (ten&amp;iacute;a una 7.10 para 64bits e instal&amp;eacute;, posteriormente, una 8.04RC de 32 bits).

Durante el proceso de instalaci&amp;oacute;n, otra vez volvi&amp;oacute; a salir el mensajito dichoso :S, y yo m&amp;aacute;s mosca a&amp;uacute;n... Consigue instalarse y veo que no tengo wifi, as&amp;iacute; que me conecto por cable (que iba a duras penas) y busco en google, y encuentro  en un [url=https://bugs.launchpad.net/ubuntu/+bug/151684]bugtracker[/url] sobre ubuntu la forma de desactivar la c&amp;aacute;mara (que era lo que daba problemas):

Abrimos con propiedades de root el fichero blacklist (con el gedit, para que sea m&amp;aacute;s amena la modificaci&amp;oacute;n)
[pre]
$ sudo gedit /etc/modprobe.d/blacklist
[/pre]
E insertamos en la &amp;uacute;ltima linea lo siguiente
[pre]
# Los drivers de la webcam entran en conflicto con el sistema
blacklist gspca
[/pre]

Reinicio y ya no hay rastro del fallo de la webcam pero el fallo del wifi sigue estando. Me pateo mil foros, y no dan con una soluci&amp;oacute;n clara. Unos proponen desactivar el cifrado wep (causante, en gran parte, del fallo del wifi), otros usar los drivers de windows (con ndiswrapper), otros reinstalar. Opto por esta &amp;uacute;ltima opci&amp;oacute;n (que llego a realizar hasta 3 veces), pero nada arregla (respecto al wifi), as&amp;iacute; que decido volver con el rabo entre las piernas a Ubuntu Gutsy (7.10) pero, esta vez, en versi&amp;oacute;n 32bits (m&amp;aacute;s que escarmentado de los futuribles 64bits).

Esta vez, pese a que sigue saliendo el mensaje de la c&amp;aacute;mara al inicio (y procedo a meterlo en blacklist), si que va el wifi.

En resumen: No tengo ni p*t* idea de por qu&amp;eacute;, de la noche a la ma&amp;ntilde;ana, me aparece un conflicto con la webcam (si siempre ha ido bien). Por otro lado, la 8.04RC me di&amp;oacute; m&amp;aacute;s que problemas... esperemos que la versi&amp;oacute;n final sea M&amp;Aacute;S estable.

[b][ACTUALIZACI&amp;Oacute;N 23/04/2008]:[/b] He encontrado una posible soluci&amp;oacute;n al problema del wifi en 8.04 Hardy, actualizando los [url=http://linuxwireless.sipsolutions.net/en/users/Download]drivers del wifi[/url], he de probarlos, pero parece que puede corregir el problema (que, seg&amp;uacute;n el [url=https://bugs.launchpad.net/ubuntu/+source/linux-ubuntu-modules-2.6.24/+bug/200064]bugtracker[/url], es un problema del nuevo kernel, que no trae los drivers correctos)</description>
	  <source>http://crazy-style.net</source>
	  <author>ToRDeN</author>
	  <date>2008-04-21</date>
    </item>
     <item>
      <title>Cómo eliminar las www  de tu url con mod_rewrite</title>
      <link>http://www.crazy-style.net/articulos-coment-27.htm</link>
      <description>Haciendo uso de mod_rewrite [url=http://www.crazy-style.net/articulos-3-Uso-de-MOD_REWRITE.htm]de nuevo[/url], vamos a quitar las &quot;www&quot; de nuestras urls (en vez de www.crazy-style.net, cada vez que se ingresase &quot;www.crazy-style.net&quot; nos redireccionaría a crazy-style.net).

[pre]
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.crazy-style.net$ [NC]
RewriteRule ^(.*)$ http://crazy-style.net/$1 [R=301,L]
[/pre]

El 301 de la redirección indica que va a ser permanente (ayudará a los buscadores a hacer la migración), y el resto es bastante comprensible. 

Es una modificación bastante simple, pero que da un nuevo &quot;look&quot; a tu web :).</description>
	  <source>http://crazy-style.net</source>
	  <author>ToRDeN</author>
	  <date>2008-04-18</date>
    </item>
     <item>
      <title>Arreglos y mejoras en la web (2)</title>
      <link>http://www.crazy-style.net/articulos-coment-26.htm</link>
      <description>Hay pocos visitantes, y menos aún que sean asiduos (yo y mi novia¿?), y si ni mi novia se dió cuenta del cambio en la web, menos se dará cuenta el resto :P... 

Pero así es, he estado mejorando la web (cambiando el diseño, dejando atrás el azul por tonos más negros y grises), cambiando el sistema de tabs, introduciendo mejoras en el código del sistema de artículos y comentarios, parcheando casi todo el código de la web (mejorando la eficacia de las conexiones con mysql), corrigiendo el sistema bbcode...

Pero vamos, poca cosa, y aún queda bastante, lo siguiente será introducir sistema de trackbacks y pingbacks, más mejoras y optimizaciones en el código...</description>
	  <source>http://crazy-style.net</source>
	  <author>ToRDeN</author>
	  <date>2008-04-17</date>
    </item>
     <item>
      <title>Cómo realizar un bbcode con inserción de código</title>
      <link>http://www.crazy-style.net/articulos-coment-25.htm</link>
      <description>Muchas webs (esta incluida) realizan inserciones de c&amp;oacute;digo en sus art&amp;iacute;culos, y para ello hacen uso de la etiqueta &amp;lt;pre&amp;gt;. Esta etiqueta muestra el texto tal cual se pega, es decir, dejar&amp;aacute; intactos los espacios y tabulaciones (cosa que viene genial a la hora de [i]pegar[/i] un c&amp;oacute;digo). 

Para implementar esto, hacen uso de los [url=http://es.wikipedia.org/wiki/BBCode]bbcode[/url], la funci&amp;oacute;n [url=http://es.php.net/manual/es/function.htmlspecialchars.php]htmlspecialchars[/url]  
y de [url=http://es.php.net/manual/es/function.nl2br.php]nl2br[/url], para poder reemplazar las etiquetas html &amp;lt;&amp;gt; por tags bbcode [], y que el navegador no las interprete (para poder [i]pegar[/i] el c&amp;oacute;digo correspondiente).

El problema viene al pasar la funci&amp;oacute;n nl2br, ya que la etiqueta pre, como ya dije, respeta los espacios y tabulaciones, pero la funci&amp;oacute;n nl2br transformar&amp;aacute; esos saltos de linea en etiquetas &amp;lt;br&amp;gt;, por lo que quedar&amp;aacute;n espacios entre lineas de nuestros c&amp;oacute;digos insertados.

As&amp;iacute; que toca hacer uso de las expresiones regulares para poder solventar el problema, a continuaci&amp;oacute;n muestro un ejemplo de bbcode respetando los saltos de linea en las etiquetas &amp;lt;pre&amp;gt;

[pre]
function BBCode($t)
{
	//array con los bbcode
	$bbc = array(
		'/\[i\](.*?)\[\/i\]/is',
		'/\[b\](.*?)\[\/b\]/is',
		'/\[u\](.*?)\[\/u\]/is&quot;,
		'/\[del\](.*?)\[\/del\]/is',
		'/\[script\](.*?)\[\/script\]/is',
		'/\[pre\](.*?)\[\/pre\]/is&quot;,
		'/\[img\](.*?)\[\/img\]/is&quot;,
		'/\[url=([^\\[]*)\]([^\\[]*)\[\/url\]/'
	);
	//array con los reemplazos en html
	$html = array(
		'&amp;lt;span style=&quot;font-style: italic&quot;&amp;gt;\\1&amp;lt;/span&amp;gt;',
		'&amp;lt;span style=&quot;font-weight: bold&quot;&amp;gt;\\1&amp;lt;/span&amp;gt;',
		'&amp;lt;span style=&quot;text-decoration: underline&quot;&amp;gt;\\1&amp;lt;/span&amp;gt;',
		'&amp;lt;span style=&quot;text-decoration: line-through&quot;&amp;gt;\\1&amp;lt;/span&amp;gt;',
		'&amp;lt;pre&amp;gt;\\1&amp;lt;/pre&amp;gt;',
		'&amp;lt;img src=&quot;\1\2&quot; alt=&quot;Crazy-Style.NET&quot; border=&quot;0&quot;/&amp;gt;',
		'&amp;lt;a target=&quot;_blank&quot; href=&quot;\\1\&quot;&amp;gt;\\2&amp;lt;/a&amp;gt;'
	);
	//realizamos el parseo
	$texto = preg_replace($bbc,$html,$t);
	//reemplazamos los saltos de linea por &amp;lt;br&amp;gt;
	$texto = nl2br($texto);
	//dado que usamos el tag &amp;lt;pre&amp;gt;, hay que eliminar los cambios efectuados por nl2br() en esta etiqueta
	$texto =  preg_replace('/&amp;lt;pre&amp;gt;(.*?)&amp;lt;\/pre&amp;gt;/ise',&quot;'&amp;lt;pre&amp;gt;' . preg_replace('/(&amp;lt;br \/?&amp;gt;)/is','','\\1') . '&amp;lt;/pre&amp;gt;'&quot;,$texto);
}
[/pre]

Como podeis ver, este ejemplo de bbcode est&amp;aacute; bastante completo y adem&amp;aacute;s, permitir&amp;aacute; insertar c&amp;oacute;digo sin ning&amp;uacute;n problema, gracias a la siguiente linea

[pre]
$texto =  preg_replace('/&amp;lt;pre&amp;gt;(.*?)&amp;lt;\/pre&amp;gt;/ise',&quot;'&amp;lt;pre&amp;gt;' . preg_replace('/(&amp;lt;br \/?&amp;gt;)/is','','\\1') . '&amp;lt;/pre&amp;gt;'&quot;,$texto);
[/pre]

Que buscar&amp;aacute; dentro de las etiquetas &amp;lt;pre&amp;gt;, la etiqueta &amp;lt;br&amp;gt; y la eliminar&amp;aacute; (o reemplazar&amp;aacute; por '')

[b][u]EDITO:[/u][/b] Me he dado cuenta que a la hora de publicar el c&amp;oacute;digo hay un problema con las dobles comillas. Si vais a hacer uso de este c&amp;oacute;digo, aseguraos antes de que las '\' est&amp;aacute;n correctas entre dobles comillas, es decir si hay un &quot;\\1&quot; debe ser &quot;\\1&quot; y no \&quot;\\1\&quot; (siempre que no est&amp;eacute; englobado en un comillado doble)</description>
	  <source>http://crazy-style.net</source>
	  <author>ToRDeN</author>
	  <date>2008-04-15</date>
    </item>
     <item>
      <title>Función para generar generar clave aleatoria</title>
      <link>http://www.crazy-style.net/articulos-coment-24.htm</link>
      <description>Hace poco tuve que crear un sistema para subir ficheros a un servidor (para una web de una empresa), y claro, como es normal, no pueden subirse los ficheros as&amp;iacute; sin m&amp;aacute;s, y hay que aplicarles [i]cierta ofuscaci&amp;oacute;n[/i] para que no queden [i]al aire[/i].

Para eso pens&amp;eacute; en generar una clave aleatoria y a&amp;ntilde;adirla al final del nombre del fichero, tipo [url=http://imageshack.us]imageshack[/url]. Estaba claro que har&amp;iacute;a falta la funci&amp;oacute;n rand(), pero esta, por si sola, no es suficente ([b]en versiones inferiores a php 4.2.0[/b]), ya que no es del todo [i]aleatoria[/i] y hay que [i]alimentar[/i] su [i]aleatoriedad[/i] (creo que le estoy dando unas cuantas patadas al diccionario).

Para generar aleatoriedad utilic&amp;eacute; la siguiente funci&amp;oacute;n (extra&amp;iacute;da del manual de [url=http://es2.php.net/manual/es/function.srand.php]php.net[/url]  (que repito [b]NO[/b] es necesario a partir de php 4.2.0)

[pre]
function randomizar()
{
  list($usec, $sec) = explode(' ', microtime());
  return (float) $sec + ((float) $usec * 100000);
}
[/pre]

Y para finalizar, gener&amp;eacute; las claves con la siguiente funci&amp;oacute;n

[pre]
function RandomKey($long = 1)
{
	$key = '';
	srand(randomizar());
	for ($i = 0; $i &amp;lt;= $long; $i++)
	{
		$r = rand(1,3); //Generamos m&amp;aacute;s aleatoriedad, pudiendo insertar entre un n&amp;uacute;mero (1), una letra may&amp;uacute;scula (2) o una letra min&amp;uacute;scula (3)
		switch ($r)
		{
			case 1:
					$key .= chr(rand(48,57)); // del 0 al 9
					break;
			case 2: 
					$key .= chr(rand(65,90)); // de la 'A' a la 'Z'
					break;
			case 3: 
					$key .= chr(rand(97,122)); // de la 'a' a la 'z'
					break;
		}
		
	}
	return $key;
}
[/pre]

Es bastante sencilla pero muy &amp;uacute;til. La explicaci&amp;oacute;n de por qu&amp;eacute; un switch es bien simple: as&amp;iacute; es m&amp;aacute;s aleatorio a&amp;uacute;n. Dado que primero elige aleatoriamente un valor del 1 al 3 (siendo 1 los n&amp;uacute;meros del 0 al 9, 2 las letras may&amp;uacute;sculas de la 'A' a la 'Z' y el 3 las min&amp;uacute;sculas de la 'a' a la 'z'), y luego elige un valor aleatorio dentro de estas, bas&amp;aacute;ndose en el c&amp;oacute;digo ascii.</description>
	  <source>http://crazy-style.net</source>
	  <author>ToRDeN</author>
	  <date>2008-04-15</date>
    </item>
     <item>
      <title>Ubuntu 8.04 ... cada vez falta menos</title>
      <link>http://www.crazy-style.net/articulos-coment-23.htm</link>
      <description>Para todos los que quieran saber cu&amp;aacute;nto falta hasta la salida de Ubuntu 8.04, [url=http://ubuntu.com]ubuntu.com[/url] ha dispuesto de un contador para vuestras p&amp;aacute;ginas webs:

[center][script]http://www.ubuntu.com/files/countdown/display.js[/script][/center]

El c&amp;oacute;digo es el siguiente
[pre]&amp;lt;script type=&quot;text/javascript&quot; src=&quot;http://www.ubuntu.com/files/countdown/display.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
[/pre]</description>
	  <source>http://crazy-style.net</source>
	  <author>ToRDeN</author>
	  <date>2008-04-14</date>
    </item>
  </channel></rss>