Activar tarjeta wireless broadcom 4311 en ubuntu natty 11.04

Bueno, Me ha tomado un buen rato poder activar la tarjeta de mi antigua laptop con el nuevo ubuntu 11.04… estuve dando vueltas por muchos foros en la red pero ninguna de las soluciones que daban me funciono. En mi caso luego de realizar una instalacion limpia del sistema me di cuenta que el wireless no funcionaba, en las ediciones anteriores el problema se solucionaba instalando los controladores restringidos, pero esta vez no dio resultados… una vez instalados la tarjeta se inhabilitaba y la opcion de redes inalambricas desaparecia del menu. La solucion fue sencilla:

  • Deshabilitar el controlador restringido de la wireless (controladores restringidos > seleccionas el de wireless > desactivar)
  • Abrir synaptic.
  • Verifica que el siguiente paquete NO este instalado: bcmwl-kernel-source, si esta instalado lo desinstalas.
  • Instala estos paquetes: firmware-b43-installer y b43-fwcutter
  • Reinicia la computadora y listo!
Anuncios

Como quitar programas en el menu contextual de los archivos en linux

Bueno el titulo quedo largo y confuso :S , pero lo que voy a explicar es como editar las opciones de “abrir con..” que aparecen en el menú contextual cuando das click derecho sobre un archivo en linux… en mi caso, cuando daba click derecho sobre un archivo de texto me aparecía entre las opciones abrir con notepad (vía wine), esta claro que no era una opción que yo utilizara y no me gustaba que apareciera, así que investigando un poco di con la solución.

La magia esta en un archivo llamado mimeinfo.cache, que se encuentra ubicado en: /home/tu-usuario/.local/share/applications/, para editarlo puedes correr un comando parecido a este:

gedit /home/tu-usuario/.local/share/applications/mimeinfo.cache

Asegurare de cambiar tu-usuario por el nombre de usuario, cuando se abre gedit veras un listado parecido a este:

application/x-java-jnlp-file=wine-extension-jnlp.desktop

application/x-wine-extension-WSF=wine-extension-WSF.desktop

application/x-wine-extension-WSH=wine-extension-WSH.desktop

application/xslt+xml=wine-extension-xsl.desktop

text/scriptlet=wine-extension-sct.desktop;wine-extension-wsc.desktop;

application/javascript=wine-extension-js.desktop

text/directory=wine-extension-vcf.desktop

application/x-wine-extension-3DC=wine-extension-3DC.desktop

application/pkcs7-mime=wine-extension-p7c.desktop

text/plain=wine-extension-txt.desktop; wine-ini.desktop;

Donde al inicio de cada linea esta el tipo de archivo seguido de un signo igual (=), y al final todos los programas con los que se puede abrir. En mi caso me dirigí a la entrada que decía text/plain y le quite la parte que decía wine-extension-txt.desktop;… y asunto arreglado, la opción de notepad ya no aparece al dar click derecho sobre un archivo de texto.

Globalmente

Si quisieras hacer lo mismo pero de forma global para todos los usuarios, puedes editar el archivo mimeinfo.cache que esta en /usr/share/applications/

sudo gedit /usr/share/applications/mimeinfo.cache

esto edita las entradas que por defecto se crean en linux y afecta a todos los usuarios por lo que mi sugerencias es que trates de no cambiarlo, si por algún motivo necesitas hacerlo siempre es bueno sacar un respaldo por si las cosas no salen según lo planeado :p.

Nautilus MOD

un paso mas cerca a un nuevo nautilus
Un pequeño cambio de look a nautilus para acercarlo un poco mas a los excelentes mockups que hemos visto este año. La idea para este trabajo vino de la propuesta hecha por Izo de como deberia ser el nuevo nautilus, en esa linea se desarrolla el proyecto nautilus-elementary que incluye opciones como clutterflow y gloobus, y en sus versiones mas recientes (creo, no estoy del todo seguro) la integracion con zeitgeist, pero existen dos problemas con nautilus elementary, el primero es que la estetica no se asemeja a la presentada en el diseño y la segunda es que, por lo menos hasta el viernes pasado, se basa en una version anterior de nautilus, por lo que no pude instalarlo en lucid. Asi que decidi hacer mis propias implementaciones de los mockups que habia visto.

Que fue lo que hice:

