Customer care

On Monday morning, Amazon uk had the Samsung Galaxy Tab for a really low price, 400 pounds; without delivery costs, this means around 475 euros, which I believe to be the right price for the pad. I am happy with my Galaxy S, and I wondered for a while whether to order it, specially knowing about all the great stuff that is surely coming in the very following months. I did a quick search to verify that Samsung had promised, at least, a Gingerbread update, and I was surprised to find nothing definitive, and also, that my Galaxy S will surely lack such update, even when it has the hardware to support it.

Back some months, I was shocked with the observed Apple policy to consider effectively outdated iPhones two generations old. That is, an iPhone can be considered outdated, in average, when it is 18 months old. My Samsung Galaxy S is 3 months old; should I consider it outdated because it lacks the very last Android system? Probably not, as the Gingerbread updates are not that important, comparing to Froyo. But, in 6 months, there will be one or two new OS versions (Honeycomb is scheduled for 2011, and the next version, Ice Cream, for mid 2011), so by the time my phone is on his first birthday, it will likely be 3 versions behind, qualifying already, definitely, as outdated.

Which probably is fine for Samsung, as I would likely switch then to a new device: more money for their pockets, less money spent on software updates.

This, of course, can be part of some of the core problems in Android, as the customization layers added by manufacturers makes more difficult deploying the OS updates. But I wonder whether Apple, in the case that they distributed Android phones -sorry, Steve, for even mentioning it- , would not pay attention to its customers, providing updates for a respectable time period.

When I got my Galaxy, I decided not to buy the Sony Xperia 10, knowing how bad is Sony's customer care. And I am afraid I was right: it lacks a Froyo update, and it will probably lack it for ever. But, although this problem -customer disregard- is blatantly obvious in Sony, most companies -if not all- share in some measure this behavior.

Today TechCrunch run an opinion article on exactly this subject: Dear Tech Early Adopters: Manufacturers Don't Care About You. It just scored home. I love its last sentence, for all the truth that it holds: 'But next time you hitch up your underwear tight against the insides of your thighs and prepare to write a long, outraged screed against one item or another, just remember: we're the only people really listening, and our underwear is as tight as yours.'

On the meantime, the Galaxy Tab price got a 50 pounds increase at amazon, leaving the sweet price behind. In fact, just now, its price is prohibitive at 585 pounds, almost a 50% increase over the initial one. That is definitely a great way to get over any indecision, thanks!

Reading point

[books]I got The Tipping Point, by Malcom Gladwell, last Christmas, but I had delayed its reading for months. Finally, it didn't live up to my expectations, as I found it quite simplistic and incomplete -interesting, all the same-.

A different story happened with The Little Stranger, a wonderful story set in the postwar England. Great work evoking the atmospheres: the rural doctor, the decaying great house, the changing times. And still wondering on the title choice . . .

Hackintosh, 10.6.5, second part

hackintosh iconOn the weekend I proceeded to the 10.6.5 update of my second hackintosh, with P5Q-E mobo. The update was not so smooth as on previous iterations, as I lost the network, although re-enabling it was a rather simple task.

As positive side effect, I decided to update the VoodooHDA driver that I was using to handle the audio hardware, replacing the antique 0.2.1 version with the very latest 2.7.2 version -including even its own prefs panel-. All errors on the log files are now gone, and even the microphone entry works now. Great.

Hackintosh, 10.6.5

hackintosh icon Sweet 10.6.5 update on my P5N7A-VM hackintosh, no ugly surprises, and even a sweet one: while the USB functionality would be lost on sleep/wake up cycles in the previous two updates, requiring restoring a previous USB kext, it works now directly.

The other usual issue, losing the sound on the Realtek ALC1200, is still there, but easily solved restoring the sound kext.


Samsung Galaxy S i9000 icon My Samsung Galaxy S is really a nice gadget, and so far my only complaints are related to its Froyo update.

First, the update is not available yet, being delayed week after week. Second, even if provided, I could not update it, as it is required a desktop program called Samsung Kies, which seems like an over-bloated piece of software, and it does not even recognize my device. Worse, judging by all the posts in multiple blogs, this is a very generic complaint, making the software not only overkilling and over-bloated, but also buggy.

On the positive side, Samsung has replied all my mails concerning the Kies problem, but its final reply is to bring the phone to repair. Which would mean missing the phone several weeks, when everything works perfectly, except that desktop software.

