javier arturo rodríguez

Archive for the 'General' Category

Moving from MyISAM to InnoDB: bulk table conversion

Tuesday, May 1st, 2007

A couple of years ago Ludovico Magnocavallo tackled the issue of bulk conversion of MySQL tables from MyISAM to InnoDB with an elegant bash snippet.

for t in $(mysql –batch –column-names=false -e “show tables” mydbname); do
mysql -e “alter table $t type=InnoDB” mydbname;
done

The original post also suggests using grep to limit the scope of the conversion to just a few tables.
(It seems that now Google *does* yield practical answers to this question ;-)

Tags: , ,

μHOWTO: Beryl on Debian

Saturday, April 21st, 2007

Last week Jordi Fernández gave me a quick hands-on tutorial for a working Beryl setup on Debian. He owns a Dell Latitude D620 running Debian GNU/Linux just like mine, so leeching his setup was even easier for me. What sold me immediately into Beryl is that you don’t need to install Xgl.
Basically I edited /etc/X11/xorg.conf and added these lines to the Device section:

Option “RenderAccel” “true”
Option “backingstore” “true”
Option “XAANoOffsetScreenPixmaps” “true”
Option “AddRGBGLXVisuals” “On”

and added a new section to the very end:

Section “Extensions”
Option “Composite” “Enable”
EndSection

My updated xorg.conf is available right here.
After restarting X (ctrl-alt-Backspace for lazy users like me) you can type this on a terminal:

$ beryl-manager &
$ beryl

I have the official nvidia drivers (1.0-8776) installed via module-assistant and a Beryl version that is kind of old (0.2.0+svn20070205-r3687+imudebian0, rather ancient in Internet Time). This worked immediately for me but Your Mileage May Vary.
There you have it. A working beryl setup in a few minutes. Thanks to Jordi for this tutorial and the rather impressive demo that followed, and to the Compiz and Beryl developers for their hard work.

μHOWTO: Convert and display Flash video

Tuesday, April 10th, 2007

So you want to publish that nice family video in your page/blog/intranet without forcing your visitors to download, install and activate some obscure browser plugin and *then* wait for a 200MB download… Well.. That’s easy as cake!
First, let’s use ffmpeg to convert the video from avi, mpg or mov to something that we can stream to a nice Flash video player:

$ sudo aptitude install ffmpeg
$ ffmpeg -i video.mpg -ar 11025 -s 320×240 video.flv

Then we extract the first frame of the video to use it as a thumbnail:

$ ffmpeg -y -i video.mpg -f image2 -ss 5 -vframes 1 -s 320×240 -an video.jpg

Of course, real men brew their own Flash video players using Ming. The rest of us have to settle for one that has been pre-made, like Jeroen Wijering’s most excellent Flash Video Player. To insert the video in a web page you just have to write

<object type=“application/x-shockwave-flash” width=“320″ height=“260″ wmode=“transparent” data=“flvplayer.swf?file=video.flv&image=video.jpg&autoStart=false”>
<param name=“movie” value=“flvplayer.swf?file=video.flv&image=video.jpg&autoStart=false” />
<param name=“wmode” value=“transparent” />
</object>

You know, there’s even a neat wordpress plugin that allows a much simpler syntax:

[flv:/path/to/video.flv 320 240]

Cool, eh? Now you are ready to take over YouTube!

μHOWTO: Recover an empty kcontrol tree

Saturday, April 7th, 2007

empty kcontrolLast night I opened KDE control center to change my desktop settings and I was shocked when I found that kcontrol was empty but for the OBEX Devices panel. Alll the modules that were supposed to be inside kcontrol where inside the KDE “Lost and Found” folder instead. A superficial search in the KDE mailing lists returned a few matches about this problem on KDE4 (did you know that kcontrol is currently unmaintained and that it’s gonna die real soon now?) but I’m currently in KDE 3.5.5 so that doesn’t apply to me.
Tonight Google came to the rescue: after digging a bit more I found this post in the debian forums which mentions that this might be a bug in a debian package and spells out the answer to my problem:

$ sudo ln -s /etc/xdg/menus/applications-merged/kde-essential.menu /etc/xdg/menus/kde-applications-merged/kde-essential.menu

recovered kcontrolVoilá! Now my kcontrol is fully populated again.

Orpie: a RPN calculator

Tuesday, February 13th, 2007

Orpie is a Reverse Polish Notation calculator for the console. If you’ve ever used an HP calculator you’ll feel right at home. if you haven’t… well, go back to your windows box and launch that buggy calculator desk accessory. In my case orpie let me stop worrying about writing “10 k” every time I ran dc(1).
Orpie was written in OCaml by Paul Pelzl and it there’s a Debian package maintained by Uwe Steinmann.
Go ahead and write:

$ sudo aptitude install orpie
$ echo “alias dc=orpie” >> $HOME/.bashrc
$ . $HOME/.bashrc

You won’t regret it.

PodsBlitz: the cure for your iPod backup woes

Tuesday, January 30th, 2007

When my iPod died I complained -ranted, actually- about the lack of a decent backup program for it. Well, I finally found a program that does just what I need. PodsBlitz will display the songs in your iPod, and moreover, it will merrily dump them to your hard disk. For backup purposes, I repeat. This will backup all MP3 files with their corresponding tag information, but you’ll still have to backup ratings and all other metainformation the old, manual, XML-based way.
PodsBlitz is written in Java and is distributed as a single .jar file that will execute under Windows, MacOS X and most Linux desktops with a fairly recent Java Runtime Environment. The best part is that it doesn’t need to install drivers or do any kind of fancy USB magic to find your iPod. You just dump it into the root directory of your iPod and it just works! Kudos to Alexander Dietrich for this nice software utility!

Dealing with a Demon-Haunted world

Wednesday, December 20th, 2006

candle

“Science is more than a body of knowledge; it is a way of thinking. I have a foreboding of an America in my children’s or grandchildren’s time … when awesome technological powers are in the hands of a very few, and no one representing the public interest can even grasp the issues; when the people have lost the ability to set their own agendas or knowledgeably question those in authority; when clutching our crystals and nervously consulting our horoscopes, our critical faculties in decline, unable to distinguish between what feels good and what’s true, we slide, almost without noticing, back into superstitions and darkness.”

-Carl Sagan, “The Demon-Haunted World. Science as a candle in the dark.”

Carl Sagan died 10 years ago today. Blogathon or not, it is as good a time as any to remember the scientist that hrough his TV show, though his essays, through his novels (Contact is my favorite novel), and even through his bare scientific accomplishments has reinforced in me the desire to know and that childlike capacity for wonder and amazement that we humans lose so easily when we grow up.
To Carl’s life. Cheers!

Death to MSIE!

Wednesday, December 13th, 2006

Death to MSIECarlos de la Guardia writes in his blog about his most recent misadventures with Internet Explorer and his post proves once again that confusion, frustration and anger are the emotions most commonly associated with MSIE.
I say let’s just put that damn browser to sleep.
No, seriously. What would happen if we developers just revolted and refused to support MSIE with all kinds of crude JS, CSS and pseudo-HTML hacks that will break anyway when Microsoft starts pushing a new MSIE flavor? Imagine a world in which digg, slashdot, Google, and even Amazon received people with broken browsers with a nice “optimized for Mozilla Firefox” button or -better yet- with a full-page “go get a real browser” error page listing 40 alternative browsers. Considering that Firefox already has some serious market share and is heading for more we may be able to pull it off. Heck, I bet that MSIE would be standards compliant within a week. Or they could just take Gecko and wrap a nice Vista skin around it and call it MSIE 7.1 for all I care. The point is that most of us could be back home in time for dinner for a change.
Hardly original, I know. But this may be worth the effort of fighting a war.

Sorry I haven’t posted in a while…

Thursday, October 19th, 2006

I’m gonna go with “I’ve been in a state of flux”. You may pick an apology for yourself from The F Blog.
Oh! The nice Dust Puppy graphic was shamelessly ripped from UserFriendly.
(via Boing Boing).

