Thursday, December 18, 2008

Lenguajes de programación

Relacionado con la entrada anterior, pero mucho más en serio, un interesante artículo sobre diversos lenguajes de programación.
Es largo, pero muy interesante. Repasa desde C hasta programación funcional. Resumen: se debería echar un vistazo a lenguajes infravalorados como LISP u Ocaml, ya que ofrecen muchas ventajas para proyectos grandes.

Si los lenguajes de programación fueran...

... religiones.
... coches.
Via slashdot.
(Sólo para geeks, abstenerse GenteNormal.)

Thursday, December 11, 2008

Recuperar particiones

Si, soy muy hábil. En un alarde de habilidad sin parangón, me he cargado la tabla de particiones de mi flamante nuevo portátil. Y como aquello de "En casa del herrero, cuchara de palo" no tenia ni backups externos, ni copia en el email de nada... ¡ni siquiera me acordaba del tamaño de las particiones! Se que había un swap de 4100Mb al pricipio, y luego todo se volvia borroso. Habia una partición de sistema de unos 40gigas, una de datos de unos 100, luego espacio libre y luego al final la de windows, de unos 50 gigas.

Con Windows empezó el problema. Al mover y redimensionar la partición, había dejado de arrancar (BOOTMGR no encontrado). Para arreglarlo intenté usar los DVD's de recuperación de lenovo. Aquí se juntaron varios factores:
  • Mi habilidad innata para cargarme cosas.
  • Las herramientas de lenovo basadas en Windows para usuarios de Windows (citando a Torvalds: If you think your users are idiots, only idiots will use it).
  • El hecho, aún no explicado aquí, de que las herramientas de lenovo estaban en alemán y mi nivel de alemán ahora mismo es directamente proporcional a la calidad de las traducciones de google.
Resultado: doy a restaurar sistema y para cuando me doy cuenta de que restaurar sistema significa "restaurar disco duro entero a como venia de fabrica" ya es bastante tarde. Lo único que queda es una partición de 10gb de NTFS al principio del disco. No pasa nada, ya he pasado por esto (vease punto 1 de la lista).

Sólo por probar, intento "reparar el arranque" con un DVD de Vista que había por ahí. Dado que el portátil viene con licencia de Vista me siento menos culpable de usar cosas del bittorrent. El menú es grafico y maravilloso. No ofrece ninguna info sobre lo que va a hacer. Después de 5300 segundos (~ hora y media) de ver una barrita moverse, sí me dice lo que ha hecho (buscar particiones durante 1 segundo y luego escanear todo el disco en busca de sistemas de ficheros durante 5299) y pide reiniciar. No funciona, le doy a reparar de nuevo. Despues de 1 segundo no encuentra nada. Doy a cancelar y me dice "esta operación no se puede cancelar". ¡¿WTF?! ¿Cómo que no, y si apago el ordenador no se cancela? En fin... leo los ~600 feeds en Google Reader mientras se termina la operación incancelable. Me doy por vencido y arranco linux.

Aprovecho que aún tengo el usb de arranque de Arch y miro a ver que trae. Primero lo intento con parted, que ya lo he usado más de una vez con resultados bastante buenos. Nada, mi memoria de pez no ayuda y pierdo otra hora en varios intentos. No tiene que ser tan dificil, despues de todo, en los instantes que me daba cuenta de lo que hacia la herramienta de lenovo no se ha podido cargar casi nada, toda la info ha de seguir ahi... ¿No habrá nada que se lea todos los sectores y mire si se parecen a cabeceras de sistemas de ficheros? Por suerte, , pero no está en usb de arranque de Arch. Me bajo gpart, lo paso al portatil con el usb polivalente y ¡voilá! Ahí estan mis particiones detectadas. Y mi memoria no era tan mala: 4.102Mb de swap, 39.997Mb de sistema y 95370Mb de home. Con 50007Mb de Vista.

A apuntar los sectores, fdisk /dev/sda y todo como nuevo. No hay nada como cargarse cosas para "aprender informática".

UPDATE: a favor de Vista he de decir, que tras recuperar la tabla de particiones y dos intentos con sus respectivos reinicios, Windows vuelve a arrancar. En el primer intento restauró el BOOTMGR pero por alguna razón no arregló el sistema de ficheros, que tenía algún fallo, y necesitó otra pasada. Ya funciona todo razonablemente bien :)

Tuesday, December 9, 2008

makepkg... WTF!!!

Acabo de ver el error más sin sentido desde el "Teclado no detectado, pulse F1 para continuar". Esto es lo que me he encontrado al intentar recompilar gcc con Arch:
==> Extracting Sources...
-> bsdtar -x -f gcc-core-4.3.2.tar.bz2
-> bsdtar -x -f gcc-g++-4.3.2.tar.bz2
-> bsdtar -x -f gcc-fortran-4.3.2.tar.bz2
-> bsdtar -x -f gcc-objc-4.3.2.tar.bz2
-> bsdtar -x -f gcc-java-4.3.2.tar.bz2
-> bsdtar -x -f libstdc++-man-20080118.tar.bz2
==> Removing existing pkg/ directory...
==> Entering fakeroot environment...
==> Starting build()...
You need the de_DE locale to build gcc.
==> ERROR: Build Failed.
Aborting...
Ciertamente WTF. ¿Que cojones pasa, que C es un dialecto del alemán o qué? Y no, hoy no es el día de los inocentes.

Saturday, December 6, 2008

Installing Arch Linux on a Lenovo ThinkPad X200s

Nota: para una explicación sobre el cambio de idoma, ver el final del post.
___________________________________________________

LAST UPDATE: March 20th, 2011
- Some things have changed: now almost everything works fine out of the box
- Graphics no longer present problems, Urban Terror is playable with no complaints and composition in KDE 4.6 works smoothly.
- Backlight adjustment works in console and graphic mode out of the box.
- Using x86_64, no problems with that.
- X input has switched back to xorg.conf. You have to add your configuration to xorg.conf.d/10-evdev.conf instead of the fdi file. (described in the Trackpoint section below)
- Energy management: check this post for a comparison between two different kernel versions.
- Fingerprint reader still doesn't have drivers.
- Suspension works out of the box. Don't use hibernation - can't comment on that.
- Microphone works (was "not tested" before)


April 7th 2009
- I've tested VGA out, results are in the video section.
- New update @ noise: check this out. I recommend the "rmmod uhci_hcd", as it also _might_ improve battery life. I've found it when looking for this other problem. As of now, running ktorrent keeps the drive busy ;)
- I've added a GRUB section.
- There has been a BIOS update which fixed the conflict that was going on. The tp_smapi module now loads fine.

April 3rd 2009
I just completed a fresh install, and I have good news! Some of the tricky things work without any intervention now:
- Backlight adjusting works out of the box with KDE4.2, I believe it is PowerDevil's work here. Can't say anything about other DEs, if it's behaving strangely you may still need the workaround described in the backlightt section.
- Trackpoint scrolling no longer needs user-compiled drivers, the standard evdev will do just fine.
- Suspend and hibernate also seem to work OK with the default settings.
I didn't experience the noise or video issues mikar described in the comments, so I can't help much with that. Check that you load the proper snd modules and you have the xf86-video-intel drivers installed and no xorg.conf file, it's the only think I can think of.

April 2nd 2009
- If you experience an annoying high-pitched noise, mikar suggests a workaround: enabling USB autosuspend makes it go away.
- There is a new BIOS available from Lenovo which adresses some unproper resource claiming. It may fix the thinkpad_ec problem, but I haven't tested it yet.
- My hard drive failed and I have to make the whole installation process again. If anything changes, I'll update the guide.

March 27th 2009
- Here you can find a energy saving guide for the laptop. Any feedback will be appreciated!
- The 3D performance with the new intel drivers is improved, but the 2D kinda sucks. Switching tabs or text files in kate is so laggy (1 second or more) that I went back to the 2.4 drivers. Also, the CPU usage of the X server is higher with the new ones. Clearly something is not ready yet, but looks promising. Maybe with 2.6.29 kernel and modesetting the whole thing is gonna start to work, but right now it's broken. I'll update the .config file as soon as I update my kernel to 2.6.29.

March 12th 2009
- With testing versions of some packages, now 3D effects seem to be working, check the Video section below for more details.
- Arch has been providing img install files with a new kernel for a while, you should absolutely use those for a new setup.

Feb 26th 2009
- Just let you know, KDE 4.2 (powerdevil actually) manages the screen brightness pretty well, the only problem it's that it is not aware of brightness changes via acpi handler. Maybe there is a way to make the handler notify powerdevil of the key press trough dbus and let powerdevil change the brightness...
- The graphic system doesn't work very well, I dont know if it's something with the intel xf86 driver or with the kernel. I tried svn versions of the packages involved and I saw no improvement whatsoever, so I'm clueless at this point. KDE4 works, but not as fast as KDE3 and Civilization4 on wine is not playable (2-3 fps).

Jan 19th 2009
- New kernel config for 2.6.28.
- Sound configuration update.
- tp_smapi 0.40 now works with a little tweak
- SD card is tested, works ok.

Previous updates: not listed (sorry)

________________________________________________________

I'm going to explain my experience installing i686 Arch Linux on a Lenovo ThinkPad X200s.

The process is a little tricky due to the specific hardware configuration of the laptop. Sorry in advance for any mistakes in the text, English is not my first language!

Hardware
:
Here are the guts of this little monster:
  • Intel Core 2 Duo SL9400
  • 2GiB RAM DDR3 (in 1 module)
  • 250Gb SATA 5400rpm HDD
  • Intel GM45 Chipset
  • Intel X4500HD graphic Adapter
  • 12'1 inch, WXGA+ (1440x900) LCD panel
  • Intel 5300AGN Wi-Fi Card
  • Intel 82567LM Gigabit Network Adapter
  • 5 in 1 card reader
  • Modem
  • TPM module
  • Lenovo keyboard + TrackPoint
  • ThinkLight
  • Broadcom bluetooth module
UPDATE: here are some useful snippets. They are hosted at pastebin.com so if they are offline let me know and I'll paste them somewhere else.
  • lspci
  • lsusb with bluetooth enabled
  • kernel .config
  • A little howto in Spanish about enabling console framebuffer with intelfb to get native resolution consoles. I think the code is pretty easy to follow and I'll answer any questions. In the end, you have to give the kernel the parameter vga=874 in grub and you'll get 1440x900 fb console.
  • xorg.conf
  • trackpoint.fdi for scrolling with input hotplugging
  • Acpi event handler.sh
  • Grub's menu.lst
