Arrastrar ventanas entre escritorios en Ubuntu 10.04
Algo que eche en falta al actualizar a Ubuntu 10.04 (Lucid Lynx) fue el arrastrar ventanas entre escritorios, pues he aquí un breve de como solucionar esto (cortesía de espero que te sirva).
- Acceder al gconf-editor (alt+f2 -> gconf-editor)
- Explorar /apps/compiz/plugins/wall/screen0/options
- Marcar la variable edgeflip_move a true
Listo!
Cuando batch crece...
algo raro pasa.
No estoy seguro al 100% pero creo (intuición femenina) que la tabla batch de la bbdd de Drupal almacena acciones pendientes que por falta de memoria o de timeout en la configuración de php del servidor no se pudieron ejecutar, por lo que las pone en cola para ejecutarlas en futuras peticiones.
El problema si un módulo no se lleva bien con esta funcionalidad, como imaginareis, es catastrófico, pongo por caso, acabo de vaciar una tabla batch de 3GB (sí sí, estas leyendo bien) en un alojamiento compartido de 1&1 que no permite bbdd de más de 100MB, por lo que al hacer una petición a la web, tumbaba el servidor.
Lo que quiero decir con todo esto, es que vigilando esta tabla podemos comprobar si algún módulo funciona malamente, si inserta demasiados registros en ella y mandarlo a freir porretas.
El problema además crece si nos damos cuenta del mal funcionamiento del módulo tarde, es decir, cuando la web no chuta, ni el panel de admin para desactivar ese módulo cabroncete.
Eso acaba de pasarme y con ayuda de este post de planetainopia he podido resolverlo simplemente seteando a 0 los campos status, throttle y bootstrap de la tabla system, registro correspondiente al módulo maldito con phpmyadmin.
Cuando tenga un rato y ganas intentaré picarme un módulo para hacer un "dump" de esta tabla batch desde el admin y no tener así que revisarla desde phpmyadmin, pero no prometo nada.
Apache2 + PHP + Mysql en Ubuntu Linux
He leído varios tutoriales acerca de la configuración de un servidor Apache2 en ubuntu desktop y combinarlo con PHP y Mysql, algo bastante básico a la hora de programar para web, pero que no resulta tan fácil en muchas ocasiones, pues hay que isntalar muchos paquetes, cambiar configuraciones y activar librerías en muchos casos.
Pues bien, ho os traigo el que creo es el método más simple, un simple comando corto:
sudo apt-get install phpmyadmin
Esto os instalará todas las dependencias, es decir, servidor mysql, apache2, php y los drivers y librerías correspondientes para que estos 3 se entiendan.
No quiero extenderme más, sólo comentar por encima que phpmyadmin es un potente gestor web para mysql y recomendar algunas herramientas útiles.
- Rapache: gui para crear y gestionar tus virtualhosts de apache2
- Mysql-gui-tools: son 2 (o 3):
- mysql-admin gestiona mysql
- mysql-query-browser para hacer consultas rápidas, te ayuda a construirlas y tal
- mysql-workbench: te permite crear diagramas y exportarlos a bases de datos y viceversa, tiene muchas más utilidades que desconozco, pero es muy potente. Creo recordar que alguien me comentó que había un plugin para workbench que te genera modelos en yaml para los orm doctrine o propel.
Extender la clase session en Codeigniter
Hace poco hice mis primeros pinitos con el framework Codeigniter de php, y muy bien por cierto, una curva de aprendizaje con muy poca pendiente.
Eso sí, (h)eché (joder, no sé ahora mismo si ese (h)echar es con h o no, entre paréntesis queda) en falta una "ortografía" en las clases algo más orientada a php5, con privates, métodos mágicos y demás.
A lo que venía este post es a publicar una fácil pero en mi opinion gran mejora para mostrar mensajes flash al usuario, es decir, estos mensajes que aparecen cuando envias un formulario p.e. y en la siguiente recarga ya no aparecen.
Extendiendo la classe session de CodeIgniter con 4 métodos al más puro estilo Drupal, avanzamos mucho en el procesamiento de este tipo de mensajes. Igual el código no es el más limpio pero ahí va.
Por cierto, esos pinitos de los que hablo han sido un motor para foros, usado actualmente en http://colchonesforo.com
class MY_session extends CI_session{
public function __construct(){
parent::CI_session();
}public function set_message($message){
if(is_array($message))$this->set_messages($message);
else $this->set_messages(array($message));
}public function set_messages($messages){
if(!is_array($messages))$messages=array($messages);$mess=$this->flashdata('messages');
if($mess)$this->set_flashdata('messages',array_merge($mess,$messages));
else $this->set_flashdata('messages',$messages);
}public function get_messages(){
$output='<div id="messages"><ul><li>{messages}</li></ul></div>';
if(!$messages=$this->flashdata('messages'))return '';return str_replace('{messages}',implode('</li><li>',$messages),$output);
}
}
Me quedo sin letras
A pesar de que el blog intenta ser un poco linuxero, hoy hablaremos de windows ¡ese gran desconocido! (ojalá...)
La cosa es que hace un mes aproximadamente en uno de las desafortunadas tareas como "el que susurraba a las máquinas", si alguien es informático y más aun si trabaja en una pequeña empresa sabrá de que hablo. Y es que amigos, el dedicarte a la programación te aporta un letrero en la espalda sólo visible por el resto del mundo en el que debe poner algo como "{developer_name}, señor de las bastas tierras motherboard y de todas las criaturas con botones".
Joder, que me lio, al grano.
Me llama una compañera: "el pen no va" --dele viagra a su pareja o si es una indirecta, no gracias, aun es martes, pensé--.
Pero te callas, otra vez más.
Total que voy y mete saca mete saca (que gustico da conectar usbs) y nada, el bicho no anda.
Pruebo en mi ordenador y funciona a las mil maravillas. Pruebo otro puerto y nada. Pruebo otro pendrive y nada. Abro MiPc (en su pc) y veo que tiene unidades de red asignadas a las primeras letras del abecedario, es decir, C para el disco duro, D para el dvd y E, F, G, H para unidades de red.
Conclusión (probable): windows xp no tiene en cuenta las unidades de red a la hora de asignar la siguiente letra a una unidad extraible, por lo que intentaba asignar E al pendrive, pero esta letra estaba ocupada, por lo que no monta la unidad.
Me sentí muy orgulloso de mi ubuntu.
NOTA: los hechos narrados acontecieron hace aproximadamente un mes. Acabo de recordar que no publiqué una entrada al respecto en su día hoy jueves, a las 22:00 aprox. habiendo dormido unas 12horas en lo que llevamos de semana, por lo que si hay algún fallo o dato producto de mi fugitiva imaginación... no pienso corregirlo
Clearfix error
Después de golpearme repetidas veces la cabeza durante repetidas horas contra la mesa me he dado cuenta que el método clearfix para conservar el alto de los contenedores con elementos flotados (si no sabes de que hablo deja de leer o googlea) tiene un error.
El tema está en que al aplicarlo al ultimo contenedor de nuestro esquema dom, queda un espacio en blanco a continuación de éste, por lo que no conseguimos que aparezca pegado al borde inferior de la pantalla.
Aclarar que en algunas de las webs donde está publicado el método, éste no tiene el error.
El problema es este:
content: "."
Cuando debería ser:
content: " "
Aprovecho para poner un breve repaso a los distintos métodos clearfix que he encontrado.
Método 1:
.clearfix:after { content: "."; display: block; clear: both; visibility: hidden; line-height: 0; height: 0; }
.clearfix { display: inline-block; }
html[xmlns] .clearfix { display: block; }
* html .clearfix { height: 1%; }
Método 2:
.clearfix:after { visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0; }
* html .clearfix { zoom: 1; }
*:first-child+html .clearfix { zoom: 1; }
Método 3 (no es clearfix pero soluciona el tema de los floated elements):
.clearfix{ overflow:auto; heitght:1%; }
Este miembro no es mío
Quizá no sea el título más descriptivo para el vídeo que viene a continuación, juzga tú mismo...
Penwinos en gráfico inverso
En fín, de todo se puede encontrar hoy día...3
Si quieres algo así entra en http://www.xamuel.com/inverse-graphing-calculator.php