– pathbar en la barra de herramientas
– zoom sliders, el codigo original lo tome de Nautilus-elementary lo que hice fue adaptarlo para que funcione con
nautilus 2.30
– Breadcrumbs!!!, aunque no son reales, llegan a aproximarse mucho a una implementacion real, mucho de los cambios
realizados van en esta linea.
– El breadcrumbs es totalmente personalizable desde el tema GtkRC
– alineacion a la izquierda del resto de los botones despues de las breadcrumbs.
– quite las flechitas a los lados de las flechas de direcciones, esas flechitas que cuando le dabas click mostraban
un menu con las direcciones anteriores.
– A diferencia de nautilus-elementary, todos los cambios hechos por este parche pueden ser revertidos mediante la
ventana de preferencias: editar > preferencias > tweaks, solo necesitas deseleccionar todos los checkbuttons, cerrar,
y reiniciar nautilus ( poner en la terminal: nautilus -q), y listo, nautilus vuelve a su forma normal
– Siguiendo el punto anterior, se pueden habilitat o deshabilitar cada cambio hecho de forma individual e incluso se
pueden personalizar algunos.
– es estable y no causa mayores problemas, salvo con el modo de paneles dobles, lo que me lleva a…

algunos puntos en contra:

– los cambios fueron hechos en base a Nautilus 2.30 desde el FTP de gnome por lo que
viene sin las mejoras que se hacen en las distintas distribuciones y solo se puede compilar desde la ultima version
de gnome (a menos que resuelvas las dependencias, sobre todo las relacionadas a gcc creo)
– existe un bug realmente importante en la vista de paneles dobles, cuando se activa el segundo panel el
breadcrumbs queda isensible, si se le da click en ese momento nautilus se cierra.
– No es nautilus-elementary asi que no hay clutterflow, ni gloobus preview, ni integracion con zeitgeist 😦

Que importa los bugs, como lo instalo?

– descomprimelo en tu carpeta personal
– instala las dependencias:
sudo apt-get install build-essential
sudo apt-get build-dep nautilus
– ubicate dentro de la carpeta de nautilus:
cd nautilus-2.30.0
– intala nautilus:
./configure –prefix=/usr
make
sudo make install;
– reinicia nautilus: nautilus -q
Por el momento solo lo he probado en Lucid Lynx asi que no se si dara problemas en otras distros, aunque supongo que no
deberia dar mayores complicaciones si tienes instalado gnome 2.30, si alguien tiene algun problema instalando aviseme.
por cierto estos son algunos de los diseños que se hicieron sobre nautilus:

Aplicar estilos CSS segun el navegador

Aunque existen soluciones  basadas en javascript para la deteccion del navegador, la deteccion por PHP y las condicionales para la carga de hojas de estilo en IE, a veces puede ser util realizar un par de hacks en el css, sobre todo cuando el numero de estos es pequeno y no se requiere crear hojas de estilo especiales o implementar soluciones mas complejas.

Estos son los hack que he encontrado por la red para aplicar estilos determinados a cada navegador, no he probado todos pero la mayoria funcionan a la perfeccion.

  • IE 6 y anteriores
    * html .clase_del_elemento {  }
  • IE 7
    *:first-child+html .clase_del_elemento {  }
  • Navegadores modernos menos IE7
    html>/**/body .clase_del_elemento {  }
  • Opera 9
    html:first-child .clase_del_elemento {  }

    @media all and (-webkit-min-device-pixel-ratio:10000), not all and (-webkit-min-device-pixel-ratio:0)
    {
    head~body  .clase_del_elemento { }
    }
  • Safari
    html[xmlns*=””] body:last-child .clase_del_elemento {  }

    body:first-of-type .clase_del_elemento {  }

    @media screen and (-webkit-min-device-pixel-ratio:0){
    .clase_del_elemento { }
    }

  • Google Chrome
    body:nth-of-type(1) .clase_del_elemento {  }
  • Firefox 1.5,2.x
    body:empty .clase_del_elemento { }
  • Firefox
    @-moz-document url-prefix(){ .clase_del_elemento { } }

los hacks los he obtenido de:
http://www.dotpress.net/41/trucos-css-para-firefox-opera-safari-e-internet-explorer/

http://www.anieto2k.com/2006/12/26/css-entendiendo-y-aplicando-los-hacks/

Mostrar los componentes de joomla 1.5 con divs en lugar de tablas

Las personas que trabajan con joomla habran notado que los componentes que muestran los contenidos de la pagina ( articulos, pagina principal, los contactos, etc) despliegan la informacion utilizando una maquetacion basada en tablas, en ciertas ocaciones esto hace que sean dificiles de manejar con css. Realizar el cambio de tablas a divs no esta a simple vista, pero resulta ser bastante sencillo, las instruciones de como cambiar las tablas por div en joomla las encontre en este manual: Tableless Joomla! 1.5 – content in divs not tables