If anything else interesting comes out, I'll update this section.

Preparing:
To make room for linux, Vista must get shrunk, obviously. First make sure to backup Vista with the recovery media tool from Lenovo, it may come in handy in the future. Then use any tool you like to shink and optionally move the Vista partition. My tool of choice is sysreccd, a small live-cd based on gentoo, but even PartitionMagic on Vista should do the job. I shrunk it to 50GB and moved it to the end of the disk, so I had the faster parts at the beginning of the disk free for linux. Since the laptop has no optical drive and I didn't feel like buying a usb one just for this purpuose, I went with the usb thumbdrive option. I used unetbootin (great tool) to create a live-usb from the iso image and gparted to do the actual work.
UPDATE Dec-11: when you move and shrink Vista, it may stop booting. Use a Vista boot DVD (NOT the lenovo tools, they will mess your disk. You have been warned!) and choose the "Rescue system" and then "fix boot" option. You may have to do this a couple of times since it reboots after fixing every single problem and there may be more than one. Yes, this time you have no choice but to get a USB DVD drive, try borrowing one from a friend.

Usual way:

Again, no optical drive, we have to make a bootable thumbdrive with Arch install. There are several ways to do this, though. You can either use unetbootin to create it from an iso image, create the bootable usb manually with syslinux or grab a ready to use usb image from the Arch website.
First, I tired to download the ftp image for usb thumbdrives.
# dd if=image_file of=/dev/sd[whatever letter you usb drive is]
ThinkVantage key and F12 to select boot media. Arch boots and then our first nasty surprise: no network interfaces. If I understand it right, the build is from June this year, so before the e1000e bug. Maybe it was just too early and there was no support for this card in the kernel. Anyway, no net = no ftp install = crap.
UPDATE (March 12th 2009): The newer ftp img (torrent, mirrors)from feb09 comes with a nice 2.6.28 kernel with support for both the ethetnet and the intel 5300 wifi card. You should definitely go this way to install a new system.

Alternative way (NOT NEEDED ANYMORE):

Lucky for me, there is a solution on the wiki, download the usb image from Tobias Powalowski's page and it comes with a new shiny 2.6.27 kernel with support for the ethernet AND the wireless card, BUT if you want to use the WiFi to perform the installation, you better go download the firmware for your card, because it may not be on the image. In my case, the 2008.10 image was "firmwareless".
If you follow the usual steps, the whole thing is going to blow up, because the installer loads a i686 kernel (GOOD) but detects the Core2Duo as a 64bit proc and installs the x86_64 packages (BAD). It ends up with an infinite loop of errors when chrooting to create the root password. To avoid this, you have to edit the mirrorlist. Anytime you want (the sooner the better) switch to another terminal and type this:
# cd /etc/pacman.d/
# sed -e 's/x86_64/i686/g' mirrorlist > 686
# mv 686 mirrorlist
If you want to install over the WiFi you also have to:
# mount /dev/sd[whatever your usb is] /mnt
# cp /mnt/path/to/your_firmware /lib/firmware
# ifconfig wlan0 up
# iwconfig [whatever]
In case you have a WPA[2] network, replace the iwconfig command with the appropiate wpa_supplicant equivalent.
Switch back to the installation menu and you're good to go, no more specific X200s problems from here (almost). Don't forget to select you firmware in the package selection screen!
The only thing to remember is to check the modules in rc.conf. If the snd-pcsp module is listed before snd-hda-intel, sound will fail most of the time, so swap them if you need. NOTE: as the kernel 2.6.28 config suggest, you shouldn't use pcsp at all. I just removed the module from the kernel config so I don't have the module in my system. No pcsp module, no problem.
Reboot, and welcome to your new shiny Arch system!

What works out of the box:

In Arch? That would be... the keyboard. And that's the point!
Actually, a couple more things work out of the box.
  • The Wifi should work if you installed the firmware. With kernel 2.6.28 it works in monitor mode WITH packet injection support.
  • The ethernet card works.
  • The Thinkpad goodies (ThinkLight, Brightness, Sensors...) also work without any intervention.
  • The brightness has a weird one-press-lag: if you are reducing the brightness and then press the brightness up key, it will reduce the brightness one more step before starting to bring it up as it should (not in KDE4.2).
  • The SATA hard drive works.
  • The USB ports work.
  • The fan is controlled automatically, it is possible to override it but there are some notes not to mess with it so I don't. It works well speeding up and slowing down as needed.
  • The card reader works and hal notifies the insertion.
It's important to keep in mind that Arch offers a very bare-bones installation of linux and it's up to the user to install further programs and utilities as he wants.

First step:
I personally wanted to mantain /etc backup in subversion based on this method, so I installed subversion and made a first backup before anything, and another one after each step, just in case.

GRUB configuration
GRUB does its job fine, but you may want to improve it with some fancy. You have the whole config file above, but here are the details:
  • Add a graphical background to the menu with grub-gfx. This splash is the one I chose.
  • Set the console framebuffer to native resolution with "vga=874" parameter to the kernel. If you know Spanish, you can take a look at my howto, if not, you can google for it or just read the commands.
  • Allow hibernation/suspend-to-disk, adding the parameter "resume=/dev/YOUR_SWAP_PARTITION" to the kernel line.

CPU frequency scaling:

Works as soon as you install and configure cpufrequtils:
# pacman -S cpufrequtils
Edit /etc/rc.conf and add "acpi-cpufreq cpufreq-ondemand" to MODULES and cpufreq to DAEMONS
Edit /etc/conf.d/cpufreq and edit frequencies to something that makes sense for you, or even comment them out, as it works perfectly autodetected.

Sound:

If you checked that snd_hda_intel is loaded before snd_pcsp (or you don't have the pcsp module at all) sound should be working but muted.
# pacman -S alsa-utils
# alsamixer
# aplay /usr/share/sounds/alsa/Front_Center.wav
If you still don't hear anything, check /proc/acpi/ibm/volume, make sure it is not muted (gets muted with the mute key, in case you were wondering). You can unmute it either by pressing vol up/down key or:
# echo -n up > /proc/acpi/ibm/volume
If you only hear noise or very distorted sounds its probably because the audio devices got mixed up. Unload the kernel modules and load them again in the right order, prefferably load only the intel one. Also, don't forget to enable the alsa daemon as noted by the official guide.
BTW: microphone works too.

Video:
The video should work without any issues even without any xorg.conf file, autodetecting the correct parameters. One extra step is necessary to install xf86-video-intel. Of course, it's always safer to follow the steps in the guide and make sure the intel driver is actually used. The new xorg server uses input hotplugging, so remember to start hal before doing any test, or override the policy in xorg.conf. If you do this, remove the Input configuration lines since the hotplugging behavior ignores them. Native 1400x900 resolution is detected flawlessly as well.
VGA-out also works, but with the suboptimally. My guess is the driver is a bit messed up with this also, as it also detects two HDMI "connected", one of them active. Anyway, with 2.4 intel drivers, you need to specify the total resolution with a "Virtual XXXX YYYY" line in your xorg.conf's display subsection, and you may need to specify the resolution you want on your external display with a Modeline in xrandr. This is an example:
$ xrandr --newmode "1920x1080" 172.798 1920 2040 2248 2576 1080 1081 1084 1118 -hsync -vsync
$ xrandr --addmode VGA "1920x1080"
$ xrandr --output VGA --mode "1920x1080"
For the usual VGA, SVGA, etc, resolutions you don't need to do the latter. You can check the detected resolutions with a plain "xrandr". I believe this will change with the new modesetting+xorg+intel pack, maybe even with xorg+intel alone. Feel free to try.

UPDATE (March 12th 2009): With xorg-server 1.6.0, xf86-video-intel 2.6.3, and intel-dri 7.3, now the 3D part seem to be working, but the 2D performance is somewhat laggy, specially in Qt4 apps. For example: with several text files open in kate, when you try to switch from one to another, it takes about one second to show the second file contents since you click on its name in the toolbar, and it shows up in "chunks" of the screen. It's nothing serious, but it's certainly annoying. That 2D glithes are kind of weird, but at least glxgears now gives a decent 1140 fps. Since it seems to be a Qt4 problem, I'll try to update Qt to 4.5.0 (now in testing) and then see how things work out.
NOTE: Qt didn't help. I don't use 3D apps so I went back to the old drivers.
To install all these packages, try to compile the new xf86-video-intel module from abs/testing and it'll start complaining about dependencies, so install/build all of those. You'll end up with a small dependency-hell with xorg-server and xf86-input-evdev depending on each other, since xorg is a compile dependency for evedev, force the xorg build with the "-d" switch, install xorg (in my case with "-df" since it complained about both evdev and some existing files) and then build and install the evdev driver.

Backlight adjustment:
UPDATE (April 3rd 2009):
Backlight adjustment works just fine in KDE4, without any intervention, but doesn't work at all in console mode. Use the following instructions if you really need them!

The backlight adjusting with Fn+PgUp/PgDown almost work out of the box. The problem is that for some reason, the "video" acpi module has a one key press lag. Say the brightness is 9. You press down a few times to get it to 5. Now, if you press UP, it will go DOWN to 4 and THEN it'll start to go up, with the next key press. So if you went from 9 to 5 and now you want to go up a notch, you will have to press up three times, as the brightness goes trough 5->4->5->6. If you, like me, are annoyed by this, it has a workaround.
First, install acpid:
# pacman -S acpid
Start it at boot and now:
# $EDITOR /etc/rc.conf -> DAEMONS += "@acpid"
# /etc/rc.d/acpid start
Configure the thinkpad_acpi module to take care of brightness:
# rmmod video
# rmmod thinkpad_acpi
# modprobe thinkpad_acpi brightness_enable=1
# cat /sys/devices/platform/thinkpad_acpi/hotkey_all_mask > /sys/devices/platform/thinkpad_acpi/hotkey_mask
And edit /etc/acpi/handler.sh to make the adjustment for you:
[...]
ibm/hotkey)
case "$4" in
[...]
*1011)
echo down > /proc/acpi/ibm/brightness ;;
*1010)
echo up > /proc/acpi/ibm/brightness ;;
[...]
NOTE: you have the whole file linked in the files section above.
Now it should be working as it have. Beware, however, that this is an ugly hack and you should look for a a fixed version of the video acpi module any day soon and use some nice gui like the now broken kde's powerdevil to handle all of this.