I’m an Uncle! (again)

Wednesday, September 27th, 2006

Meet Mauricio Rodolfo Hans Constantini Gutiérrez.

Tags:

μHOWTO: Enable the SATA CD-ROM Drive in the Dell Latitude D620

Thursday, September 21st, 2006

After a few weeks using the auxiliary battery instead of the CD-ROM drive, I needed to read a DVD. Surprise! It didn’t work. Reboot. Still no luck.
dmesg didn’t show anything about IDE, and /proc/ide was empty. It was like the CD-ROM didn’t exists at all.
The explanation might be that the CD-ROM is a SATA drive, not PATA. Graham William’s GNU/Linux Desktop Survival Guide holds the key to enable the drive. In short:

# echo “libata atapi_enabled=1″ >> /etc/mkinitrd/modules
# cp /boot/initrd.img-`uname -r` /boot/initrd.img-`uname -r`.bak
# mkinitrd -o /boot/initrd.img-`uname -r`
# reboot

Voilá.
(Part of the ongoing Debian GNU/Linux on Dell D620 saga.

μHOWTO: Run VMware Player under Debian GNU/Linux

Saturday, September 16th, 2006

VMware PlayerVMware has made available VMware Player for free for a few months now. I had been having problems making it run under the latest kernels in Debian GNU/Linux until I found out about the Czech University vmware-any-any patch. Of course, this is unsupported, so YMMV.

A typical installation run would go like this:

$ cd /tmp
$ wget http://download3.vmware.com/software/vmplayer/VMware-player-1.0.2-29634.tar.gz
$ tar -zxvf VMware-player-1.0.2-29634.tar.gz
$ cd vmware-player-distrib
$ sudo ./vmware-install.pl

Answer the questions about installation directories, initscript dirs and such, but *do not configure VMware yet*. I repeat: do not configure VMware yet.

Now we’ll patch the source with vmware-any-any

$ cd /tmp
$ wget http://ftp.cvut.cz/vmware/vmware-any-any-update104.tar.gz
$ tar -zxvf vmware-any-any-update104.tar.gz
$ cd vmware-any-any-update104
$ sudo ./runme.pl

This will patch the vmware-config.pl script, the kernel modules source code and the VMware binary itself if necessary. Now you may run vmware-config.pl when prompted. Please note that for this you must install the linux-tree-2.6.xx package for your current kernel version, and the source must be unpacked under /usr/src/linux. This is supposed to work fine when you have installed just the kernel headers instead, but I always go for the full kernel because -as you may have noticed- I compile a bunch of stuff into my kernel anyway.
After module compilation vmware-config.pl will prompt for network configuration and prompt to enable the Google searchbar (!). The last lines in the configuration should be something like this:

The configuration of VMware Player 1.0.2 build-29634 for Linux for this running
kernel completed successfully.

You can now run VMware Player by invoking the following command:
“/opt/vmware-player-1.0.2-29634/vmplayer”.

Enjoy,

–the VMware team

Now you may head back to VMWare’s site to download a pre-configured appliance to run in your brand-new VMware player installation. Or go to EasyVMX to build your very own virtual machine. In any case, remember to drop a line to thank VMware for releasing this kick-ass product for free!

xorg.conf configuration for nVidia TwinView on the Dell D620

Friday, September 8th, 2006

I managed to get TwinView working on the Dell Latitude D620 under Debian GNU/Linux and I’ve been using it for a few weeks now without any problem whatsoever.

The key section in /etc/X11/xorg.conf is this:

Section “Device”
Identifier “Generic Video Card”
Driver “nvidia”
BusID “PCI:1:0:0″
Option “TwinView”
Option “MetaModes” “1280×1024, 1440×900; NULL, 1440×900″
EndSection

Section “Monitor”
Identifier “Generic Monitor”
Option “DPMS”
HorizSync 28-72
VertRefresh 43-60
EndSection

Section “Monitor”
Identifier “External Monitor”
Option “DPMS”
HorizSync 28-72
VertRefresh 43-60
EndSection

I’m using an external 1280×1024 LCD, and I use the KDE control center (Peripherals/Display) to switch between metamodes. The nice thing is that whenever the X server starts and it doesn’t sense the external display it automagically defaults to using only the built-in display. Moreover, TwinView handles gracefully the “hole” below the 1440×900 display. Now what I’d really like to do is to specify that the primary monitor is the built-in display instead of the external LCD, but that can wait a bit longer.

Of course, you can download the complete xorg.conf I’m using, with my finely-tuned (right) TrackPoint and TouchPad configuration.

So you think you are a digital age crusader?

Saturday, August 26th, 2006

You may have exported strong crypto back when it was classified as ammunition. Maybe you scanned an obscure book to crack DES. Perhaps you even stole this book back in your day. But whatever you do -please, oh please- Don’t download this song, lest you are treated “like the hardbitten criminal scum you are“.

Get rid of that annoying system beep on the Dell D620… forever!

Tuesday, August 22nd, 2006
# echo “pcspkr” > /etc/hotplug/blacklist.d/pcspkr

Of course, this assumes that you are using Debian GNU/Linux with kernel 2.6.x and hotplug, and has been documented on my Debian GNU/Linux on Dell D620 page.

μHOWTO:Get over subversion’s DB_VERSION_MISMATCH error

Monday, August 21st, 2006

After running several updates on a particular server during the weekend, this morning I got a report that svn was down. a quick insection of libapache2-svn error log turned out this error message:

[Mon Aug 21 12:24:18 2006] [error] [client 172.26.0.73] (20014)Error string not specified yet: Berkeley DB error for filesystem /var/lib/svn/db while opening environment:\nDB_VERSION_MISMATCH: Database environment version mismatch
[Mon Aug 21 12:24:18 2006] [error] [client 172.26.0.73] Could not fetch resource information. [500, #0]
[Mon Aug 21 12:24:18 2006] [error] [client 172.26.0.73] Could not open the requested SVN filesystem [500, #160029]
[Mon Aug 21 12:24:18 2006] [error] [client 172.26.0.73] Could not open the requested SVN filesystem [500, #160029]

After googling it I found out that this has been reported as Debian Bug#342508, which promptly refers you to read /usr/share/doc/subversion/README.db4.3.gz. The recipe works just fine, and I reproduce it here for completeness:

# cd /var/lib
# mv svn svn-maint
# cd svn-maint/db
# db4.2_checkpoint -1
# db4.2_recover
# db4.2_archive
# svnlook youngest ..
# db4.3_archive -d
# cd /var/lib
# chown -R www-data.www-data svn-maint
# mv svn-maint svn

In the same document there’s a note that recommends to migrate the repository from DBD to FSFS. Since I’ve seen some serious trouble with OpenLDAP’s Berkeley DB backend before and the SVN database is over 1GB right now, I’ll schedule a mainteinance window for this migration ASAP.

Hello, Dell!

Saturday, August 12th, 2006

Dell Latitude D620 As i wrote before, given my (mis)adventures with IBM/Lenovo I decided to change my allegiances and switch to another brand. So during the research phase I took some time to go to the Dell Expo and get to know their laptops firsthand.
One of the questions I had was about the keyboard: after so many years of working with Thinkpads I have become addicted to the TrackPoint, and I was sure that I had seen photos of Dell laptops with such device, so whatever laptop I decided for really had to have it.
I quickly found out that the laptops in the business line -the Latitudes- are the only models to sport such contraption under the Dell-esque name of “Track Stick”. As a matter of fact, besides the Thinkpads they are the only notebooks *anywhere* that still have it, so either they were found unusable by a significant amount of people or IBM tried to milk its patents just a bit too much. Personally, I believe the Trackpoint is the invention of the century right next to the Twiddler (and lately, even _on_ the Twiddler2) but then again some people believe I am somewhat eccentric when it comes to input devices.
So there I was with the entire Latitude line before me to consider. The D420 is very nice and would make a killer travel notebook, but its specs are somewhat conservative for my needs. And the D820 has a nice screen but is way too heavy. So I settled for the D620. I received it last week and I am documenting how to make it work with Debian GNU/Linux.
So here is my hands-on review of the Dell Latitude D620:
Pros:

  • Lightweight: About 4kg with the extra battery.
  • Has a TrackPoint (great for mouse navigation) and a Touchpad (great for erratical mouse movement while typing but useful for scrolling) that fortunately can be switched off.
  • Decent battery life even with a 6-cell.
  • Nice full-sized keyboard with fair displacement, good tactile feedback and a satisfactory click. I could almost forgive Dell for the inclusion of a Windows key instead of a realistically-sized space bar.
  • Mostly supported out-of-the box in Kernel 2.6.16; so far, full support for the devices I’ve tried has involved just a bit of recompilation
  • Nice screen with fair brightness and I haven’t detected any dead pixels so far.
  • Gets kind of hot, but not too much.
  • Real dock connector barring the need to resort to a cheesy USB port replicator
  • Somewhat dull gray-and-black color scheme, but it’s not pre ugly (for a business laptop).
  • Built-in smartcard reader (shows up as an USB device).
  • Built-in fingerprint reader with startup protection right after POST.
  • Did I mention that it has a Trackpoint?
  • Built-in WiFi and Bluetooth.
  • Built-in Wireless broadband with US-centered overpriced carriers (No idea if any of the hardware options would work with some Mexican overpriced carrier, but there is an intriguing SIM slot under the battery anyway).
  • Built-in accelerometer that might be readable under Linux. This might end my MacBook-lightsaber envy.
  • Full Type-II PCMCIA slot instead of ExpressCard, so I can wardrive while I work.
  • Four USB ports.
  • Light sensor for automatic brightness adjustment.
  • Windows Vista capable (*Heh!* Like I care…)
  • Up to 4GB of RAM, if you dare sell your firstborn, your kidney, or your firstborn’s kidney to pay for it.
  • A real parallel and -check this out- DB9 serial port.
  • The inclusion of a TrackPoint is a stroke of genius.

Cons:

  • It really could use a keyboard light (Why do manufacturers still refuse to include them by default? That’d be… what? US$0.05 for a white LED and a switch when bought in bulk? But nooooo…).
  • Both the trackpoint and the touchpad have only two buttons (Unix types may note that there’s one button missing).
  • The 9-cell battery protrudes 1.5in from the front of the laptop instead of going on the back like in IBMs, so it kind of gets in the way and looks very much like an aftertought.
  • Those videos of exploding Dells still give me nightmares.
  • Sorry… no built-in webcam, nor multi-format memory card reader, nor JVC or Bose speakers, nor translucent white lid. This is a business laptop, remember?
  • No Firewire. In this era of Firewire-800 external hard disks that is a serious oversight.
  • The system beep is loud and annoying. Scare-the-cat annoying. Wake-your-neighbours annoying. Get-hit-by-your-wife annoying.
  • No built-in SVideo nor DVI, thought there’s both on the port replicator. Not much of a problem for presentations, but you really need the port replicator to use a decent LCD screen.
  • The Dell USB keyboard is kind of awkward. I keep falling off the left edge, and I have trouble finding the ridges in the F & J keys for touch typing.
  • Sparse to non-existent printed documentation. There’s no manual to ignore. You can get them online if you want them badly. The Service Manual looks interesting, tough.

BTW if anyone from Dell is reading this: please update the configurator for LatinAmerica. You cant’ save your cart. You can’t email it. You can’t even *bookmark* stuff for later perusal. The LA site is primitive, counterintuitive and sometimes even downright annoying. Basically, it got stuck in the 90s.
On the other hand, Dell service was good. Thanks and kudos to both Ivan Castillo -who walked me through Dell’s product line during the Expo- and to Jesus Naranjo -who took my order and was very patient with my obsesive-compulsive hardware demands. One week into it I still haven’t had need to deal with their tech support personnel (Fate has carried on like that for a bit longer) and I hope it stays that way. If they are 50% like their sales people then I have nothing to fear, and altough I have heard some horror stories about them I’m willing to give them the benefit of the doubt for the time being.
In short: Dude, I got a Dell!

μHOWTO: Install perl libraries in bulk

Wednesday, August 9th, 2006

When you have to install packages that live out of dpkg, don’t you hate to install their dependencies by hand? I do.
Even though this is exactly what CPAN.pm does, there is a Debian way: If you have another machine with the correct dependencies already installed, you can use dpkg to copy those over.
For instance, this one-liner requests installation of the same Perl libraries that live in another machine:

$ ssh original.machine.com ‘dpkg –get-selections’|grep ‘^lib.*perl’|grep ‘install$’|dpkg –set-selections
$ sudo aptitude -f install

You may replace the first regexp to whatever your want (e.g. “^libapache-mod” for perl modules, “^lib.*java” for Java libraries and so on).
Gotta love Debian.

Goodbye, IBM / Lenovo!

Sunday, August 6th, 2006

After flickering in-and-out for a few weeks and then getting a misterious red tint, the IBM Thinkpad R50’s display got well for a couple of months before getting all flickery again and dying for good. It was the nicest display you could find in any laptop of its class, even tough it is rather opaque and has its share of glare. I called IBM Tech Support and they told me that I could send it to Guadalajara for service after paying USD$70 for shipping and diagnostics (the backlight’s out, what else is there to diagnose?). I called IBM Guadalajara and was told that I had to pay over USD$100 instead, which I paid up anyway. Then they promptly proceeded to lose my service order for a month, time in which apparently IBM finally managed to kick out Lenovo employees from their Guadalajara offices. After calling their new number repeatedly, I got in touch with them and they finally managed to ship me a prepaid box to send the laptop out.
Well, as it turns out they have to replace the display. Big surprise! Wanna know how much that’s going to cost? Over US$900, thank you very much. You may be aware that the price of the display is more than enough to buy an entirely new laptop of almost any other brand.
Well, let me tell you about brand loyalty: My first brand-new PC was a IBM PS/2 55SX in the early 90’s. I worked like crazy for an entire summer and the next semester to get my hands on a luggable P70. I even sided on microchannel against EISA during the bus wars. Overall, for over 15 years the IBM Thinkpads had been my favorite notebooks. And I advocated them everywere, because even tough they were *very* expensive, their quality was outstanding.
And up to the 600 line they were excellent. But the L series was terrible, the power brick and the laptop itself overheated a lot and overall had awful power subsystem glitches. Anyway -and against my wife’s warnings- I went and bought this R50 anyway just because bdelgado got me a good deal, but it came with a bad hard disk right out of the factory, has a battery that degraded incredibly fast (half the original lifetime in six months of moderate usage, and nowhere near the advertised lifetime to start with), had to have its motherboard replaced barely a month before the warranty expired and it still overheats and has glitches in the power subsystem.
And to think that I was already looking into getting a Thinkpad X41 right before the R50 crapped out.
So decided that I am not going to spend that much money to replace the display in an outdated laptop. Moreover, I’m not willing to keep pumping money into a company whose QA processes seem to have disappeared, and whose service has got so bad that they lose a service order for an entire month.
So, goodbye IBM. Or Lenovo. Or whatever manufacturer they sell out to next. And hello Dell. I just bought a Latitude D620 and I’ve started to document my adventures with it. I will keep all of you posted on that.
In the meantime it’s goodbye forever to IBM/Lenovo computers. Thanks for the memories, but I’m not looking back, and it feels really good.

WPG2 Sidebar Widgets 1.0

Sunday, July 30th, 2006

Gallery2After playing around with the WordPress Widgets plugin I wrote a couple of widgets for WPG2 borrowing heavily from the sample widgets in the widget plugin distribution and also from Otto’s Google AdSense widget.
WPG2 Random Image and WPG2 Grid Block are released into the public domain, and you can download version 1.0 right here.
Oh! BTW, I just set up a page for these widgets.

23 queries. 0.234s  $Revision: 1.6 $
Use Any Browser! Valid XHTML 1.0   Powered by WordPress Powered by Apache Web Server Hacker Emblem