So I will end up rooting the Galaxy (in fact I wonder why I haven't done it yet) and updating it via Odin, voiding on the way the warranty.

Some thrillers

[books] Two thrillers in quick succession, so some comparisons are inescapable. Eye Of The Beholder's story is far much better, with more twists than a hundred episodes telenovela; however the writing is not so gripping as in The Devil's Punch, with my attention drifting away many times.

Having to choose just one of the two books, I would better recommend the later, but I will definitely search soon for another story by David Ellis.

Chrome 7

True to its word, Google just delivered its new version 7. I was in that moment just playing with a benchmark tool called Peecekeeper, so I benchmarked the previous stable version (6.0.472.63) against the new one (7.0.517.41), and I was surprised to see it 5% slower

benchmarking chrome 7

I just run the test once, so my results are not that reliable, and they depend anyway on the machine being executed. (I hadn't foreseen slower results, otherwise I would have tested again Chrome 6 before upgrading, as to have multiple results for each browser).

I did checked old good Firefox, definitely much slower. I could have tested also Internet Explorer, or Safari, but what's the point? I won't be using them anyway... Shame I hadn't Opera installed in that moment, though.

Fragile things

[books] One review of the book on its first page summarizes too well my impression: 'The chimerical stuff of nightmare and daydream', by USA Today. As it stands, this is a book that I very much appreciate, but I doubt I really enjoyed it. I have been reading the book on and off for more than one year, and some stories are really unsettling, like nightmares where nothing bad really happens but wake you up and then linger unpleasantly in your mind.

Grub2 and savedefault

os icon I rarely shut my computers down, preferring better the sleep or hibernate options; anyway, I switch operative systems on a regular basis, so I was surprised when my boot manager -Grub2- would always start Ubuntu, failing to start the last used system, even when it was configured to do so (option GRUB_DEFAULT=saved).

I don't yet know if this is a bug or a feature, but the solution is to setup, on the /etc/default/grub file, two entries:


Why is needed the second entry, beats me, but there you go.


Samsung Galaxy S i9000 iconI had prepared a nice collection of books for the Summer, only to realize, almost with a foot on the plane, that most of the reading was science fiction, and that I was not in the mood for such reading. This led me to make some precipitated purchases, some wrong, but other right on the spot.

Another decision, already completing the holidays, was to purchase a smartphone -again with a dose of rush-, and I could only choose between the Samsung Galaxy i9000 S, or the Sony Xperia 10 Mini. The latest, for its size, was great for my casual phone usage, but all my last experiences with Sony had gone wrong -for its service, not for the quality of the product-, so the decision was easy to take.

I had been already thinking, in fact, about my increasing aversion to some brands, like Microsoft, Apple or Sony; for example, the last steps taken by Apple on iPhone development had led me to exclude completely the possibility to purchase an iPhone or iPad, and I was unaware of the latests changes. Perhaps having known them, the iPhone would have been an option, but I very much doubt it, probably for the same reason I am reluctant to get a MacBook Pro: everybody seems to have the same laptop (perhaps because all the models look alike, independent of size or year).

While my brand aversion is probably right, is wrong to limit my options on that basis, for many obvious reasons. But this time, it was definitely a great help to find a fantastic phone. And I hope now to get soon the Froyo update to the Galaxy S. And also, to recover some taste for my unread science fiction books....

On Java NIO

java iconShock posting -and worse, quite old already- to destroy the myth that Java NIO is faster than the old good IO. Also shocking that this was seemingly not benchmarked before -although any individual programmer could have checked it and just thought that something was wrong on his code, or on the particular platform implementation. Great also this presentation

I run my own tests on my Ubuntu 10.04 64 bits machine. Mind you, pet tests that cannot probe anything on their own, but that align with this given post on the speed claims (I didn't extend the test to check also any scalability issues).


iWoz cover[books] This is the biography of a very clever and interesting guy, who achieved a lot in short time. I just hope that somebody will write once the real iWoz biography, not just his own story.

Anyway, this book is, from a geek perspective, an absolute must. And it is, on its own, quite engaging at moments, with funny stories and anecdotes.


Javascript icon Undusting my Javascript skills, I decided to write a simple game -a domino board puzzle-, that would allow me to focus just on the javascript code -plus any css / html involved-.

The game is called dominosa, credited to O.S. Adler, who designed it on 1874. There are many available versions, most with more graphical appealing than mine -I initially saw the game under the Ubuntu remix distribution-, but it has been a fast and easy way to get back to javascript.


Cryptonomicon cover[books] After almost 6 weeks, I was able to complete this outstanding book by Neal Stephenson. 1139 pages, including a must-be-read appendix: maths, cryptography, physics, computer science, startup companies, second World War, and humor. Huge amounts of each of the previous ingredients.

This book is just a master piece, I am in pure awe of this author. Already ordered another of his novels...

Eclipse Helios: what is new

eclipse icon Eclipse Helios was released this week (23rd June 2010). As expected, it is an expected upgrade for anybody using this great IDE, but, if something, I missed a single summary explaining all its new features/capabilities. This information exists, but spread all over the Eclipse help system. Reaching its help site and introducing what's new on the search input will provide all the required information. In special:

Hackintosh, USB and 10.6.4

hackintosh icon As happened with the update 10.6.3, my second hackintosh, using a P5N7A-VM mobo, loses audio and USB functionality; the audio can be recovered by reinstalling the AppleHDA.kext, but the USB support is another history: USB works, until the machine goes to sleep; after waking up, the USB support is lost, needing to replug any USB device.

I have tried quite a few DSDT hacks, but nothing worked. I tried also using the SleepWatcher daemon to unload/load related kexts, but that is neither working.Fortunately, there is a solution: reinstalling a previous IOUSBFamily.kext (10.6.2 or 10.6.1). This is not a nice solution, but better holding back on a single kext, that holding on an old release (10.6.2) for just this one kext.

So back to up to date 10.6.4 on all my hackintoshes!

Some thoughts on Meego

meego icon I have been trying now for a couple of weeks Meego on my netbook, a Samsung NC-10. The very best: hardware support, speed, and startup times.

Startup Shutdown
Windows XP 85 [+5] 27
Meego 1.0 18 [+5] 10

The added 5 seconds on startup time refer to the netbook's boot times, before even offering any boot options.

And it gets better: while Windows XP implements a pseudo sleep -which will hibernate the computer after a delay-, it is possible to get Meego to sleep the netbook, which takes 1 or 2 seconds, the same time required to later waking it up. Having the computer fully working in one second allows for very effective and fast computer usage (think iPad ways).

On the ugly side, available software is rather thin. Most software can be downloaded as source and then compiled, but that helps little to the user wanting to get into this distribution. For example, there is no support for NTFS volumes, so accessing most Windows drives is out of reach -including external drives already formatted as NTFS- [yes, this can also be corrected downloading the ntfs.3g sources]. Setting up the eclipse IDE, or, for that matter, Java, is out of bounds.

But the main problems I have found so far are some sporadic crashes -which happened during command line operations, and I am suspecting so far on the btrfs file system-, and being some times unable to wake up the netbook: it wakes up, but the screen keeps black. I have been playing with the quirks support on pm-suspend, but with no much luck so far.

Hackintosh and 10.6.4

hackintosh icon The 10.6.4 Os X update popped up in my hackintoshes short after midnight. My P5Q-E's based hackintosh has handled like a champion all previous updates, and this one was not different.

My P5N7A-VM's based hackintosh has the usual problems with USB, even with 10.6.3, so I am delaying its installation, but I will try it by the weekend at latest.

Sony woes

sony disaster icon Once upon a time, Sony was among my most respectful brands.

Time passed, and I got into little problems, like trying using an awful Sony MP3 player, crippled under spurious DRM measures, or being rootkitted. That eroded my confidence on Sony as a brand, but, all the same, I kept buying Sony mobiles -Sony Ericsson, in fact-.

My wife got used to these mobiles, so she bought one 1 month ago: the model is called Hazel, as simple as mobiles used to be, as it is not an Android or Symbian model. But it is a green model: this is just the nomenclature used in Sony to provide no user guides, I guess; there is a help system built in the system that is as useful as BP improving the Earth ecosystems.

Cutting the story short, we ended requiring some information that was not available on their web site -and I wonder if anybody has ever found anything useful there-, so I wrote an email to them -on their Please Contact Me form, mind you-.

That was one month ago. No answer. except for an mail as Thank you for contacting the Sony Ericsson Call Center. Your question has been registered and the reference number is ... Please do not respond to this mail since it will not be delivered to any recipient.

Sure I will not respond to that mail, or send any other: I will do my best not to buy any other product where the service is so bad: Sayonara, Sony.

Brightness keys on Meego

meego icon After the usual woes using the default Windows XP installation on my Samsung NC10 netbook, I tried the Meego distribution.

It is nice, it is fast, and just a matter of faith. In my opinion, it is still too unpolished for general use, but I can say almost the same of the Windows XP system in my netbook. At least, Meego boots very fast and, if something goes wrong, a full reboot still requires much less time than almost any XP operation.

The only thing that bothered my Meego experience was the lack of effective brightness hotkeys, so I solved it with a small C program (I first tried the simpler shell script route, but that didn't work). If you are interested, here is the full explanation.

TiddlyWiki, Evernote and the likes

wiki icon I have been looking, for quite some time, for the best way to keep my own notes, usually concerning development, howtos, processes, etc.

For a while, I have used blogging software (Wordpress), directly hosted at their web site, but storing all my notes as private blogs -when something was generic or useful enough, it would remain public. Although this is a quite simple solution, it has a major drawback: it requires Internet access, and I often needed accessing the notes offline.

On the same line, I got an Evernote account, which is definitely much superior to just using blogging software, but shares the same drawback. In addition, every web site can be eventually blocked -it happened in the firewall at my office for a while-, or get temporarily (or worse) down.

Then I checked sticker/notes software, available -even directly- on all my platforms (OsX, Windows, Linux). But this was definitely not the solution: I needed searching capabilities, more complex forms, and being able to transfer the notes easily across computers -and platforms-.

I played then with WoaS (wiki on a stick), and tiddlywiki, and both really filled my requirements... for a while. Both support the idea of a single file, automatically handled, to contain all the information. I saw here two drawbacks: embedding some information (images, pdf files, etc) would be not a great idea: not only the single file would become much larger, but it would get directly into the second drawback: there is a single file, containing all the javascript, plus all the real information, plus any images, whatsoever... fragility comes to my mind.

Backpedalling now into some more robust requirements, I thought on a nice solution, hosting the information into some database, using a single-file database, no server required. Thinking on DBBerkeley or, perhaps SQLLite. There is a somehow nice site comparing plenty of wiki engines: the WikiMatrix . It was not that helpful to compare wikis or to decide for the best, as to discover wiki engines.

But, including all the possible solutions, I decided that the original approach was the best: keeping a single file, using pure Html/Javascript solutions. I had some interest on python based engines, but, whichever the choice was, the problem remained: the need to execute a python process, and then having the browser communicate with it. And, usually, the python program would not require just a simple installation, but adding some eggs to the basket.

So, I finally decided using the single Html file approach: WoaS or tiddlewiki. In both cases, my idea is to keep the attachments outside the file. This means additional directories (one for backups, other for attachments), but it still a manageable solution to be transferred among computers (just transfer a zipped file with the html file and the attachments).

I have tried afterwards which solution will fare better: TiddlyWiki, or WoaS. Unfortunately, they do not share the same markup language, so transferring notes between them is not immediate. I already moved all my notes from Wordpress into TiddlyWiki, so it will remain my needed favorite. In fact, I haven't see so far any advantage on using WoaS.

I keep now all my notes as a TiddlyWiki page, and it is just great. I keep now exploring the Evernote Python API to be able to transfer notes into the ever nice Evernote software. That will complete the trip.

TableFilter v3.1.2

table filter icon Yep, still a misbehaving feature needing some correction, this time, a bug concerning autocompletion under case insensitiveness scenarios.

Of course, adding also some code to test the new functionality, which can be tested with the general purpose example.

Available already on the central maven repositories.

Set in Darkness

Set in darkness cover[books] Quite the typical John Rebus novel, at times darker than usual -as the title reflects-.

It is probably one of the best in the Rebus series, at least related to the ambiance it creates. The plot is rather lineal, more interesting by tangling several cases together and adding some history on the cocktail.Perhaps its weakest point if the end, which if nicely unexpected, is also slightly disappointing.

Grub2 and Os X

os icon The new Linux kernel 2.6.34 features a modified suspend/resume process, which should improve the times to put a system to sleep or wake it up. I had intended to check today these improvements, but I prefer to wait until the kernel finds its way on the Ubuntu repositories.

I had wanted for some time to check the new functionality in Grub2, which allows to boot directly a hackintosh system. In my case, it works rather well, but with important caveats: my dual screen configuration is lost, and I am unable to get the system to sleep. I initially thought that the booting would be missing the /Extra folder, containing the specific kexts, but that is not the case. The grub script looks as good as:

menuentry "Mac OS X (64-bit) (on /dev/sda2)" {
	insmod hfsplus
	set root='(hd0,2)'
	search --no-floppy --fs-uuid --set 5efc40708a8946a9
        insmod vbe
        set do_resume=0
        if [ /var/vm/sleepimage -nt10 / ]; then
           if xnu_resume /var/vm/sleepimage; then
             set do_resume=1
        if [ $do_resume == 0 ]; then
           xnu_uuid 5efc40708a8946a9 uuid
           if [ -f /Extra/DSDT.aml ]; then
              acpi -e /Extra/DSDT.aml
           xnu_kernel64 /mach_kernel boot-uuid=${uuid} rd=*uuid
           if [ /System/Library/Extensions.mkext -nt /System/Library/Extensions ]; then
              xnu_mkext /System/Library/Extensions.mkext
              xnu_kextdir /System/Library/Extensions
           if [ -f /Extra/Extensions.mkext ]; then
              xnu_mkext /Extra/Extensions.mkext
           if [ -d /Extra/Extensions ]; then
              xnu_kextdir /Extra/Extensions
           if [ -f /Extra/devprop.bin ]; then
              xnu_devprop_load /Extra/devprop.bin
           if [ -f /Extra/splash.jpg ]; then
              insmod jpeg
              xnu_splash /Extra/splash.jpg
           if [ -f /Extra/splash.png ]; then
              insmod png
              xnu_splash /Extra/splash.png
           if [ -f /Extra/splash.tga ]; then
              insmod tga
              xnu_splash /Extra/splash.tga

For the time being, I have added an entry to boot it using the good old Chameleon:

cd /etc/grub.d
sudo vi 45_osx

Now, edit the file 45_osx to contain:

exec tail -n +3 $0

cat << EOF
menuentry "OsX [Chameleon]" {
	insmod hfsplus
	set root=(hd0,2)
	multiboot /boot

And then, just execute:

sudo chmod +x 45_osx
sudo update-grub

Kudos to this insanelymac post

Multiple monitors

hardware icon I have been working on a dual screen setup for a long time, using two HP w2207 22" monitors.

About 12 months ago, I started using two separate computers to handle those monitors. I can control them with a single keyboard / mouse, using Synergy; of course I lose some flexibility, I am unable to move windows from one monitor to the other, etc; but the file systems are shared and any single operation can be duplicated easily on the other computer. As advantage, I work more easily with multiple operative systems, and can handle quite well downtimes -Vista deciding that needs a restart, trying some new hackinstosh setup, having to start Kubuntu in 64 bits, or Solaris, etc.

Good reasons, etc, but I was looking for the 3rd monitor to complete the setup: the usual development machine would take the two 22" monitors, or, perhaps, a new 30" monitor... A single huge monitor is just great. At 2560x1600 there is a lot of space, although the way most window managers work, that space can be lost too easily (maximize button takes it all!). For most purposes, it is more practical having two smaller monitors. 27" monitors usually have the same resolution as 24" ones, no space gains there. So, after some shopping around, I bought the Dell G2410h: it costs 250 euros, has a great stand, and consumes almost no power. On the negative side, it has only VGA and DVI, no sound or USB hub, all fine with me. The only specification I disliked was the resolution: 1920x1080, instead of 1920x1200.

After the setup I discovered the main reason why a single monitor can be much better: no color / setup problems. The brightness and contrast are radically different on the HP w2207 and the Dell G2410h. The HPs are glossy monitors, and the configuration of both monitors is not similar. The colors look more vivid on the HP than on the Dell, even when it is the Dell the monitor with better color quality. Then, it still comes the color corrections performed automatically by the operative system. OsX applies by default a gamma of 2.2, the same as Windows, while Ubuntu reports a xgamma value of 1.0.

I am not a color quality freak; but I find that it bothers seeing the same window in two different monitors at the same time, with different colors -and I am speaking, mostly, of the usual white background!-. These monitor test pages were a great help to calibrate the monitors, achieving some common grounds on both computers to have similar colors (they are definitely not the same). Anyway, after 2 days of usage, I am still going often to the brightness/contrast buttons to tune it a bit better...

Unfortunately, there is no lesson to learn here. Even if you decide, now, to buy all your monitors in triplets, perhaps you will want in some future to setup 4 monitors :-)

TableFilter v3.1.0

table filter icon Completed the work on the Table Filter library, now version 3.1.0;

The sources are now on a mercurial repository, hosted at Google Code, as project tablefilter-swing

The library can now be used directly in maven, at its is included in the central maven repository, under the expected group id net.coderazzi

The process has included creating also a forum, has taken quite a long time, all together.

Apparent procrastination

thoughts icon I had had, quite a few weeks ago, a request to get the source code of one of my OSS projects in a public repository; more to the point, the request suggested GitHub.

I was in that moment thinking of a quite big update to that library, and I had still other requirement pending: getting the library into the central maven repository.

The result: high apparent procrastination. I was, in fact, dedicating a lot of my spare time to the project, but one way or another, everything moved at ridiculously low speeds.

Choosing the central repository required some time to check the differences between GitHub and other repositories. I was quite pissed off with subversion, but then I had to dedicate time to learn Git. And then, mercurial.

Related to the other requirements, to be able to put artifacts in the central Maven repository required, then, setting up rsync, so that Maven would be able to fetch automatically the artifacts (the manual process was looking heavy and long). After thinking about how to better proceed, I discovered that the requirements had changed, and the rsync path was not available anymore, so it was needed to host the artifacts in some intermediate repository.

On the meantime, I was working on changing the implementation of the library. I was trying to make it simple, going along the normal implementation of UI components in Swing, so I tried many approaches; in fact, all approaches were valid, gave the expected result, but were just not clean enough. So I kept working on them, and the apparent procrastination kept mounting up.

Finally, about 2 weeks ago, I gave thumbs up to the final implementation. Due to the extensive changes, documentation updates were absolutely required, and I was able to lose still one more week getting a proper delivery (I managed to get the project ANT-ed on the meantime). I thought the other open points -central source, maven repository- would be a matter of hours, nice to be able to be still that naive ...

I checked GitHub, Google code, and I found the later more compelling. Starting the setup, I was faced to the subversion/mercurial decision, and then I got into a frenetic trial to understand Mercurial and how it would better fit my project. While setting up Google Code, I decided it was better to also setup a discussion group, fun stuff, stagnating stuff!

While decisions were taken, I got into the maven requirements: now, the artifacts must be hold in a central forge, and only several are currently accepted. My project only fit in one of the forges: Nexus. Setting it up requires a new account at Sonatype, plus another one at Jira at Sonatype. Then, writting a ticket, that once solved, gives access to a snapshot repository. This process took me very long time, due to a silly error on my input (I gave my name as a single name -Lu-, but a full name, including family name was expected. No related messages, but nothing worked!).

Once everything was up, I still had to mavenize my project. I had just ant-ed it, and, well, maven has its very own way to accomplish things. If you wanna do things your way, you will most likely fail. You see, maven is very flexible, as far as you do things as it expects; I wonder if my wife will understand the joke if I start calling her Maven...

So, one day later, I managed to get into some self-agreement on how to get the normal maven deployment process, the eclipse project structure and my own delivery process in a common approach. I still had to play with GPG keys, create one and set it up in a central repository, and then it was time to start thinking about some key / password program, because the process had implied, in total, setting up 6 accounts / keys.

Now, I have the impression that everything is as it should be; my knowledge on some matters is still a bit shaky, but I think I should be able to handle an update of the project. And I think I know a bit of mercurial. And I am totally surprised on how good so many things are setup -the central maven repository, Nexus, Google Code, Google discussion groups-. It was really worth my time. All of it.

Still, resolution

thoughts icon Long time ago, I remembered that, longer time ago, I though about megapixels and human vision. Mind you, it was around 1985, my only computer was a ZX-Spectrum with a resolution of 256 x 192 pixels, requiring 6 Kb, plus the memory required to represent colors (just another .75 kb).

I asked an older friend, somebody making already money with software!, which could be the resolution of the human eye. You see, games was, then, 8 bytes, they looked like... well, 8 bytes. I would look around and realize that my simple human eye was just so much, much, much, much better.

As it goes, the eye has the equivalent to, maximum, 1.5 megapixels. And its connection to the brain only supports about 1/7 of this capacity (maximal, again). This would be equivalent to about .150 megapixels, which means 25000 times the resolution of that old ZX-Spectrum. Which perhaps sounds like a lot, until you consider your 10 years old camera, that was already able to shoot 1 megapixel pictures, pictures that, by any current standard, look just poor.

Of course, there is a trick: focus. A human eye only sees, at a huge resolution, a very small area. And this is so easy to TEST; you see this word, 'TEST', right? focus on that, and you cannot even read the words around, unless you move your eyes.

Then, a computer does not have that privilege: it does not know where are you pointing your eyes. Well, not yet. So, for the time being, it has to provide the same resolution for the whole screen, just in case you are looking in that moment to exactly that part of the screen that is totally useless.

Again, this is not really the case: most games show better resolution on the supposedly focused area, degrading it otherwise.

So, the eye is an example of relatively bad hardware (1.5 megapixels and a limited cable connection) coupled with great software -in fact, backed up with good hardware, to focus on the interesting spots-.

TableFilter v3.0.1

table filter icon Some bugs squeezed out of the Table Filter library;

I added as well some ant scripts to drive the build, quite incredible I hadn't yet done it.

I am now quite certain to use Google Code to host the source code, which will facilitate as well mavenizing the project.

More on Lucid Lynx

os icon I installed Lucid Lynx on a separate computer, as a fresh install. It went really fast, and much smoother than my previous upgrade; once I activated the Nvidia drivers, I still got the same resolution problems on startup and shutdown as in my original installation.

I installed OpenSSH-server, just in time before my mouse stopped working. It seems a well known EHCI error, where the only solution is to setup USB as 1.1 on the bios. As I use the computer along a Mac Mini, I preferred setting up Synergy. It still contains the same problems as in previous versions, so I reverted to my old patch.

I had the time to check startup and shutdown times, comparing them to the Vista installation on the same computer:

Startup Shutdown
Vista 32 87 20
Kubuntu 10.04 - 32 bits 35 14

Definitely faster. In facts, it seems that Kubuntu starts faster on this old machine -Pentium D820, 2 Gigs-, than on my newer one -Q9550, 8 gis, Velociraptor drive-

The Sound of Inevitability

Great read, nice Matrix reference

Upgrading to Kubuntu 10.4

os icon One hour to upgrade Kubuntu to 10.4, counting with a few pauses to notice dialogs requiring input. Not bad at all. But after rebooting, I encountered the same problem as on my last upgrade: Grub hadn't been executed properly. Fortunately, I am still able to get into the previous kernel, and, after a few discouraging windows -wrong resolution- and error messages, I am able to boot, get into terminal mode and issue the first rescue command:

sudo update-grub

Rebooting gets me into the right kernel, but the rest of errors still happen. I am still using Grub, old well known Grub, and I must update manually into Grub 2. Seems like a good moment:

sudo apt-get install grub2

On reboot, the grub menu will now offer several options:

  • Chainload Grub2, from where I can boot Vista, Os X without problems
  • Execute a command ugrade-from-grub-legacy, that, if selected, just shows an error message
  • Boot any of the 10.04 LTS installations modes, including the very latest kernel

Boot again into Kubuntu, terminal mode, and upgrade Grub from legacy:

sudo upgrade-from-grub-legacy

select hard disk (/dev/sda), let it work -finds Vista, OsX, great-, reboot again.

First surprise: two entries for OsX, 32 bits and 64 bits. Both seem to start slower, but both seem also to bypass Chameleon, and definitely boot OsX into the required mode (32 or 64 bits). Nice, but I wonder how to handle it on future OsX upgrades, and how this is working.

error installing kubuntu Back to the root, time to solve the Ubuntu errors and the graphic resolution problem-. Right is the screenshot with one of the errors; this error is obviously related to my /etc/fstab entries, removing them solves the problem. The screenshot shows also the resolution problem. It looks like a great CGA screen (CGA was, max, 640x200, with 16 colors), time to google the solution: edit some grub 2 files and the reupdate grub. Finally there!

So, not a smooth update; system is now working; a process called 'virtuoso-t' insists on taking a minimum of 10% CPU time, and the startup and shutdown times, as well as sleep/wake up times seem to take slightly longer, but for today the time is over.

Ubuntu day

os icon Today is the release day for Ubuntu 10.04 Lucid Lynx, so I will be installing tonight its KDE flavour. Its focus is on the cloud, and there should be no major changes on the desktop experience; I decided to run some tests to check how Ubuntu fares against Os X and Microsoft Vista on a very specific subject: startup and shutdown times, as well as the time required to put the machine to sleep and to wake it up. I used my Q9550 cpu, 8 gigs, on a 300 Gb Velociraptor hard drive: the firts partition is allocated to Vista and the last to Kubuntu, so it can be expected some higher disk speeds when running Vista.

Startup Shutdown Sleep Wake up
Vista 64 39 9 7 7
Os X 10.6.3 30 3 1.5 6.5
Kubuntu 64 36 15 3.5 8.5

All the times are in seconds, and variance was minimal -every test was executed 3 times-. Os X is the obvious winner, in all the cases.

TableFilter v3.0.0

table filter icon Finally, I was able to complete the new version of Table Filter; getting the new filter editor component took me quite a long time. Synchronizing then the code to have the Java 1.5 version, updating comments, the documentation, and the web site took me almost the same amount of time. Too long.

I will include now the code into some central repository -GitHub or Google Code, I guess; I had intended to evaluate them before releasing this version, but it took already long enough as it went.

Fighting Subversion

Subversion icon Today, I fought subversion again. A simple change took me hours to solve. The problem? I work on multiple computers and I intend to commit my changes on a single repository. As far as changes keep simple, commitments work smoothly; but, if a change is spread among directories, specially if it involves directory changes, a wall will be likely hit.

Subversion has taken years to develop. It started in 2000, and, by 2004, was already mature enough to replace CVS. Subversion can be often scorned, by known people like Linus Torvalds-, or Joel Spolsky, with those critics being easily summarized: are you using Subversion properly?

Subversion is a CVS replacement, with a single repository philosophy in mind. The natural linux distributed development does not quite match it, so it is all but natural to reject it. Git, Mercurial, are version control systems born out of the distributed requirements, shifting the importance into how to deal with changes. Now, easy going: obviously Subversion deals with changes, with versions, but on a evolutionary path, as done by a person -an organized one, in fact- or by a well educated team.

I have multiple computers, and try to keep a single server repository. But even that is not that simple, as I have more than one home, and I rely on subversion to keep track of my changes. As such, even when I work on a weekend, I like to commit changes, and keep synchronizing repositories: I think it is time to stop fighting what subversion was meant to solve, time to evaluate other version systems.

Slaughterhouse 5

Slaughterhouse 5 cover[books] An auto-referent book, where the motifs behind it are part of the book itself, and the book seems totally alien to the story is trying to tell. That's it, I am more drawn to the style of the book than to the story that it tells, or that it intends to tell.

You see, the main point of the book is the story behind, the bombing of Dresden, and the unnecessary death of far more people than Hiroshima or Nagasaki killed. But what I remember from the book is the style, the prose of Vonnegut, his way to tell things. I guess I am just another Tralfamadorian, able to watch the Earthling Zoo, thinking that there is nothing to solve. I pay full tribute to the cleverness of this book, although it still failed to move me.

TableFilter v2.2.0

table filter icon Spent some time updating Table Filter to recover Java 1.5 compatibility. The time went, mostly, to uncover old bugs that were raising out of index exceptions. This becomes the version 2.2, which I expect to last... for a few days.

The point is, that the filtering uses normal Swing controls -mainly comboboxes-, which render awfully in some platforms; in special, mixing different filtering modes makes the filter header look all but inconsistent, so I have worked for the last weeks on a custom filter editor, that should solve these issues. In addition, it adds some features, like autocompletion, and magically simplifies the API. It also breaks compatibility, and it looks, in general, like a completely new version, so I am investing some extra time to squeeze bugs and inconsistencies.

Saturn's Children

Saturn's Children cover[books] Huge. I hadn't read science fiction for quite a long time, and I was frankly rusty for the exhibition of imagination in this book, just amazing.

I am not sure what I really prefer: if the realism of the actions -interplanetary trips that take indeed months or years, the boredom during those trips-, the often used scientific explanations, the ironies and humor -these are robots, bored robots, even with existential problems-, or the erotism -yes, even with robots-.

Then, it comes the plot, as imaginative as the descriptions of unknown worlds, and really twisted. Of course, it is a plot where basic logical rules do not apply, so it is quite a challenge to follow.