Desktop environment:
This one is up to everyone's personal preferences, so you should know how to do it. I use KDE, so kdemod is my choice.

Multimedia Keys:
They pretty much work out of the box. Just assign them to the actions you want. However, remember that the mute key works by muting the /proc/acpi/ibm/volume, not the soundcard, so you will have to unmute it as mentioned above. Almost all the other keys work sending the appropiate XF86Whatever keycode. Fn+F3,F8,F9 send an unmapped scancode, so you can map it to whatever you fancy using Xmodmap. Mute, Fn+F5,Spacebar and Fn + the keys with no blue image send nothing; maybe is a way to fix this playing with the thinkpad-acpi key mask but I haven't looked into it yet.

TrackPoint scrolling with input hotplugging and evdev:
UPDATE (March 20th 2011): The system now got back to xorg.conf instead of fdi files. Add this to /etc/X11/xorg.conf.d/10-evdev.conf:
Section "InputClass"
    Identifier  "Trackpoint Wheel Emulation"
    MatchProduct            "TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device"
    MatchDevicePath         "/dev/input/event*"
    Option              "EmulateWheel"          "true"
    Option              "EmulateWheelButton"    "2"
    Option              "Emulate3Buttons"       "false"
    Option              "XAxisMapping"   "6 7"
    Option              "YAxisMapping"  "4 5"
EndSection

UPDATE (April 3rd 2009): The stock driver you can install with pacman already works, no need to compile it anymore. You still have to add the fdi file, though.
According to this thread in the Arch forums, the problem with wheel emulation is the xf86-input-evdev version. It should be rebuilt using ABS and the TrackPoint should work without any config tweak. Note: as stated in the gentoo wiki, march should be "native" if gcc>=4.3 and not using distcc. This is the most common scenario, so chances are you should use it. Install and configue ABS, go to /var/abs/extra/xf86-input-evdev, copy to your build dir and edit the PKGBUILD changing:
  • pkgver->2.1.0
  • md5sums->a6070ead29b2d81b5b386a96df2661b8 (here is the source if you want to md5 it yourself)
Save the PKGBUILD and install the new evdev driver with:
$ makepkg
# pacman -U xf86-input-evdev-2.1.0-1-i686.pkg.tar.gz
Restart the X server and try. It may work you automatically, but in my case, the autoconf didn't work. Reading /var/log/Xorg.0.log I figured out that it was trying to emulate the wheel with button 4, not 2. To fix this, create "/etc/hal/fdi/policy/trackpoint.fdi" and paste something like this (sorry for the broken indentation, blogger sucks for not including some [code] label. If you want the nice version, check out the snippet section):
<?xml version="1.0" encoding="utf-8"?>
<deviceinfo version="0.2">
<device>
<match key="info.product" contains="TrackPoint">
<merge key="input.x11_options.Emulate3Buttons" type="string">on</merge>
<merge key="input.x11_options.Emulate3TimeOut" type="string">50</merge>
<merge key="input.x11_options.EmulateWheelTimeOut" type="string">200</merge>
<merge key="input.x11_options.ZAxisMapping" type="string">4 5</merge>
<merge key="input.x11_options.EmulateWheel" type="string">on</merge>
<merge key="input.x11_options.EmulateWheelButton" type="string">2</merge>
<merge key="input.x11_options.YAxisMapping" type="string">4 5</merge>
<merge key="input.x11_options.XAxisMapping" type="string">6 7</merge>
</match>
</device>
</deviceinfo>
Then, restart hal with:
# /etc/rc.d/hal restart
Restart the X server (yep, again) and your scrolling should be working perfectly now.

Suspend and Hibernate:
UPDATE (April 3rd 2009): It's hard to tell, but using the 2.6.28 kernel, suspend seems to work fine out of the box, both in Xx and console. Hibernate didn't fail either. I just tested it a few times, so I you run into trouble, use the old workaround....
It's pretty broken out of the box, usually with the resume part. Fortunately workarounds do exist to fix this. First, check you have pm-utils to try to suspend.
# pacman -S pm-utils
Just in case it work, try to both suspend and hibernate. It's a feature that's changing very fast, so by the time you read this it may be working.
# pm-suspend
[...]
# pm-hibernate
[...]
If it doesn't work, try this solution. For me, it worked perfectly, with a 2.6.27-7 kernel, 1.5.3-3 xorg server and 2.4.3 intel driver. I tried to build the 2.5.1 intel driver with ABS as I did with evdev, but it depends on libdrm>=2.4.0, I have 2.3.1 and I don't want to rush too many updates so I left it with the workaround for now.

UPDATE: As of 2.6.28 kernel and 2.6.3 intel driver, I still use this solution, I just havent tried to suspend without the workaround, since it doesn't have any unwanted effects.

Fingerprint Reader:
The laptop comes with the new AuthenTec reader, so right now there is no driver for it, but it's being working on. In the future I'll pay it more attention, but right now I don't really need it, so I just let it be there. Besides, it's a pretty weak system.

Bluetooth:
The bluetooth is enabled/disabled via /proc/acpi/ibm/bluetooth file. When enabled, the device appears as a usb adapter. No Arch driver recognizes the hardware though. It's supposed to be supported by the btusb module, which isn't provided with Arch, despite it is in the official kernel source. Definetly something possible to resolve.
UPDATE Dec-9: once recompiled the kernel with the .config linked in the first section, bluetooth is listed in hciconfig and it's possible to scan for other devices with hcitool. No further testing was performed because bluetooth (among others) is pretty broken in KDE4.1.
UPDATE Dec-11: using the acpi handler script above, you can enable/disable bluetooth with Fn-F5.

SMAPI module:
IMPORTANT: Lenovo released a BIOS update that solves the conflict. If you haven't, you should update you BIOS and won't have any problem. If not, keep reading.
The tp_smapi module (AUR) version 0.39 can't load, with the error: thinkpad_ec: cannot claim io ports 0x1600-0x161f. Seems like unsupported hardware for now, have to wait for a new version. Accordingly, neither the accelerometer nor the advanced battery load configuration does work.

UPDATE: The tp_smapi 0.40 allows to force loading the module:
# modprobe tp_smapi
FATAL: Error inserting tp_smapi (/lib/modules/2.6.28-ranger/extra/tp_smapi.ko): Unknown symbol in module, or unknown parameter (see dmesg)
# dmesg
[...]
thinkpad_ec: cannot claim IO ports 0x1600-0x161f... consider using force_io=1.
[...]
# modprobe thinkpad_ec force_io=1
# modprobe tp_smapi
#
And now you can adjust the fan and use the accelerometer as in any thinkpad.


Does NOT work:
The laptop is amazing but there are some broken things.

The graphic 3D acceleration is almost usless, due to a lack of synchronization between the intel driver guys and the kernel developers. In 2.6.28 kernel should be working again. Don't use compiz or switch back to older versions. As soon as I have some spare time I'll take a look at that.
UPDATE (March 20th 201): video works in 3D and 2D without any major issues.
UPDATE (March 12th 2009): 3D acceleration works with testing versions of xorg, intel, drm, dri and a whole lot more stuff, but now 2D has some issues in Qt4 apps (see Video section above). Anyway, it seems to be solved soon.

The fingerprint reader is another one, but I already mentioned that.

Not tested:
These are things that I don't use, so I have no special interest in them.
  • Microphone input, Integrated Microphone Tested, works
  • Modem (might work, some Lenovo come with real modems)
  • TPM module (no idea about this one)
Well, I think it's pretty much everything. If you have any questions don't hesitate to ask in the comments, either in English, Spanish or almost any language you want (google translation rulez). I will update this page as soon as something new develops. I'm planning to recompile the kernel to get bluetooth support as well as include some modules built into the kernel to gain some boot speed, so I'll come back to let you know how it works out.
If you need further info on installing various linux distributions on similar hardware (X200), check out the reports at tuxmobil.
___________________________________________________

Este post está en inglés, por si le es útil a alguien el mundo más allá de paises hispanohablantes. Dado que este portátil no ha llegado aún a España (ni tiene pinta de que lo haga en varios meses), dudo mucho de su utilidad ahora mismo para nadie aquí. En caso de no entender algo, aclararé cualquier duda. Dejo para un posterior post una pequeña review del portátil, porque realmente es una peazo máquina.


TuxMobil - Linux on Laptops, Notebooks, PDAs and Mobile Phones

Monday, December 1, 2008

Instrucciones de la NASA

Después de leer en Microsiervos el desenlace de la misión STS-126 de la NASA, he estado leyendo sobre los aviones de transporte de transbordadores espaciales. Hay datos muy curiosos, pero lo que más me gustó fue una nota de aviso en uno de ellos, concretamente en uno de los anclajes para fijar el transbordador al avión. Aquí está la foto del anclaje en cuestión:

Origen: http://edwards.airshowjournal.com/2003/

La nota dice lo siguiente: "ATTACH ORBITER HERE", es decir "Acoplar Transbordador Aqui". Por si no fuera suficiente, debajo hay una aclaracion, "BLACK SIDE DOWN": "Con la parte negra hacia abajo".

En el fondo son unos cachondos estos de la NASA...

Sunday, November 30, 2008

Marketing made in Microsoft

Una noticia en slashdot dice que Microsoft ha anunciado un sistema gráfico por software para su Windows 7 que será compatible con DirectX 10, llamado WARP (sí, como en Star Trek). Además, el hardware mínimo necesario para su funcionamiento será una CPU a 800MHz sin requerir instrucciones multimedia (técnicamente, SIMD). Vale, bien por Microsoft. Aunque ya empiezan a chirriar algunos datos. Si Windows 7 tendrá aproximadamente los mismos requisitos que Windows Vista... ¿de que sirve que WARP se pueda ejectutar en CPUs de 800Mhz si para abrir el bloc de notas habrá que esperar medio minuto?