Mostrar el contenido en divs y no en tablas

  1. Ingresa al administrador de plantillas
    en ingles: >Extensions>Template Manager
    en espanol:>sitio>administrador de plantillas>administrar plantillas del sitio
  2. seleccionar el template beez y ya esta!

Si estas desarrollando tu propio template o plantilla:

  1. Entra a la carpeta:
    tu_sitio_joomla > templates > beez
  2. copia la carpeta con el nombre html y pegala en la carpeta de tu plantilla:
    tu_sitio_joomla > templates > tu_plantilla
  3. edita el archivo templateDetails.xml de tu template y agrega:
    <files><folder>html</folder></files>
  4. ingresa al administrador de joomla y anda al administrador de plantillas:
    en ingles: >Extensions>Template Manager
    en espanol:>sitio>administrador de plantillas>administrar plantillas del sitio
  5. selecciona tu plantilla y listo!

3 formas de obtener el id del ultimo registro en mysql y php (SQL)

La idea en de este tip es recuperar el id de la ultima insercion realizada en una tabla, para poder realizar estas operaciones se requiere que el indice sea un campo auto-increment y en teoria deberia funcionar en cualquier base de datos dado por ser sintaxis SQL, sin embargo yo solo las he podido probar en MySQL.

@@identity

Este es posiblemente el metodo mas conocido, consiste en utilizar la sintaxis “SELECT @@identity AS id” este metodo funciona tanto en MySQL como en SQL SERVER y devuelve el id del ultimo ingreso por lo que se lo utiliza a continuacion de la sentencia INSERT.

$rs = mysql_query("SELECT @@identity AS id");
if ($row = mysql_fetch_row($rs)) {
$id = trim($row[0]);
}

MAX(id)

Otra forma de obtener el ultimo id es mediante la sentencia “SELECT MAX(id) AS id FROM tabla”, recordando que solo funciona en campos con la propiedad auto-increment. La ventaja de este metodo con respecto al anterior es que puede ser utilizado incluso si se han realizado otras inserciones a otras tablas, si se ha reiniciado el computador, etc;  ya que este metodo busca el id de mayor valor dentro de la tabla y como es auto incrementable el mayor siempre sera el ultimo. Es muy util si vas a recuperar el ultimo id en cualquier momento y no solo despues de insertarlo.

$rs = mysql_query("SELECT MAX(id_tabla) AS id FROM tabla");
if ($row = mysql_fetch_row($rs)) {
$id = trim($row[0]);
}

mysql_insert_id

Por ultimo, si estas trabajando en php y mysql es posible que conozcas esta funcion mysql_insert_id(). Al igual que la propiedad @@identity, solo retorna el id del ultimo registro ingresado independientemente de la tabla en la que se haya realizado la operacion. Tambien es posible utilizarla en SQL SERVER a traves de la funcion mssql_insert_id().

$id=mysql_insert_id();

por el momento he confirmado que las tres opciones funcionan perfectamente con mysql y php, y referencias de que funcionan igualmente en SQL SERVER. Como bono para la gente que desarrolla en SQL SERVER les enlazo a este sitio donde tenemos una pequena muestra de como utilizar la funcion Scope_identity() que trabaja de forma similar a los metodos vistos arriba.

Gedit en windows

Actualizado: 28/01/2010

gedit instalado en windows xp
gedit instalado en windows xp

Por cuestiones de trabajo estas semanas tengo que utilizar windows para desarrollar una aplicacion y he estado buscando alternativas de editores de codigos al estilo textmate para windows. En linux no existe mucho problema ya que se tiene una gran cantidad de editores de texto orientados para la programacion, pero mi favorito sin lugar a dudas es Gedit por su sencilles, funcionalidades y el hecho que viene por defecto en gnome. Por este motivo estuve investigando como instalar gedit en windows, y gracias a Nacho tenemos un port estable que aun sigue en desarrollo,  las configuraciones generales han cogido sin ningun problema, los plugins con los que viene funcionan correctamente y  se integra muy bien en windows(como se puede apreciar en la captura que hice de mi escritorio). Por cierto, en la misma pagina se encuentra un port de gedit para OSX, si usas Mac y no quieres pagar por textmate, puedes probar gedit =).

Lo puedes descargar desde los servidores ftp de gnome.

ACTUALIZACIÓN: Gracias al trabajo de Nacho y las personas detras de este proyecto ya podemos disfrutar de gedit con los plugins de python (incluyendo el autocompletado y los snippets!!! ), la entrada esta actualizada con los nuevos enlaces.