Además, se ofrecen datos de Benchmark. Según la información presentada por Microsoft, el sistema WARP ofrece más rendimiento que las tarjetas gráficas integradas de Intel. Claro que es usando "un Core i7 de 8 núcleos". Suponiendo la opción más barata, es decir, que cuenten los nucleos virtuales de HyperThreading y no un procesador dual, y que se refieran al procesador más bajo de la gama, eso son 250 euros de procesador. La opción más cara, dos procesadores de tope de gama (8 nucleos reales) son 2.000 euros de nada. La tarjeta gráfica de intel, se puede encontrar integrada en placas base que en total cuestan 85 euros. ¿Vale la pena pagar un minimo de 200 euros más para ganar 2 frames por segundo? Seguramente más ya que un procesador normal + placa con tarjeta Intel DirectX 10 son unos 200 euros. Un Core i7 con placa base es un mínimo de 500 euros, mas una tarjeta gráfica (sin DirectX10, para que sea lo más barata posible) serian 550 en total.

Como dice Bruce Schneier de la criptografía cuántica, "impressive but pointless" (habría que discutirlo, pero eso es tema para otro post), lo que viene a ser algo como "impresionante pero inútil". Si alguien quiere rendimiento gráfico, por los 350 euros de diferencia se puede comprar tranquilamente una tarjeta gráfica de gama alta y en vez de subir de 5 a 7 fps subir de 5 a 50 fps, mínimo. Y si necesita el procesador Core i7 para otras aplicaciones, una subida de 2 fps le dará bastante igual. No le veo el sentido.

Algún día tendré que escribir algo bueno sobre Microsoft, que cada vez que les nombro es para ponerlos verdes...

Friday, November 21, 2008

Fiablidad en informática

Es una putada cuando se cuelga el ordenador. Por suerte, aun con Windows (moderno), eso pasa muy poco. También molesta cuando un programa deja de funcionar (¿cual es la traducción de "crash"? ¿petar?). Eso también ocurre poco, aunque al ser menos grave, se ve de vez en cuando. Sobre todo ocurre con los programas hechos por uno mismo. Si nos dieran un euro por "Segmentation fault", los informáticos seríamos de oro. Los programas publicados desde luego son mucho mas estables, pero, ¿hasta qué punto?

Ahora con el tema de la ley, las competencias, y todo ese rollo, han surgido varias reflexiones. ¿Que competencias puede tener un informático? ¿Quién se atrevería a "firmar" por un programa? Un arquitecto lo tiene fácil: una viga acero de X centímetros soporta Y kg. Si Y no es suficiente, aumentamos la X y listo. Pero... ¿un programa? Aparte de la obvia complejidad de cualquier software y la posibilidad de errores de especificación, diseño, codificación, estados imprevistos, datos de entrada erróneos, etc, se unen muchos más. Por ejemplo, que el código generado por el compilador sea realmente lo que hemos especificado en el lenguaje. Que el sistema operativo realice bien sus tareas, no se cuelgue, implemente bien las llamadas. Que el hardware no cambie ni un bit del estado del programa. Muchísimos factores que no dependen del programador.

Teniendo todo esto en cuenta, los hay que tener bien gordos para confiar tu vida a un ordenador. Y si sabes que el ordenador tiene 4k de RAM, 32k de ROM y está hecho con 4100 puertas NOR, es para asustarse. (Por otro la lado, tiene que ser un reto apasionante construir un ordenador funcional y 100% fiable con esas limitaciones.) Otros simplemente van por la vía fácil y montan los equipos por cuadruplicado, con un quinto alternativo ejecutando un programa independiente pero equivalente. Aparte de eso, los procesadores, compiladores, etc, tienen que estar comprobados y certificados. Se usan lenguajes específicos. Se testea cada módulo de tal manera que prácticamente no hay ningún estado no previsto o desconocido. Se hace lo humanamente posible. Resultado: las cosas funcionan. Trampa: "las cosas" caben en 1 Mega de RAM y lo único que hacen es leer sensores y ajustar válvulas. Y eso con un presupuesto como... ¿el de la NASA?

Es extraño como algo tan poco fiable como la informática ha conseguido convertirse en algo tan imprescindible. Un ejemplo más del efecto "good enough".

Thursday, November 20, 2008

Diccionario Geek

Hoy veremos definiciones de estructuras de control con fallos:
  • Bucle infinito: bucle sin fin.
  • Bucle sin fin: bucle infinito.
Hasta otro día!

Wednesday, November 19, 2008

Reflexión para talibanes

Leyendo en slashdot acerca de IBM y AIX, me he encontrado el siguiente comentario:
"If there is any system you don't hate, it is because you don't know it well enough."

No es que esté a favor ni en contra de esa idea en concreto, pero me hace pensar de nuevo sobre lo mucho que la gente habla de cosas de las que no tiene ni idea. Ya sea para adorar o para odiar un sistema, lo primero es conocerlo.

Vale que yo le tenga manía a Ubuntu y a Vista, pero al menos los intento conocer. De hecho estuve un mes usando Kubuntu. Además, no digo que sea malo, sólo que no es tan maravilloso como lo pintan, que no es el más fácil para el usuario. Vista es otra historia. Sespues de tener que instalar 512Mb de RAM adicionales para jugar al Civilization4 e intentar ver un DVD, me di por vencido, dejé de usarlo y recomiendo a la gente usar XP. Que muy bien que Vista tenga ASLR y BitLocker y UAC, pero si lo programas no funcionan, de poco sirve que todo esté super mejorado. No creo conocer Vista bien, ni mucho menos, pero no lo critico porque esté de moda o lo he leido en un foro. Aparte, dentro de una empresa, con un equipo de IT dedicado, puede que llegue a funcionar muy bien, pero en mi caso concreto de usuario doméstico, no vale la pena.

En fin, ya se que esto no va a servir de nada e Internet y la vida misma estarán llenos de gente que odia Windows porque el 98 se colgaba y otros que odian Linux porque el CD de su videojeugo favorito no funciona. Otro día hablaré sobre otros tipos de talibanes: OpenBSD, maniaticos de "GNU/Linux", etc.

Friday, November 14, 2008

Diseño de una Web 2.0

Excelente manual para crear una web 2.0, que tan de moda está hoy en día.

¿Tan difícil es?

Wednesday, November 12, 2008

Unas notas más acerca de Fedora

Tengo que admitir que en realidad Fedora es algo mejor de lo que creía.

He estado probando la instalación un ratillo más esta tarde y he visto unos cuantos detalles que creo interesantes. Excepto el fallo omnipresente en tooodas las distros que he visto, de las teclas multimedia que no funcionan "out of the box" con KDE4 y la inexistencia de drivers de nVidia, el soporte de hardware es bastante bueno. Incluso la hibernacion en disco funciona, cuando en Kubuntu daba problemas. Aparte, la inclusión de SELinux (sí, la página oficial es de la NSA, no es un error) es un gran punto a su favor.

También se amplian los puntos en contra. Sobre todo en cuanto a software. No sólo faltan los drivers de nVidia, tampoco pude encontrar el VLC ni mpalyer (!!). Lo intenté buscar dos veces reiniciando la herramienta de gestión de paquetes y recargando la lista disponible, no me podía creer que faltaran dos programas como esos, pero o soy muy torpe (que es posible) o efectivamente no están. Además de todo esto, el programa de gestión en sí es bastante lento, descargando información de internet en momentos inesperados y yendo generalemente muy lento. Me recuerda un poco a la versión antigua del Yast de Suse.

Teniendo en cuenta que la versión que he probado es una beta espero que solucionen el tema de los repositorios/instalación para la versión final y puede quedar un sistema mucho más cercano a "user freindly" de lo que pensaba. De todos modos no llega a la facilidad de Suse o Mandriva, para alguien muy verde sigo pensando que esos dos a pesar de no ser perfectos son los más recomendables. Sus centros de control son una bendición para un usuario novato o muy vago. Fedora puede ser un excelente candidato a "segundo pasito" en el mundo de Linux.

Ahora mismo estoy bajando la beta 5 de Mepis 8: ya que no hay lanzamientos a la vista me ha dado por probar las betas. Puede que la siguiente sea Suse 11.1, que hasta el 18 de diciembre no sale...

Monday, November 10, 2008

Probando Fedora

Este fin de semana en un rato libre instalé la versión "preview" de Fedora10. El resultado no es malo, pero no es una distro que vaya a usar.

La verdad es que ya había leido que Fedora no es una distribución "fácil", que necesita algo de trabajo post-instalación, pero no creía que tanto. El resultado recién terminada la instalación no se aleja mucho de lo que ofrece un Debian, por ejemplo. El touchpad funciona mal, la wifi sí que funciona sin problemas, las teclas multimedia no funcionan por defecto (hay que asignarlas)... vamos, realmente lo esperable en una distro cualquiera de hoy en día.

Un poco decepcionante que no tengan drivers de nvidia. Al principio creí que era por temas de licencia o "filosofía", pero luego leyendo por los foros parece ser que por alguna misteriosa razón, los drivers de nvidia suelen salir un poco más tarde que el conjunto de la distribución. Sinceramente, no veo una razón lógica para esto, pero digo yo que no será por fastidiar a la gente. En general lo que comentan los más asiduos es que para los novatos vale la pena esperar un par de semanas desde el lanzamiento de una versión para dar tiempo a que todos los detalles estén pulidos. Yo personalmente no recomendaría Fedora a un novato visto lo visto, mucho tendría que cambiar el producto final para que fuera "user friendly".

Una cosa que me sorprendió de manera muy agradable es la alta coherencia gráfica que tiene, reasgo más bien propio de distros "fáciles". Además de coherente, el tema gráfico es (a mi gusto) muy bonito. Viendo en la web es aspecto de Fedora9, la versión todavía marcada como estable, parece que es un aspecto muy cuidado:



Ahora que me acuerdo, en el anterior portatil, usaba en KDM el theme de Fedora.

En fin, un sistema muy válido y que recomiendo probar a cualquiera que sepa al menos editar un xorg.conf, pero no aporta ninguna ventaja lo bastante significativa sobre otros como Debian como para invertir el esfuerzo de familiarizarse con él. Es resumen: válido como cualquier otro.

Saturday, November 8, 2008

Windows 7 y la autonomía de los portátiles

Uno se esfuerza por apoyar a Microsoft. En el fondo, no pueden ser tan malos. En el fondo, Bill Gates consiguió colocar un PC en cada hogar, o casi. En el fondo, las ideas que tienen no son tan malas. Y de hecho, y ya no sólo en el fondo, sino abiertamente, alguno de sus productos son muy buenos, véase las herraminetas de desarrollo.

Pero lo malo es que siempre vuelven a las andadas, sacando Windows Vistas (que todo el mundo puede tener un fallo) y lo peor: intentando engañar a la gente. Leo en Xataka y Gizmondo que Windows7 aumenta la vida de las baterías en los portátiles un 11%. Ahá, interesante, sigamos leyendo.

El test se hizo reproduciendo DVDs. Hmmmmm, esto ya suena raro. Aparte de que leer DVDs no es la tarea más común que se haga en un portatil, es la más fácil de optimizar, gracias a lo específico del escenario, y de hecho muchos programas lo hacen. Basta con leer un gran trozo de película, guardarlo en RAM y apagar el lector de DVD un rato largo. Bueno, sigamos leyendo, despues de todo todo el mundo tira para casa.

Datos: Vista consume ~17W y W7 consume ~13W. En el artículo citan que una batería de 3h en vista dura 4h en W7. Lógico, puesto que 17/13 = 130% aprox. Vale, un aumento de 1 hora repecto a 3 horas es un 33%, eso cuadra. ¿De donde salen pues lo datos de 11%? ¿Y las gráficas de entre 11,5 y 15,4? ¿Que datos son falsos? ¿Por qué narices Vista consume ¡¡4vatios!! de corriente innecesaria? ¿Por qué Microsoft da unas graficas del 12% pero cita el dato de 1hora extra? ¿Por qué cuando Vista salio al mercado llegaron a decir que es más eficiente que WinXP?

Me da a mi intuyo la respuesta a todas las preguntas. Si haciendo programas Microsoft será mediocre, pero en marketng hay que reconocer que son unos auténticos cracks.

Thursday, November 6, 2008

Kubuntu 8.10

Si, lo confieso, he vuelto a instalar Kubuntu, pero sólo para usarlo 10 minutos.

Tras pelerame durante un tiempo con KDE4, nVidia y otras cosillas en Arch (hibernación, wifi rebelde, teclas multimedia, problemas gráficos, etc.) probé la Kubuntu 8.10 para ver si era cosa de Arch o de KDE4 y cía. Que conste que excepto las teclas multimedia y los problemas gráficos,los demás problemas de Arch no los he investigado, asi queprobablemente se puedan solucionar. Recuerdo que al menos los problemas gráficos no se daban en Mandriva 2008.1 ni 2009, asi que me dio por ver que tal fucionaba todo en Kubuntu, "la distro que hace que todo funcione bien a la primera" (ejem, ejem). Resultado: la wifi directamente NO va: lista las redes pero ni intenta conectarse, las teclas multimedia van a medias: silencio si pero volumen no y los problemas graficos no los da... porque no le da la gana instalar los drivers de nVidia.

En fin, a finales de mes Fedora 10 y en diciembre SuSE 11.1. La esperanza el lo último que se pierde, ¿no? Ah, y en algun momento del futuro (tras Debian 5.0), Mepis 8.

Tuesday, October 21, 2008

DBus por consola.

Después de hora y media de investigación he descubierto cómo cojones se usa d-bus desde línea de comandos. Horrible la documentación que hay.

El origen del tema es kdialog, una herramienta genial para proveer de manera "fácil" de una GUI a los scripts de bash. Todo es bonito y maravilloso hasta que se llega a la parte de progressbar, barra de progreso. Como el resto de llamadas son bloqueantes y esta lógicamente no puede serlo (no habría manera de seguir haciendo algo para hacer progresar la barra) el modo de funcionamiento cambia. Lo que devuelve kdialog es un "handler" de dbus, para enviarle mensajes. Todo lo que hay en Internet, incluida la documentación de KDE, es con dcop, la versión KDE3 de IPC, sustituida en KDE4 por dbus.

El control de DCOP por consola era una maravilla, pero con dbus la cosa es muy distinta. El comando dcop era autoexplicativo: si no se daba un comando valido, respondía con una lista de comandos válidos. Para saber que programas habia escuchando se hacía "dcop". Para saber que interfaces ofrecía amarok se hacia "dcop amarok". Para saber que funciones ofrecía la interfaz player de amarok, se hacia "dcop amarok player". Mágico.

Con dbus-send, la herramienta básica de dbus, si no se da un comando válido, dbus-send devuelve un bonito error nada explicativo y muere.
n0rdik0@telstar ~ $ dbus-send --print-reply --dest=org.kde.kdialog-27831 /ProgressDialog org.kde.kdialog.ProgressDialog.value int32:1
Error org.freedesktop.DBus.Error.ServiceUnknown: The name org.kde.kdialog-27831 was not provided by any .service files
n0rdik0@telstar ~ $

Ale, y tan pancho. La traduccion al cristiano (descubierta por otro lado) es que el puerto kdialog-27831 no existe, ya que le mandaba mensajes al kdialog que habia cerrado antes y el bueno era el 34981.

El caso es que tras mucho leer por la página de KDE y freedesktop.org llegué por fin a sacar algo en claro: cómo saber los servicios dbus ofrecidos por un programa. Es decir, la llamada "dcop kdialog ProgressBar" es sustitudia por "dbus-send --print-reply --dest=org.kde.kdialog-31498 /ProgressDialog org.freedesktop.DBus.Introspectable.Introspect". Super intuitivo, ¿a que sí?

Para más inri, kdialog no ofrece ningún método para cambiar el progreso, así que hay que hacerlo cambiado el valor de la propiedad "value" en "org.kde.kdialog.ProgressDialog". ¿Cómo se hace esto?

n0rdik0@telstar ~ $ dbus-send --print-reply --dest=org.kde.kdialog-31498 /ProgressDialog org.kde.kdialog.ProgressDialog.value
Error org.freedesktop.DBus.Error.UnknownMethod: No such method 'value' in interface 'org.kde.kdialog.ProgressDialog' at object path '/ProgressDialog' (signature '')
n0rdik0@telstar ~ $ dbus-send --print-reply --dest=org.kde.kdialog-31498 /ProgressDialog org.kde.kdialog.ProgressDialog.value int32:1
Error org.freedesktop.DBus.Error.UnknownMethod: No such method 'value' in interface 'org.kde.kdialog.ProgressDialog' at object path '/ProgressDialog' (signature 'i')
n0rdik0@telstar ~ $ dbus-send --print-reply --dest=org.kde.kdialog-31498 /ProgressDialog org.kde.kdialog.ProgressDialog.value=1
process 5324: arguments to dbus_message_new_method_call() were incorrect, assertion "_dbus_check_is_valid_member (method)" failed in file dbus-message.c line 1077.
This is normally a bug in some application using the D-Bus library.
D-Bus not built with -rdynamic so unable to print a backtrace
Aborted
n0rdik0@telstar ~ $

Lo primero es pensar: pues con "org.kde.kdialog.ProgressDialog.value 1". ¡Eeeeeck! Value no es un método. Pasarle in parámetro (hay que indicar el tipo int con "int32:") tampoco. Bien, pues con "org.kde.kdialog.ProgressDialog.value=1". ¡Ja, más quisieras! Así, aparte de no funcionar, da fallo de un assert.

Siguiendo la documentación, encuentro las funciones para manipular propiedades, con una ruta del servicio totalmente distinta a la anterior, dado que son funciones "genéricas", y son a quienes hay que decir la ruta a la propiedad deseada.

n0rdik0@telstar ~ $ dbus-send --print-reply --dest=org.kde.kdialog-31498 /ProgressDialog org.freedesktop.DBus.Properties.Get string:'org.kde.kdialog.ProgressDialog' string:'maximum'
method return sender=:1.15176 -> dest=:1.17121 reply_serial=2
variant int32 100
n0rdik0@telstar ~ $ dbus-send --print-reply --dest=org.kde.kdialog-31498 /ProgressDialog org.freedesktop.DBus.Properties.Get string:'org.kde.kdialog.ProgressDialog' string:'value'
method return sender=:1.15176 -> dest=:1.17122 reply_serial=2
variant int32 5
n0rdik0@telstar ~ $

¡Bien, funciona! Ahora el Set:
n0rdik0@telstar ~ $ dbus-send --print-reply --dest=org.kde.kdialog-31498 /ProgressDialog org.freedesktop.DBus.Properties.Set string:'org.kde.kdialog.ProgressDialog' string:'value' int32:6
Error org.freedesktop.DBus.Error.UnknownMethod: No such method 'Set' in interface 'org.freedesktop.DBus.Properties' at object path '/ProgressDialog' (signature 'ssi')
n0rdik0@telstar ~ $

¡Ups! ¿Cómo que no está? Pufffff... Después de un rato vi que el "(signature 'ssi')" es la calve, el prolema es que recibe 2 string y un int y espera 2 srtings y 1 "v", es decir "VARIANT". Perfecto:
n0rdik0@telstar ~ $ dbus-send --print-reply --dest=org.kde.kdialog-31498 /ProgressDialog org.freedesktop.DBus.Properties.Set string:'org.kde.kdialog.ProgressDialog' string:'value' variant:6
dbus-send: Data item "6" is badly formed
n0rdik0@telstar ~ $

¡Toma ya! Item "6" mal formado. Eso sí que es un error útil y explicativo. Google, nada. Documentación, nada. Pues nada, prueba y error.

Tras un rato, la Solución:
n0rdik0@telstar ~ $ dbus-send --print-reply --dest=org.kde.kdialog-31498 /ProgressDialog org.freedesktop.DBus.Properties.Set string:'org.kde.kdialog.ProgressDialog' string:'value' variant:'int32:6'
method return sender=:1.15176 -> dest=:1.17164 reply_serial=2
n0rdik0@telstar ~ $

Hora y media para eso. Con 2 minutos de documentación hubiera estado de sobra, pero no :(

Por suerte hay aplicaciones mucho mas amigables como qdbus o con GUI: qbusviewer. Con qdbus el funcionamiento es igual que dcop, aunque las propiedades siguen sin poder cambiarse de manera "intuitiva" y hace falta recurrir al "Get/Set" genérico para ello. Vaya estipicio. Hay que joderse con las regresiones parece que todo funciona peor segun pasa el tiempo. A este ritmo echaremos de menos lo buenos tiempos de Windows95.

Wednesday, October 15, 2008

Arch Linux, primeras impresiones

Como ya comenté hace un par de días, tenía ganas de probar Arch, ya dado que es la única de la lista que no está ahora mismo en versión beta o RC , la he instalado. De hecho, igual que Gentoo, Arch tiene un sistema de actualización continua, por lo que las releases son simplemente congelaciones puntuales del arbol de paquetes.

La gente la comparaba a una cosa intermedia entre Debian y Gentoo y por ahí anda la cosa. Realmente es como un Gentoo pero binario. Tiene cosas buenas y otras no tanto, voy a contar las principales, centrándome en las diferencias con Gentoo, puesto que el resto es muy muy parecido: actualización continua, sistema base super reducido, configuración manual 100% de todos los aspectos del sistema, documentación para dar y tomar...

Lo primero el gestor de paquetes. Pacman es mucho más rápido que emerge, no sólo por que usa binarios sino porque está hecho en C y no en bash. La búsqueda es tan rápida como eix y la actualización de repositorios es casi instantánea:
[root@telstar ~]# time pacman -Sy
:: Sincronizando las bases de datos de paquetes...
core 31,8K 141,0K/s 00:00:00 [##################################################################] 100%
extra 410,3K 585,3K/s 00:00:01 [##################################################################] 100%
community está actualizado

real 0m2.385s
user 0m0.147s
sys 0m0.407s
[root@telstar ~]#

Nada que ver con los minutos de Gentoo en un eix-sync o al menos emerge --sync, o los de SuSE 10.x. De hecho es el gestor más rápido que he visto, superando incluso al apt-get de Debian. A veces hasta asusta:
[root@telstar ~]# time echo s | pacman -S wine
resolviendo dependencias...
verificando conflictos...

Objetivos (1): wine-1.1.6-1

Tamaño total de descarga: 0,00 MB
Tamaño total instalado: 73,62 MB

¿Continuar con la instalación? [S/n] Verificando la integridad de los paquetes...
(1/1) verificando conflictos entre archivos [##################################################################] 100%
(1/1) instalando wine [##################################################################] 100%
Dependencias Opcionales para wine
cups: printing support
sane: scanners support
libgphoto2: digital cameras support
alsa-lib: sound support
giflib: GIF images support
libjpeg: JPEG images support
libpng: PNG images support

real 0m1.378s
user 0m1.117s
sys 0m0.227s
[root@telstar ~]#

Instalación de wine en segundo y pico, no está nada mal.
Lo que ya no me gusta tanto es el aspecto. Sobre todo al hacer búsquedas, al no usar colores, es muy difícil de leer lo que encuentra si hay mas de 4 o 5 resultados. Hay proyectos por ahí de colorear la salida, pero son scripts de post-proceso, lo que contradice la filosofía de pacman.
Y otra cosa que echo mucho de menos de Gentoo es tener varias versiones de un mismo paquete, y clasificadas como estables y testings. En Arch hay una y punto, lo cual hace muy difícil volver a una versión anterior si una da problemas. Si se ha tenido antes y no se ha borrado la caché, se puede instalar desde el paquete en caché, si no se ha tenido ese paquete antes, hay que buscar por Internet un repositorio desactualizado, yo he usado http://ftp.tu-chemnitz.de/pub/linux/sunsite.unc-mirror/distributions/archlinux/$repo/os/i686. Se sustituye en /etc/pacman.d/mirrorlist, se sincroniza (pacman -Sy) y se instala el paquete que se quiera. También se puede bajar a mano e instalar con "pacman -U". Todo esto hace que no me de mucha confianza para un sistema crítico, aunque sólo es una opinión personal. Por último, tiene una GUI en QT4, shaman que es bastante normalita: cumple su función, no estopea mucho a pacman pero tampoco lo mejora. Como synaptic con apt-get.

En cuanto a la administración, esta más centralizada que en Gentoo, pero no hay scripts auxiliares, aunque tampoco hacen falta debido a lo simple que es. Casi cualquier aspecto del sistema se configura tocando el archivo /etc/rc.conf. Evidentemente, apache sigue teniendo su httpd.conf, etc, pero la información referente al sistema en sí (localización, hardware, red, demonios) está en un sólo archivo de texto.
Una idea genial que tiene es la de arrancar demonios en background, los cual acelera muchísimo el proceso de arranque. ¿Para que esperar a que arranquen apache y mysql si pueden ir arrancando mientras tecleo la contraseña? Lo mismo con otros más obvios como dhcp, ntpd, etc. Gentoo simplemente tenía un switch de asincronismo, pero Arch permite definir cada demonio por separado.
El siguiente paso sería definir hilos de demonios. Me explico con un ejemplo: si ntpd tiene que esperar a que dhcp adquiera una dirección, no haya que detener todo el arranque mientras dhcp termina. Se define que ntpd depende de dhcp (gentoo lo hace con funciones bash en cada script, pero un xml o yml valdría par el caso) y se arrancan ambos de manera asíncrona, así dbus puede ir arrancando mientras dhcp adquiere una dirección y ntpd espera a dhcp. Aún más, se puede definir otro hilo con dbus-hal-otros y arrancar los hilos de dbus y dhcp y mientras ir iniciando kdm. Si tengo un rato lo propondré en el bugzilla de Arch, si no lo ha propuesto alguien ya. En la documentación al menos no viene.

En cuanto al escritorio no hay mucho que decir: los fallos de KDE4 con nVidia estropean un poco el tema y por desgracia, no hay KDE3 en los repositorios oficiales. Las teclas multimedia funcionan de pascuas a ramos y sólo algunas, etc.


Para terminar hoy, destacar que existe un mecanismo parecido a los overlays de Gentoo: ABS y también un repositorio actualizado por los usuarios, una especie de "wiki de paquetes", AUR, pero aún no los he investigado. Con estos mecanismos sí que es posible instalar KDE3 y otras cosillas, pero lo dejo para más adelante.

De momento usaré Arch, al menos hasta que salgan las nuevas "distribuciones fáciles". Para el futuro, a largo plazo me gusta más Gentoo, pero al menos tendré una opción formada sobre Arch. Por el momento, recomiendo a cualquiera que le guste trastear con linux que la pruebe, aunque yo, sobre todo por el tema de varias versiones de un paquete, me quedo con Gentoo. Eso sí, el logo es más bonito el de Arch :D

Sunday, October 12, 2008

Windows... ¿qué?

Se dice, se comenta, que windows 7 puede tener ya nombre (comercial, en clave tipo longhorn, quien sabe): Windows STRATA.
No haré muchos comentarios, sólo dejaré un link que habla por si mismo.

Mandriva y cía

Una de las cosas positivas de Mandriva que ví al principio es la autocrítica, reflejada en la erratas en la wiki oficial. Incluye algunas cosas que había visto pero no había, comentado y otras que sí habia mencionado ya antes:
Otros muchos aún no están en las erratas, aunque el la página en inglés hay alguno más, como que las aplicaciones GTK aparecen con fallos gráficos en el panel, pero faltan otras muchas. Sin ir más lejos, la wifi falla al conectarse a puntos de acceso con WPA (y sin caracteres raros en la contraseña, a no ser que [0-9]+ sean caracteres raros), de manera increíble no hay ninguna aplicación para grabar discos en la instalación por defecto (instalar k3b requiere medio KDE3: 150 y pico megas), conky en desktop + compiz matan a las X, y así podría seguir un rato. Que conste que intenté instalar Mandriva 3 veces (más que nada porque las dos primeras me quedé sin wifi gracias a que el instalador borró el firmware), así que no creo que sea fallo mío. Vamos, que no le hubiera venido nada pero que nada mal otras dos semanitas de desarrollo, porque el resultado tiene una pinta de Beta que ni GMail ;)

Dispuesto a probar otros, intenté instalar openSUSE 11.0, por ver si la anterior vez fue fallo mío. Resultado: EPIC FAIL. Si siquiera llegó a arrancar el LiveCD, quedandose en una consola que decía: Arrancando X... Probé en inglés, con otra resoución y lo mismo. Probé arrancar en modo failsafe y llegó al escritorio, donde el touchpad funcionaba indescriptiblemente mal: cualquier toque bloqueaba el click y cuanquier movimiento accionaba la "rueda" del touchpad. Inusable. Aparte, las aplicaciones de systray (iconitos al lado del reloj) aparecían como programas minimizados en la barra de tareas, por supuesto sin posibilidad de hacerlos aparecer y por tanto sin poder usar la wifi (por ejemplo). Funcionaba tan mal que verifiqué el disco al arrancar de nuevo: MD5 OK. Suse KO.

Por último he probado Sabayon (filosofia ubuntu aplicada a gentoo en lugar de debian). La versión que me bajé fue "Sabayon-Linux-x86-3.5-Pod.iso", que resulta ser un LiveCD instalable como todos, pero con XFCE en lugar de KDE/GNOME y sin el firmware de la wifi. Lo peor es que en la web no explican que lleva, simplemente dejan links a los mirrors. Yo lo siento, pero teniendo un CD-RW no pienso gastar un DVD en probar la distro, y menos si no explican cómo va la cosa. Si encuentro un DVD+-RW lo intentaré.

Futuro: Dado que el portatil donde estoy probando estas distros lo va a heredar dentro de poco alguien no-geek, sigo buscando una distribución facilita. Kubuntu tuvo 2 oportunidades, así que le daré otra a openSUSE, versión 11.1 y si da tiempo, a Mandriva 2009.1. Aparte, intentaré sacar tiempo para probar Fedora10 y MEPIS8 y ya opcionalmente quizá Mint, PCLinuxOS... Quien sabe, incluso hasta PC-BSD o Desktop-BSD, aunque para un portátil no creo que den el pego.

Y yo volveré a los orígenes, Debian o Gentoo, dependiendo del procesador que tenga el portatil que me compre, aunque antes tengo ganas de probar Arch.

UPDATE: Parece ser que no soy el único al que Mandriva 2009 se le ha roto. Y de paso me he enterado de que PCLinuxOS en su versión actual no sirve de sistema para portatil, tocará esperar a una nueva versión.

Saturday, October 11, 2008

De FAIL en FAIL y... ¿tiro porque me toca?

Pues ya está Mandriva 2009 instalado de cero. Y desde luego no es gracias al instalador automático.
  • Incluye una herramienta para eliminar idiomas y drivers que no hacen falta para ahorrar espacio en disco y tiempo de arranque. Bien. La herramienta borra todos los drivers, incluidos los de la tarjeta de red: MAL.
  • Una vez terminada la instalación, el sistema pide reiniciar: Bien. El proceso de reinicio se para al 90% y ahí se queda indefinidamente: MAL.
  • Una vez resetado el PC pide crear usuarios: Bien. Crea el usuario con ID 500 y la mitad de sus archivos en el home con ID 1000, de modo que KDE no arranca: MAL.
  • Detectar automáticamente los botones multimedia: Bien. No asignarlos a ninguna acción y por tanto hacer que de entrada no funcionen: MAL.
  • Incluir un paquete LAMP para acelerar la instalación de un servidor: Bien. No incluir MySQL, que es la M de LAMP: MAL. Hacerlo en dos versiones seguidas: FATAL.
Resumiendo: lo poco que fallaba en la versión 2008.1 sigue fallando (el reloj se ha arreglado, creo q es lo único, apache sigue con el "listen 0.0.0.0:80") y un montón de cosas que funcionaban han dejado de funcionar. Justo como me temía, igual que openSUSE con la versión 11. Qué decepción.

Se que hacer un sistema operativo que sea fácil para el usuario es algo complicado, pero ¿tan difícil es no cagarla cuando ya casi lo tienes?

En fin, habra que probar Fedora10 y Mepis8. Quizá, sólo quizá, suse 11.1 y Mandriva 2009.1.

Friday, October 10, 2008

Amarok: Update FAIL (si, otro, pero este es Beta)

Si Mandriva falló estrepitosamente en el proceso de actualización, Amarok por el contrario, es el resultado el que deja mucho que desear.
La manía de simplificar se extiende y ahora ya no se puede por ejemplo, añadir un podcast que se tenga en el iPod. De hecho el iPod en sí aparece como otra colección, y los podcast no se distinguen de las canciones normales.
¿Está de moda que las cosas dejen de funcionar con las nuevas versiones?
Otra cosa discutible es incluir versiones Beta de programas como sustitutos de versiones estables. Con firefox3 la idea funcionó bien, pero no debería ser una costumbre...

Mandriva: Update FAIL

Ha salido Mandriva 2009! Voy a instalarla de 0, ya que la actualización ha sido un F-R-A-C-A-S-O. Hace 6 dias el applet actualizador me avisó muy amablemente: "hay disponible una nueva versión estable, ¿desea actualizar?" Lo que ocurrió después fue un CAOS, todo KDE se rompió y tuve que hacer un "urpme kde -a" (desinstalar TODO lo relacionado con KDE) y volver a instalar. Espero que aquello fuera un error de alguien al marcarlo como estable y justo pillara a mi applet consultando, porque la distro no ha salido hasta hoy. ¡Y con razón!

Una vez reinstalado, la mitad de los paquetes eran 2008.1 y la otra mitad 2009. Cambié a cooker (la versión "testing" o más bien "unstable", pero "unstable" tipo plutonio o nitroglicerina) y aunque ya todos los paquetes eran 2009 la cosa no mejoró mucho. KDE3 estaba medio abandonado, no habia yakuake para el 3, cosa que necesito como nada y decidi pasarme a KDE4.

Dos cositas sobre KDE4. Primera: tiene muuuuy buena pinta, la 4.2 puede ser REALMENTE buena, por ahora tiene bastantes cosillas muy liosas y otros detalles por pulir, aunque al menos ya es estable. Segunda: el dependency hell persigue a rpm, y se vuelve a manifestar con KDE4. Si ya conté que el paquete LAMP no trae MySQL, ahora es task-kde4 que no trae libQtWebkit4, con lo que KDE4 muere nada mas meter la contraseña, y hay que ser adivino, saber que el log de error está en ~/.xsession-errors e instalarlo a manita.

Un desastre en todos los sentidos. Esperemos que la versión estable sea mejor. Después de la mala experiecia con Kubuntu y la enorme regresión de openSUSE de 10.3 a 11, mis esperanzas de "un linux fácil" estaban puestas en Mandriva. Ojalá haya sido un fallo puntual de alguien, por que si no, no me quedan distros "grandes" que probar. ¿Quizá Fedora? Y por no hablar de Windows Vista. ¿Hay algún sistema operativo "user friendly" ahí afuera?

Está claro que en mi próximo portátil irá Gentoo, que al menos avisa de que hay que arremangarse la camisa y configurar a mano hasta lo más simple.

Sunday, September 28, 2008

Por favor, que sea un chiste...

... aunque conociendo la clase de gente que frecuenta yahoo respuestas, es posible ¡que la pregunta sea real! Miedo me da...


more fail, owned and pwned pics and videos

ACTUALIZACION: Que cada uno juzgue por sí mismo.

Guía completa para Mandriva 2008

Aunque a mí me pilla un poco tarde, he descubierto una guía genial para conseguir un "ordenador que haga de todo" con Mandriva. La parte de instalación sobra, pero el resto es muy útil. Y no creo que cambie mucho para la próxima versión.

Wednesday, September 24, 2008

Cambiar el color del pantallazo "azul" de windows

Un pequeño truco para cambiar de color mas odiado. Aquí va la traducción (beta):
Seguir estos pasos:

1. Abrir el archivo SYSTEM.INI que se encuentra en la carpeta %systemroot% (normalmente, C:\Windows). Se puede abrir escrbiendo SYSEDIT desde "Ejecutar", o bien usar Notepad.exe.

2. Localizar la sección [386enh] dentro del archivo:

3.En caso de que no existan, crear las sisguienes entradas:

MessageBackColor=
MessageTextColor=

usando los valores de la lista:

0 = negro
1 = azul
2 = verde
3 = cyan
4 = rojo
5 = magenta
6 = amarillo/marrón
7 = blanco
8 = gris
9 = azul brillante
A = verde brillante
B = cyan brillante
C = rojo brillante
D = magenta brillante
E = amarillo brillante
F = blanco brillante

Por ejemplo:

MessageBackColor=2
MessageTextColor=F

cambiará la "BSOD" a verde con texto en blanco brillante.

Nota: Usar MAYUSCULAS, es decir: F y no f.

4.Cerrar SYSTEM.INI guardando los cambios.

5.Reiniciar.

La traducción es rápida y mal hecha, asi que no me hago responsable si algo explota! Total, quien se va a hacer responsable de un sistema donde los errores son tan importantes que hasta se pueden personalizar...

Una semana con Mandriva

El día que acabé los examenes lo primero que hice (después de intentar ver un DVD con Vista) fue instalar Mandriva. La versión elegida ha sido la 2008.1, que a pesar de tener ya 6 meses casi, es la "estable" y asi cuando salga la 2009 (9 de octubre) puedo comparar. Espero que no pase como con suse, y la version nueva no sea peor que la vieja. (suse 10.3 daba muchos menos problemas que 11.0, ambas con kde3). En fin, que ha pasado una semana desde que lo instalé y creo que es tiempo suficiente para poder sacar ya muchas conclusiones. No voy a decir nada sobre las características generales, para eso esta la Wikipedia y distrowatch. Allá van mis impresiones.

Aspectos positivos
Lo primero y me atrevería a decir, de lo mejor que he visto para Linux: Mandriva Control Center (mcc) . Entre las cosas que me gustan de Windows está el panel de control. Pues el panel de control de Windows se queda corto comparado con el mcc. El mcc tiene todo lo que se puede necesitar y más. Las categorías generales son: Administración de paquetes, administración remota, hardware, redes, sistema(usuarios, logs, servicios, backups), recursos compratidos en red, discos (particiones), seguridad, arranque. Casi casi todo lo que he hecho lo he podido hacer desde aquí, sin tener que abrir una consola de root. Las cosas que he tenido que hacer a mano han sido recompilar el kernel (por friki, no por necesidad real), instalar modulos adicionales (rt73, ya que el rt73usb que hay en el kernel no me funciona) y otras cosas como "recuperación de claves WEP", que necesitan permisos de root. Aún así hay cosillas que mejorar, como integrarlo con el centro de control de KDE, o limar alguna cosa que no funciona como debería.
DKMS. Tras estas siglas se oculta una maravilla para "power-users". Y sorprende, siendo tan sencillo, como no se ha hecho antes. DKMS son las siglas de "Dynamic Kernel Module Support" y se trata de un sistema que recompila los modulos necesarios automáticamente cada vez que se cambia de kernel. Cuando compilé el kernel, di por hecho que al no tener el módulo de nvidia instalado para ese kernel (evidentemente, no estaba en el repositorio) no iba a poder arrancar en modo gráfico. Cual fue mi sorpresa cuando tras un largo arranque (un minuto extra o así) veo que me aparece la pantalla de presentación de nvidia antes de kdm. Wow! Basicamente en lugar de instalar los módulos binarios se instalan las "fuentes" y en cada arranque se comprueba si existen esos módulos para el kernel que se esté usando. Si existen no se hace nada y no se aprecia ningún retraso, y si no existen pues se crean. Parece ser que en la versión 8.10 de ubuntu también se va a incluir esto, a ver que tal les funciona. En mandriva va muy bien, aunque con un pero. Si se instala un kernel vanilla, la compilación del modulo en el arranque falla. Creo que hay que usar fuentes de kernel parcheadas por mandriva (no lo he confirmado, sólo probé compilar 1 kernel de kernel.org y falló). Y aún mas sorprendente, al fallar en esa ocasión, y no tener módulo nvidia, no me echo a una consola en modo texto, sino que hizo un "graceful fallback": un mensajito de error y reconfiguró el servidor gráfico con el driver nv libre. Chapó. Solo le faltaría volver a usar el nvidia cuando esté disponible, pero por desgracia hace los cambios permanentes. Lo cual no es tan grave, dado lo sencillo que es volver a ponerlo desde el mcc, pero no sé lo evidente/intuitivo que puede eso para un newbie.
Relacionado con el anterior, otra cosa muy sencilla como para ser una distribución tan "para usuarios" es compilar un kernel. Esto es gracias a que para cada kernel que hay en el repositorio, también viene la versión en código fuente, con sus parches y todo. Sólo hace falta un make, make modules_install y make install y listo. No hace falta ni tocar el grub, ni nada de nada. En mi caso quise recompilar el kernel porque el kernel para portatiles por defecto no soporta 4GB de RAM, para lo que tendría que instalar el kernel "para servidores", así que compilé un kernel con todas las opciones del poratil pero activando las extensiones PAE.
Otra cosa que también he comentado pero me gustaría destacar es la gestión de módulos "propietarios" (léase nvidia). Si el sistema detecta (al instalar o configurar) que para la gráfica que hay instalada hay un driver no-libre, pregunta si se quiere usar. Si se contesta que sí, se lo baja, lo instala y configura el servidor gráfico para que lo use. Lo único que hay que hacer es contestar "si" a un popup.
Por último es destacable, aunque era de esperar, que casi todas las funciones ACPI funcionan sin tocar nada. Teclas de volumen, brillo, silencio, play, todo estupendo. La suspensión en disco no funciona, supongo que es porque no tengo partición swap. Tampoco da ningún mensaje de error, simplemente hace todo el "progreso" de suspensión y al terminar en vez de apagarse el PC, se vuelve al escritorio. Quizá sin los parches tuxonice no se pueda usar un archivo como almacén, en gentoo usaba el kernel parcheado y sí tenía la opción (por opción me refiero a que estaba docuementado en el HOWTO). Es una faena, ya que con 4GB de RAM no me apetece nada tener que dedicar espacio de disco a swap. Aún tengo que comprobar si se puede hacer esto "a mano", pasándole el parámetro al kernel, ya que el kernel que instalé no es el de por defecto de mandriva sino uno "experimental" con varios parches, entre otros tuxonice. El resto creo recordar que las desactivé al compilar el kernel, por no jugarmela con la estabilidad.

Aspectos negativos
Como se suele decir, no todo el monte es orégano, así que Mandriva también tiene sus cositas que no funcionan como deberían.
La más grave es para mí es el reloj. Funcionaba bien, pero tras tocar alguna configuración, a veces al reiniciar el reloj se adelanta 2h. Da igual si se le dice que la hora hardware esta puesta a UTC o local (CEST:+2), parece ignorar este hecho y usar un mix de las dos. Al arrancar lo hace como si el reloj estuviera en UTC y suma 2 horas al reloj hardware. Al apagar, lo hace como si estuviera en hora local y guarda la hora tal como está, a la BIOS. Y lo peor es que no pasa siempre, sólo un 80% de las veces. Para rematar la faena, no encuentro en internet nadie describiendo este comportamiento, debe ser que he tocado algo raro, pero yo juraría que está todo ok, al menos en la sección de configuración de reloj, que esta reconfigurada 8 veces ya. Por suerte al rato de arrancar se arregla la hora por NTP.
Otra cosa bastante grave, pero que no es (totalmente) culpa de mandriva: la wifi muere. Aquí el problema son los drivers iwl4965. Resulta que si se hace un down de la interfaz, la tarjeta no vuelve a funcionar. En teoría no debería pasar nada, pero resulta que el dhclient que usa mandriva, al recibir un DHCP NAK, hace un ifconfig down y se va el invento a tomar vientos. Así que la solución pasa por cambiar de dhclient a dhcpcd. La opción esta en la parte "Avanzadas" de la configuracion de la interfaz de red, en forma de desplegable. Si está instalado dhcpcd, se instala automáticamente en ese momento (una gozada). Lo raro es que en kubuntu no dio problemas y resutla que el dhclient de kubuntu no baja la interfaz al cambiar de ip y por eso la tarjeta sigue funcionando. Si se hace un "ifconfig wlan0 down" de manera manual en kubuntu, la tarjeta muere para el resto de la sesión igual que en mandriva, asi que claramente es problema del iwl4965.
Otra cosilla negativa, aunque la intención es buena, a la hora de montar serividores. Al estilo coco.... Bien: incluir un "task: LAMP"que instale automáticamente todo lo necesario para montar un típico webserver. Mal: olvidarse de inculir a mysql como dependencia del paquete LAMP (que más que LAMP es "LAP"). Incluso instala php-mysql, pero no el mysql en sí. Tiene la pinta de un despiste por parte del creador del paquete. Se instala mysql aparte y no hay tragedia. Otro fallo más grave es en la configuración por defecto de apache. Por desgracia no trae un apartado de mcc para configurar servidores, así que hay que editar archivos ".conf" y el que trae por defecto, hace que el apache no se inicie al arrancar aunque esté configurado para ello. Trae la opción Listen 0.0.0.0 80, lo cual significa que debe escuchar en todas las interfaces en el puerto 80 pero sólo para IPv4. Según el manual de apache está bien, pero por algun extraño motivo, al arrancar da error de sintaxis en esa línea y al apache no se inicia. Sin embargo, al iniciar apache una vez arrancado el PC (haciéndolo tanto por consola como desde mcc) no da ningún problema. El orden de arranque es correcto, y el apache se inicia de lo último, cuando la red debería estar funcionando, quizá sea algún retraso del DHCP o algo... Cambiando la línea por Listen 80 se soluciona el problema y el apache se inicia al arrancar.
Tampoco me gusta demasiado que los paquetes no se actualizen demasiado. En el repositorio siguen estando disponibles vlc 0.8.6 y kde 4.0.3, cuando ya hace un tiempo que salieron las verisones 0.9.2 y 4.1.1, con mejoras significativas. Quizá estén en los repositorios "testing", y el repositorio por defecto sólo distribuya actualizaciones de seguridad... habrá que comprobarlo.
Otros defectos menores, o más bien "wishlist" son que el orden de las opciones de arranque no se puede cambiar desde mcc, hay que editar el grub.list para ello a mano. Otro: estaría genial un apartado en mcc para configurar servidores: httpd.conf, php.ini, algo tipo phpmyadmin... Otra cosa feísima es el prompt por defecto en la consola:
bash-3.2$ echo $PS1
\s-\v\$
bash-3.2$
Aunque la verdad, si alguien va a usar la consola, debería saber configurarse un prompt a su gusto...
Para terminar la lista de defectos, la resolución nada más instalar el sistema no era correcta, 1024x768 en vez de 1280x800, pero no es nada del otro jueves cambiarlo, cómo no, desde el Centro de Control.

Otros
Como comentarios generales, lo primero es decir ¡wow, peazo distribución! La gente se dedica a poner Ubuntu por las nubes y para un usuario normal Mandriva es mucho, muuucho más fácil de usar, bajo mi punto de vista. Y repito, para un usuario normal. A mi después de haber usado gentoo tanto tiempo cualquiera me parece fácil, pero en Mandriva un usuario normal puede no tocar la consola (esa "ventana muy rara, toda negra, con letras blancas" que tanto sale en los foros) en ningún momento.
El aspecto es genial, usando un mismo tema gráfico para todo: grub, bootsplash, kdm, ksplash y fondo de escritorio. El unico "problema" que hay es al querer cambiarlo. A mí me gusta mucho más el tema de mandriva-free (version 100% libre) que el de mandriva-one (version amigable, con codecs, flash, modulos nvidia, etc). Al instalar (con el mcc) mandriva-theme-free y free-kde-config se configura todo excepto la pantalla de carga de kde (kpslash). Para esto hay que hacer un enlace simbolico a /var/lib/mandriva/kde-profiles/free/share/apps/ksplash/Themes/Free/ dentro de la carpeta /usr/share/apps/ksplash/Themes/ (se puede copiar, si a alguien le sobra disco). Seguramente sea más correcto incluir la carpeta en algún PATH en algún fichero de configuración, pero no tengo ni idea de dónde mirar para saber que fichero es, man ksplash no da resultados. El tema es que tanto /var/.../kde-profiles/one como /var/.../kde-profiles/common están dentro ese "PATH", porque los themes que hay en ellos se muestran, pero el /var/.../kde-profiles/free, no.
Como ya he comentado antes, para que me reconozca los 4GB de RAM, he tenido que usar un kernel con soporte de 64GB (PAE), que por defecto es el variante "server". Como no me importaba hacerlo, yo preferí compilarme en kernel, pero hubiera sido suficiente con instalar este variante. Un hecho sorprendente es que por defecto trae el kernel "desktop586" que detecta sólamente ¡880MB! Dicen que para sistemas con 1GB no vale la pena cambiar el kernel por el desktop a secas o el laptop, que reconocen hasta 3,2GB, por la pequeña perdida de rendimiento, pero espero que para la versión 2009 el kernel por defecto reconozca más memoria, ya que casi ningun equipo actual tiene menos de 2GB... Al menos se puede configurar, el Vista en 32bits sólo detecta 3GB y punto pelota. En problemillas como este y el de la tarjeta de red se agradece enormemente la sección de erratas de la wiki, que me parece muchisimo mas legible que el Knowledge Base de Microsoft, que es más al estilo bugzilla, sin un índice o algo de esructura. No se que sistema tiene Kubuntu, ya que no encontré mas que foros y tampoco busqué más allá.
Mas cosas: el touchpad. Gracias a gsynaptics, el touchpad funciona muchísimo mejor que en Vista. Muchísimo. Tanto como perfecto. Scroll vertical y horizonal, nada de falsos clicks al hacer scroll, y no deja de funcionar cuando le da la gana... una maravilla. Y eso que para Vista lo configura el fabricante...
En cuanto a soporte, hay una página oficial para ello, una mezcla de foro/sistema de tickets, aparte de los tipicos foros de usuarios. Lo bueno es que en entornos profesionales, en la página oficial se puede solicitar ayuda urgente de pago, lo que seguro que ayuda a más de una empresa a dar el paso.

Y esto es todo por hoy. De las distribuciones "fáciles" hoy en dia en el mercado recomiendo Mandriva sin lugar a dudas. Mucho mejor que _ubuntu 8.04 y que openSUSE. A aprtir de octubre saldrán todas las nuevas versiones, así que habrá que comparar de nuevo, ya que no tiene porque mejorar, por desgracia (véase WinXP vs Vista o openSUSE 10.3 vs 11.0).

Saturday, September 20, 2008

Wikipedia SSL

No sabía que se podía leer la wikipedia con conexión segura. Alguno se preguntará... ¿y por qué verla con SSL? Total, sólo es la Wikipedia, no el banco. No se mandan contraseñas. No te juegas dinero. Y como muchas veces la respuesta es... ¿y por qué no? Todo lo que sea ganar privacidad, contribuye a mejorar la seguridad global. Si mi vecino no ve que me paso el día leyendo sobre el LHC quizá no intuirá que mi contraseña es "Hadron2008". Y si no la publico en el blog, pues menos gente aún la sabrá, pero eso es otra historia ;)

Por cierto, para el motor de búsqueda para firefox, como siempre mycroft al rescate:
- En inglés
- En castellano