Monday, March 22, 2010

Nerd Food: Lucid, the Lynx

Well, its that time of the year again. Unwisely, I always take the Ubuntu releases when the first betas are out, I just can't resist the urge. Not on all boxen, mind you. I always pick a victi^W candidate box to do the testing, give it a spin for a week or two and then proceed to upgrade the whole stable when I feel confident enough. It has been that way since Warty, and Lucid was no exception. However, Lucid has been exceptional in pretty much every other regard - mainly for positive reasons, but for some negative ones too. Let's retrace my steps back to the weekend, for the full Lucid experience.

In the many years I've burned ISO images I can't recall ever having had problems with dodgy media. I remember back in the RedHat 5 days when I used to religiously test the media before installing. At some point or other, having never found any defects, I gave up on that; luck has been on my side ever since. Ever since, that is, until this weekend, when the 1 GBP CD I had bought from a local camera shop - out of desperation - proved to be dodgy. After trying to install Lucid a couple of times and failing miserably with weird errors, I thought perhaps the issue was the CD. But on reboot, lo and behold: the option to test the media had been removed! I'm pretty sure it was around in Karmic, so this is a Lucid "innovation". I guess for basic users this is not that bad, but old hands will feel slightly disappointed. Back to the shops I went - this time buying six CDs for good measure. (where did I put that blasted USB key!!). This time round the installation went OK - no major innovations from Karmic, just a general sense of polish.

After installation, I was greeted with the most well thought out boot I've seen in Linux. Now, let me qualify that: I haven't used any other distro since Warty, so I don't really know what other people are up to. It is likely all distros boot this way these days - and indeed I think a lot of the glory comes from plymouth, a RedHat technology. But let me tell you the way I saw it. The boot is almost seamless; KMS, plymouth and GDM work together to provide this amazing flow from boot to usable desktop; once KMS does the mode setting there is no more dodgy flickering, blinking cursors, intro music out of sync and so many other little annoyances of the past. Its just... elegant. And the whole process takes around 40 seconds (depending how fast you can type your password, of course).

The second thing I noticed - and I'm still not quite believing myself - is the amazing, and I mean AMAZING, memory usage. I thought that there was a bug in the System Monitor applet, because the dark green colour that indicates the memory usage was so low I could not see it. This is a bit less impressive than it sounds, as this particular machine has 4 GB of RAM, so one cannot rely on percentages. But the figures reported by other tools didn't lie: less than 200 megs taken by a fully usable gnome session with no applications running. I then proceeded to install all my usual apps just to see how a reasonable session would look like. The session I'm running at the moment has the following desktop applications:
  • skype
  • empathy for messaging (facebook, MSN, google)
  • Google Chrome (8 tabs)
  • Evolution for email
  • Liferea for RSS feeds
  • Emacs for development
  • Dia for diagrams
  • Assorted PDF documents with Evince
  • OpenOffice Writer for word processing
  • Nautilus doing large file copying (restoring backups)
  • Gimp editing a couple of images
According to the System Monitor, it is costing me less than 700 megs. CPU usage is extremely low - but remember this is a 4-core system. Compared to Karmic, this is nothing short of amazing.

System Monitor Applet and Workspace Viewer with all open applications. Dark Green is used memory.

I'm still playing around with the apps, so I can't really say much about them. I have noticed a lot of crashes being reported, especially from plymouthd, tracker, etc.

Unfortunately, not everything was positive with this first experience. Having an NVidia card, the first thing I tend to do is to enable binary drivers - purely so I can use compiz. I don't really need them for anything else, but there are a couple of things that compiz provides that are so interlinked with my workflow that I struggle to function without it. In the past, NVidia drivers have worked really well, with minimal fuss. I've relied on the distro supplied ones for a while, without any problems. I regret to say, this has changed with lucid and for the worse. So much so that I know believe binary drivers are just plain harmful.

Having installed NVidia drivers I rebooted and lost X altogether. The reason why became apparent after a few hours of investigation - and it is amazing the speed at which bug reports are replied to in Ubuntu. But after applying the workaround, even though I got X back the entire smoothness experience had been lost! This is because the KMS integration is amazingly _bad_ when using binary drivers, and this is obviously not the fault of the community. It just sucks, its hard to describe. Not just that, but on my second boot, my box just HUNG! It didn't do that afterwards, but its shocking to think that with the "unstable" nouveau the experience was smooth and stable and with the binary drivers I managed to crash the box in minutes.

But NVidia wasn't done with me just yet. For the moment I need to access this box from my karmic laptop via XDMCP, a process that has been made considerably harder of late. Not a problem; nothing a xinit with a manual ssh -X cannot solve. And then I'm greeted with a totally inverted screen. And I mean totally, it was like left-to-write rotation with up-to-down or something. After much head scratching, I found out this was yet another NVidia feature. That was it, removed all traces of these nasty binary drivers and defaulted back to nouveau.

Don't take me wrong. I think its great that NVidia care about Linux and provide us with drivers. After all, they don't have to. But, from purely an egotistical perspective, I think open source, in-kernel drivers are the future. I just want something that works out of the box and is integrated into the kernel release cycle. I don't want to wait to have proper KMS support. I don't want to have to do crazy workarounds to get proper plymouth support. And I don't want weird bugs. My experiences with the Intel drivers have been absolutely positive. And now nouveau seems to be on the right track.

Anyway, those were the key problems, but there were other issues I haven't quite finished investigating:
  • pulseaudio is behaving weirdly. It seems that if I login locally and then log in remotely the sound comes out of the server's sound card - which is an acceptable behaviour for me; however, if I don't log in locally to the server, then I get no sound at all, locally or remotely. This is not so ideal.
  • Wireless is not quite working for my server network card (Broadcom BCM4318). The binary drivers are enabled and all but for some reason it fails to connect (time out). This is not too bad as the server is wired into the modem.
In addition to this, I ended up having to wire my laptop to the modem as I was finding XDMCP over wireless to be utterly unusable. The delays were akin to running a VM, seconds some times - and chrome was particularly affected by this. Using a 100-MBit cable the experience is identical to working locally. Now if only I could suspend/resume my sessions!

All and all I must say I'm really happy with Lucid, and if nouveau could do acceleration (or if I had an Intel card) I would have cried with joy on first boot.

UPDATE: One very, very important thing I forgot to mention are the silly little annoying UI changes (thanks sardaukar, your post reminded me of this!). Truth is, I ended up spending _a lot_ of time figuring out how to revert some of the new "features" such as button ordering, etc. I didn't really give them a fair trial - but my reasoning is, I'm happy with my current workflow and I can't see a need to change it. When gnome shell comes I'll re-evaluate it.

Here's a list of the things I've done til now as a script. I'll try to keep it updated.

#!/bin/bash

# do not display text next to icons on toolbars. Interface
# tab of appearance has been removed
# so you can't do this from the GUI any more.
gconftool --set /desktop/gnome/interface/toolbar_style --type string icons

# display icons in menus. they look a tad bare without them.
gconftool --set /desktop/gnome/interface/menus_have_icons --type bool true

# display icons in buttons
gconftool --set /desktop/gnome/interface/buttons_have_icons --type bool true

# fix the crazy new button placement and order.
# not sure why gconftool-2.
# (note: this is one single long line)
gconftool-2 --set /apps/metacity/general/button_layout --type=string :minimize,maximize,close

# check for updates as they come available
gconftool --set /apps/update-notifier/regular_auto_launch_interval --type int 0

Thursday, March 18, 2010

Nerd Food: Getting ls to behave

ls appears to be sorting rather weirdly of late (well, since quite a few Ubuntu releases), ignoring upper and lower case, e.g.:

drwxr-xr-x 2 marco marco 4096 2010-03-17 00:12 cmake
-rw-r--r-- 1 marco marco 8708 2010-03-17 18:39 CMakeLists.txt
drwxr-xr-x 2 marco marco 4096 2010-03-17 15:17 config
drwxr-xr-x 4 marco marco 4096 2010-03-11 18:22 cpp
drwxr-xr-x 2 marco marco 4096 2010-03-17 16:24 doc
drwxr-xr-x 2 marco marco 4096 2010-03-12 01:39 glade
drwxr-xr-x 5 marco marco 4096 2010-03-17 18:42 output
-rw-r--r-- 1 marco marco 1124 2010-03-17 16:26 README.TXT
drwxr-xr-x 2 marco marco 4096 2010-03-11 18:22 scripts
drwxr-xr-x 3 marco marco 4096 2010-03-11 18:22 sql
drwxr-xr-x 3 marco marco 4096 2010-03-11 18:22 templates

This is utterly annoying. The main reason people use upper case filenames is precisely because they come up at the top of the listing. It appears the reason why is the locale, more precisely LC_COLLATE.

$ locale | grep LC_COLLATE
LC_COLLATE="en_GB.UTF-8"

By changing it to C, it all behaves as expected:

$ export LC_COLLATE=C
$ ls
-rw-r--r-- 1 marco marco 8708 2010-03-17 18:39 CMakeLists.txt
-rw-r--r-- 1 marco marco 1124 2010-03-17 16:26 README.TXT
drwxr-xr-x 2 marco marco 4096 2010-03-17 00:12 cmake
drwxr-xr-x 2 marco marco 4096 2010-03-17 15:17 config
drwxr-xr-x 4 marco marco 4096 2010-03-11 18:22 cpp
drwxr-xr-x 2 marco marco 4096 2010-03-17 16:24 doc
drwxr-xr-x 2 marco marco 4096 2010-03-12 01:39 glade
drwxr-xr-x 5 marco marco 4096 2010-03-17 18:42 output
drwxr-xr-x 2 marco marco 4096 2010-03-11 18:22 scripts
drwxr-xr-x 3 marco marco 4096 2010-03-11 18:22 sql
drwxr-xr-x 3 marco marco 4096 2010-03-11 18:22 templates

Much better! To make it permanent, add it to your .bashrc.

Wednesday, March 17, 2010

Kids Thrive on Complexity

I've found a probability distribution that went unstudied until now, and the random process originating it is my nephew. To be more precise, its the dazzingly complex algorithm he uses to distribute the contents of a packet of crisps across a room - in his lingo: eating. Its not just the quasi-uniform floor coverage (including underneath all furniture), the fact that no two crumbs share the same size, or even its speed that makes it unique; its the efficient use of resources. A single room can be covered with _the remains_ of a small packet of crisps. Amazing.

Thursday, March 11, 2010

Nerd Food: use_action_appearance saga

While playing with Ian Remmel's instructions on how to use Gtk::Action and Gtk::ActionGroups, I've bumped into an annoying problem: for some reason my toolbar icons and menu items started behaving weirdly after adding some Gtk::Actions to them. Symptoms were blank labels on menu options and blank toolbar items, or toolbar items with words rather than stock items. After some head scratching, I think I got to the bottom of it. Basically, the toolbar or menu item is taking its caption from the Gtk::Action.


Stock item refresh not being displayed.

What is puzzling is that the Glade UI clearly says that "Use Action Appearance" is set to "No". However, close inspection of the .glade file shows no mention of this property at all, so somehow the default value for it appears to be "Yes". I proved it by manually hacking use_action_appearance, e.g.:

<property name="related_action">act_reload</property>
<property name="use_action_appearance">False</property>

This fixed all my prolems. Of course, this is not a long term solution because it gets overwritten every time you save your .glade file. A more enduring workaround may be to do this in code, possibly where you add the Gtk::Action to the Gtk::ActionGroup, at least until Glade fixes the bug.

Another puzzling aspect of this bug is that there has been a lot of work around it of late, as the release notes of glade-3 3.6.7-0ubuntu1 imply:

- Sync up remaining properties at load time (fixes use-action-appearance property and any other unmentioned property states at load time, also unvails broken orientation default value in GTK+, bug 587256).
- Fixed glitches with use-action-appearance at save time.

A quick apt-cache check reveals we're running the correct version:

$ apt-cache show glade | grep "^Version"
Version: 3.6.7-1ubuntu1

So either all of this activity around use_action_appearance did not fix the bug or there was some kind of merge mistake downstream. Here we can see the commit that tried to fix the problem - nothing obvious to the layman, unfortunately. By downloading the tarball used to make the Ubuntu package, we can easily confirm that the upstream commit is present downstream.

An upstream bug report had been filled for this problem: #582882. Shame it wasn't cross referenced in the release notes, like some others were. Perhaps the maintainers haven't gotten to the bug report just yet.

Nothing more to do other than wait for the glade maintainers...

Update: Another workaround for this problem is to set the icon / lable text directly on the action.

Monday, March 01, 2010

Nerd Food: Suspend and Resume on Karmic

For some reason, the suspend and resume in Karmic (Ubuntu 9.10) fails to restart wireless properly on one of my laptops. According to lspci the card is a RealTek RTL8101E/RTL8102E . Everything else works ok, and the failure is intermittent - maybe one resume fails out of three or so. If you have the same problem, you can try the following before restarting your machine:

$ su
# cd /etc/init.d
# ./networking restart
# ./network-manager restart

This seems to sort the problem out, most of the time. Hopefully the Lynx is going to fix this.

Saturday, February 27, 2010

NP: See That My Grave Is Kept Clean (Blind Lemon Jefferson)

Only one kind favour I ask of you
Well, there's one kind favour I ask of you
Lord, there's one kind favour I'll ask of you
Please [see] that my grave is kept clean

There's a long lane, it's got no end
It's a long lane, it's got no end
It's a long lane, ain't got no end
There's a bad wind that never came

Lord, there's two white horses in a line
Well, there's two white horses in a line
Well, there's two white horses in a line
Gonna take me to my burying ground

My heart stop beating, my hands are cold
My heart stop beating, my hands are cold
Well, my heart stop beating, Lord my hands are cold
It wasn't long [till I understood] what the Bible told

Have you ever heard a coffin sound?
Have you ever heard a coffin sound?
Have you ever heard a coffin sound?
Then you know that the poor boy is in the ground

Oh, dig my grave with a silver spade
Dig my grave with a silver spade
Well, dig my grave with a silver spade
You may lead me down with a golden chain

Have you ever heard a church bell toll?
Have you ever heard a church bell toll?
Have you ever heard a church bell toll?
Then you know that the poor boy is dead and gone

Friday, February 19, 2010

Nerd Food: SSH darwin awards

Like every other Linux user, I use SSH extensively to connect to different computers and run applications remotely (-X in particular is one of my favourites). SSH has a tendency to remember hosts you've connected to in the past, and stores this information under ~/.ssh/known_hosts. This works quite well for fixed IPs in the WAN, where SSH key to IP address is bijective. It doesn't work so well for people who connect to different local networks using the traditional 192.168.X.Y space, because the same IP maps to many different keys, confusing SSH. Any DHCP environment also suffers from this problem.

In the past, I've solved this the brute force way by trashing the whole of .ssh:

rm -rf ~/.ssh

This solution works fine. Fine, that is, unless you happen to actually have created a private/public key to authenticate with servers requiring it, such as GitHub. Just as I pressed the enter key, it suddenly occurred to me that I had in fact started messing around with git and said provider, and had made no backup of the key - even though the FAQ states quite clearly that one should do so. Classic Homer Simpson moment.

Fortunately, GitHub must have thought about this exact same mistake and made it really easy to update one's key. From now on:

rm -rf ~/.ssh/known_hosts

Thursday, February 18, 2010

NP: Singapore (Tom Waits)

We sail tonight for Singapore,
We're all as mad as hatters here
I've fallen for a tawny Moor,
Took off to the land of Nod
Drank with all the Chinamen,
Walked the sewers of Paris
I danced along a colored wind,
Dangled from a rope of sand
You must say goodbye to me

We sail tonight for Singapore,
Don't fall asleep while you're ashore
Cross your heart and hope to die
When you hear the children cry
Let marrow bone and cleaver choose
While making feet for children shoes
Through the alley, back from hell,
When you hear that steeple bell
You must say goodbye to me

Wipe him down with gasoline
'til his arms are hard and mean
From now on boys this iron boat's your home
So heave away, boys

We sail tonight for Singapore,
Take your blankets from the floor
Wash your mouth out by the door,
The whole town's made of iron ore
Every witness turns to steam,
They all become Italian dreams
Fill your pockets up with earth,
Get yourself a dollar's worth
Away boys, away boys, heave away

The captain is a one-armed dwarf,
He's throwing dice along the wharf
In the land of the blind
The one-eyed man is king, so take this ring

We sail tonight for Singapore,
We're all as mad as hatters here
I've fallen for a tawny Moor,
Took off to the land of Nod
Drank with all the Chinamen,
Walked the sewers of Paris
I drank along a colored wind,
I dangled from a rope of sand
You must say goodbye to me

Sunday, January 31, 2010

Kizua Mwangola: They think it's all over...

And it's all over now: Egypt has won the CAN. Ghana did a lot better than I expected though, and in the end the game was actually quite close. The cup goes to the best team though. The other point worth of notice was the size of the crowd: over forty thousand Angolans turned up to watch it, an amazing figure for a final that did not involve the host nation.

Egypt team. (c) Angola Press


Friday, January 29, 2010

Kizua Mwangola: Magreb War

There is no other way to describe yesterday's game - it was like being invited to watch someone else's war. A few days ago I overheard one of the reporters quoting a Algerian player, his words being along the lines of "this is a matter of life or death" and "it will be a war". Well, it really was. To make matters worse, the game boasted the biggest crowd of away fans we've ever seen in CAN, with a predominance for the Algerian side. The rumours of two thousand Algerian fans entering the country were certainly an exaggeration, but at least five hundred must have done the trek, and they were noisy too.

There was a lot at stake, and it wasn't just the place in the final. The Egyptians wanted revenge from Sudan, which according to them was solely due to the referee's mistakes. The Algerians wanted to prove that Sudan was no mistake, and that they deserved to represent the Magreb and the whole Arab world in the World Cup. If, to that, you add years of bad blood between these two, you're starting to get a rough idea of how high the tension was.

Algerian Supporters. (c) Shahinara Craveiro

When it came to football, however, the Algerians demonstrated their Achilles heel: bad behaviour. To be fair, this is a common problem on all Arab teams. We've seen Egypt and Tunisia losing it too, moaning on every decision referees take against them and ganging up around the ref. Algeria managed to go that extra step, causing total havoc when Egypt got a penalty. The game was going Egypt's way, to be sure, but it wasn't clear cut; but playing Egypt is always a difficult task, and playing with ten men is neigh impossible. From then on it was a slippery slope, red cards following red cards and trivial goals following trivial goals. Egypt wasn't even trying to score, but the massive gaps in the Algerian defence made it so easy they couldn't resist. The final body count revealed almost as many red cards as goals (three of the former against four of the latter). It seems Egypt is, and always was, the champion waiting to be crowned.

Egyptian keeper anticipates Algerian striker. (c) Shahinara Craveiro

As a side note, I was extremely surprised to see a packed ground for this game - must have been around thirty thousand of us watching it. Most people here are interested in the Southern African teams, and very few can name an Arab player other than Egypt's Zidane. However, Benguela turned up for the game in great numbers and made loads of noise. A good few hours later, I'm still unable to hear properly. I guess Egypt became our adoptive team, the only one that never left Benguela all the way up to the final. Egypt's coach said so in the after match press conference, and thanked the Benguelans for all the support.

This was also a milestone for us: the last game of the competition we're watching live. We've seen many games, travelled to three of the four CAN stadiums, saw Angola live and met many, many great people. It was a great adventure. But all good things must come to an end, unfortunately, and the tiredness is now getting to us. The last two games will be watched on telly.

Thursday, January 28, 2010

Kizua Mwangola: OMG, Ghana!!

Unbelievable. Watching Ghana v Nigeria was exactly like watching Angola v Ghana. One attack from Ghana early on in which they score, then 90-odd minutes of Nigeria attacking badly. Amazing, like a carbon copy. Off to the stadium now, to watch Egypt v Algeria. Hopefully my predictions will come to pass, and we'll have an Egypt v Ghana final - either way, I think Ghana is running out of luck, fast.

Wednesday, January 27, 2010

Kizua Mwangola: Peter and the Kupapata

After a prolonged stay here at Nancy's, Peter decided to move to Hotel Praia Morena. We were all getting quite used to him (and to Mark too, another recent defector), but that's the gist of a guest house I guess - people come and people go. But that's not the story; the story is _how_ he got there.

Like any practical South-African-come-Irish-come-German he thought the fastest way to move hotels was to take a kupapata (a bike-taxi). However, he had some luggage, so he decided to go for a kupapata with a trailer - something fairly common around here. He immediately caused chaos amongst all the staff by asking them to arrange one for him: surely not!! A Praia Morena guest riding on the back of the kupapata with the luggage?! Unheard off! Debates immediately started, and heated discussions too; people wanted to see this crazy foreigner riding with the luggage. I was even asked to take a picture, an undeniable proof that this event had actually happened.


Peter with Senhor Viana. (c) Marco Craveiro

No one believed the security guards would allow them to park at the entrance of the hotel. In the end, the mission was successful. Whilst the locals were getting agitated, the foreigners didn't quite understand what the fuss was all about - seemed like the sensible thing to do, really. I guess they don't quite get the "never lose your style" moto.

Tuesday, January 26, 2010

Kizua Mwangola: Aiwee!! Ta Doeeeer!!

That's how an Angolan song goes, and it seems to accurately represent the nation's feelings; translating it loosely it means "I'm in pain". We certainly are. It wasn't meant to end like this. And to make it worse, we saw it all unfolding live, minute by painful minute, at the 11th of September stadium in Camama.

But lets rewind it all back to the Friday. Two new photographers had joined our lovely guest house - a couple from Harlsden (of all places). While chatting over a few cucas they told us of their crazy plans: take their South-African bought car from Benguela to Luanda on the Saturday and drive back on the Monday, resting their heads only a few hours at some cheap hostel. This got Shahin's brain going. Perhaps we could join them? After a quick check, we concluded that all of our commitments could be postponed by a day or two - in fact, in a more general form, it can be said that there is no activity held in Angolan soil that is deemed to be so vital that cannot be postponed by a day or two. So we joined the quest. We tapped all our contacts for a living room in which to crash, but none was forthcoming so the only other option was to camp. At 120 km from Luanda, Cabo ledo was the destination of choice.

We set off a bit late in the day - midday or so - and had a more-or-less uneventful trip there, with a short stop at Sumbe. The roads from Benguela to Luanda are now in a decent state, so one can drive at full speed, making it a seven hour journey.

Cabo Ledo has changed a lot in three years. The dirt-track has been superseded by a sandy road, the two lonely bungalows now have mushroomed into ten or so and - even more surprisingly - there is a whole new resort at the very end of the beach. This was a luxury place, with rooms going for 300 USD a night. They didn't have any camping area, but the chap there was very nice and allowed us to camp for a negligible price.


Camp at Cabo Ledo. (c) Shahinara Craveiro

The evening and morning were great, very much like a proper beach outing. We left early for Luanda, as the photographers need to start work quite early on. In addition, cousin Rui fought hard to secure a couple of last minute tickets for us, and the plan was to meet him at the stadium for delivery. He deliver the goods, and did so in proper Angolan fashion, arriving at around 15 minutes before the game. In Benguela this would have meant losing the first 20 minutes or so of the match; surprisingly, in Luanda - amongst a 50-thousand crowd - we still got in _before_ the game had started. I was amazed. Unfortunately, I was also quite pissed off too as they forced me to bin my newly bought bolos secos (dried cakes). Apparently these can be quite lethal. No cameras allowed inside either.

What can I say about the game. I thought that we played well overall, and other than not scoring, we did everything best we could. One defensive mistake produced one goal; to make just one mistake in 90 minutes is quite good for us. Manucho and Flavio let us down, the first by not scoring any of the many opportunities he had and the second by not creating any for himself. The crowd tried their best. We even sang Angolan songs:

Nossa Angola, Ole, Ole
Nossa Angola Ole, Ole

But it was all in vain.

Angola v Ghana. (c) Shahinara Craveiro

The post-match was quite good though. There were hamburger vans selling beers at the parking lot, with TVs showing the Ivory Coast v Algeria game and selling cold'ish beer. In fact, beers and drinking have been handled quite well by the authorities. I was expecting a stadium full of drunken Angolans on all matches - lord knows we love our cuca - but instead I didn't see a single drunken spectator. Police was quite strict and didn't allow the selling or consumption of alcohol until the end of the game, an arrangement which proved to work well.

Afterwards, we drove back to Cabo Ledo in the dead of night - with a few scary near misses. Driving in Angola at night is not recommended for the faint at heart. In keeping with the depressed Angolan spirit, the night was dreadful, with rain and thunderstorms. To make it all worse, our 25 USD-chinese-shop tent had a leak and we got soaked and blasted by sand. And to top it all off, it was still quite rainy in the morning, so I couldn't even go for a swim before heading back to Benguela.

The road back was again uneventful. We got to Benguela just in time to watch the Egypt v Cameroon live in Ombaka. And so it was that three of my teams are now out of the African Cup: Angola, Ivory Coast and Cameroon. Like one fan said, "who shall we support now? Ghana?".

Egypt v Cameroon. (c) Shahinara Craveiro

Go on Zambia! Ow no, they lost too. Maybe its me?

Friday, January 22, 2010

Kizua Mwangola: Lubango

Well, Lubango was certainly an adventure. We convinced Silvano and Jonathan that the bus was the most sensible option to get there and back - on the vague advice from Lau that the roads from Benguela to Lubango weren't too bad, 50-100 km's or so of picada. I didn't think that they would _really_ take us up on that offer; one tends to associate important reporters with five-star hotels, chauffeurs and all that. Turns out they were actually keen on going to Lubango by bus, to experience the real Angola rather than the sheltered one. It makes sense, I guess. After all, these are guys that have been covering African cups for a long time and are used to the, how shall I put it, vagaries of African travel. So by bus we went.


Jonathan and Silvano. (c) Shahinara Craveiro

By the standards of most of our trips, this bus journey was remarkable for its non-eventfulness. No flat tires, no drunken passengers, not that many chickens on board, not that many passengers picked up en route, buses roughly on time, roads not too bad - it was as if the Angolan transport system knew they were carrying reporters and wanted to behave.

We got to Lubango at around 14:00, and were greeted by nasty weather. After enjoying a constant stream of hot, cloudless days, it was a real shock to see rain and - gasp - feel the cold.

Main road in Lubango. (c) Shahinara Craveiro

Luckily we were promptly picked up by Remidor, our contact in town. In fact, he proved to be a really valuable resource and - surprisingly for Angola - a stickler for time (if you need a driver in Lubango, give me a shout and I'll send you his number). Remidor took us to a couple of hotels, but the whole town appeared to be booked. After much searching, there were only two rooms to be found: a posh one at Hotel Amigo and a crap one at Hotel Diocema - and by crap I mean _crap_; it would have been a 5-10 USD one in Thailand but in our lovely Angola it was going for just over 50 USD. To add some excitement to the occasion me and Shahin picked the short straw and got Diocema.

The rest of our stay was a story of rain, more rain and then some real thunderstorms. I even managed to get a really bad cold on the process, something unthinkable in Benguela. On the plus side, the games were pretty good, in particular the Cameroon v Tunisia. This was a fantastic game, if I ever saw one, even including the horrendous defensive mistakes by Cameroon; the fact that the whole group was being decided on a minute-by-minute basis added even more excitement to the equation, so much so that by the end even the professionals were somewhat confused as to who had actually qualified and which team had won the group. In the end, Zambia and Cameroon qualified, giving us an exciting Egypt v Cameroon here in Benguela.

Nigeria's Peter Odemwimgie. (c) Shahinara Craveiro

The other interesting highlight of Lubango, and one which I hope to pursue in the future, is the huge white Angolan community down there. Not only are there the well-do types, but there is also a down-and-out white Angolan community, something which I had never seen in my life. For instance, I saw a white Angolan living in the bairro and carrying her young child on her back, just like a black Angolan woman would do. I couldn't believe my eyes so I got Remidor to confirm this for me - no, it wasn't a really light-skinned mulatto but a real white Angolan. Apparently this is a common sight in the bairros of Lubango.

Update: Jonathan has also posted about this trip, just not quite as eloquently as me :-) Also, ignore the terrible headline ("In a haunting account", "encountering remnants of war and weak bladders" etc) - just another great display of terrible sub-editing (e.g., not his fault). Just read the whole thing.

Tuesday, January 19, 2010

Kizua Mwangola: Newspaper men

Our days have been incredibly busy of late. Not only because I'm spending longer hours at the tech support at Uni but also because the cream of the reporting crop is staying at our guest house: being the only hotel with a name in English and having an American expat running it makes it the obvious choice for every other English-speaking foreigner. These are famous people in their fields, contributers to papers such as Financial Times, Daily Telegraph, The Independent, Die Spiegel, BBC, et al. This, of course, excluding Nigerian and Angolan papers.

All this excitement not only makes my tech support somewhat harder - we now have people that rely on the Internet to do proper work rather than the occasional browsing - but it also means me and even Shahin are on "translation duties" at all hours. For example, yesterday I translated an interview with the Zambian coach for local newspapers. I've also spoken quite a lot of really bad French (but fortunately, the Swiss are here to help!). Shahin's claim to fame is translating French to Portuguese, the unfortunate targets being our Gabonese guests. I've also been quoted twice (if not entirely precisely). And to top it all off, we're traveling to Lubango tomorrow with journalist and book author, Jonathan Wilson - a gem of a bloke by the way. Mind you, Pete was looking over my shoulder as I write this and he swears that his book is better for the common man, so I may end up buying both.

There is nothing scarier than watching a football match on telly with five or ten of these guys. You just feel afraid of shouting even the most trivial things, lest they look at you with disapproving eyes - "do you know _anything_ at all about football, young man?". On the plus side, they are a really great bunch to chat over a few cucas. There were a couple of comments that really made me laugh. One was that "the stadiums were just too good, you couldn't tell whether this was Germany or Angola" which made me pretty laugh pretty smugly. Apparently Ghana and Mali's African cup had a more African feel. Don't want to discriminate against our African brothers, but I'll take that as a compliment. The other, which made me laugh really hard was - "I hate those Scandinavians! Their biggest problem is a complete lack of cynicism! I mean, just look all the NGO's they have which actually _believe_ in changing the world!". I wish all my Scandinavian friends could read this now.

Kizua Mwangola: Why I love Benguela (part I)

Everyone is always asking me, but what makes you like Benguela so much. I thought perhaps a piece of photo-blogging would help. So here's my first part of Why I love Benguela:

Our brand spanking sidewalks. (c) Shahinara Craveiro

Loads of lovely public gardens. (c) Shahinara Craveiro

The new Ombaka stadium. (c) Shahinara Craveiro

The sunsets we get every day. (c) Shahinara Craveiro

The rush hour traffic. (c) Shahinara Craveiro

Great colonial architecture. (c) Shahinara Craveiro

Caotinha beach. (c) Shahinara Craveiro

Catumbela river. (c) Shahinara Craveiro

Local capoeira school. (c) Shahinara Craveiro

Kizua Mwangola: We're through!

Awful game! I'm sure Mali and Malawi thought it wasn't cricket any more too, but hey - we probably would have lost on a real game. Now, lets see how we fare against the elephants.


Saturday, January 16, 2010

Kizua Mwangola: Deadly Mambas

So, the entertainment of the day proved to be entertaining. First course was a pleasing Nigeria v Benin, with the Super Eagles displaying the usual not-so-super form. Somehow they managed to scrape a win with a penalty that didn't look that obvious to me - but then again, that's the biggest problem with live games: no replays. Benin looked good though, or maybe it just was a weak Nigeria that made them look so good. Second course was the very much waited Mozambican mambas against Egypt. If Egypt had a great support from the public against Nigeria, this time they felt the might of 30-odd thousand Benguelans against them. I mean, jeez, we even sang _Mozambican_ songs. This was better support than they would have in Maputo, I tell you.


Mozambique v Egypt, Benguela. (c) Shahinara Craveiro

The first half was exciting, mainly because Egypt didn't quite manage to score, but Mozambique did make a few interesting moves. The crowed got to the interval screaming very loudly every time Mozambique had the ball in Egypt's half (my own voice is almost gone). It was clear that the Mambas were feeling the pressure to score, so they decided to let loose and make the deadly mamba venom felt. Rather unfortunately, the target of all of that uncontrolled aggression was themselves, with an own goal starting the second half. Or was this the old score-an-own-goal-to-distract-them, a strategy tried and tested on the previous game against Benin? If it was, it didn't work.

Egypt didn't really need the extra help - but didn't deny it either - and looked very much the part of champions-waiting-for-a-crown. In some ways, watching Egypt play is not that dissimilar to watching a well drilled army fighting against a bunch of territorial reserves. Its not that they do anything particularly flashy, or flairy or crowd-pleasing; they are just a really well oiled, well drilled machine, where everyone knows their position, everyone knows who they're covering, everyone knows where they should be when attacking and everyone - and I mean _everyone_ - knows how time waste when they're winning. Its amazing. The only chances they give away, other than the rare defence mistake, are free-kicks and shots from far away - and Mozambique never looked dangerous in either of these.

* * *

If you're in Angola you've seen the "Miudo" (kid) TV ad, featuring Angola's captain Kali and the "Miudo". Well, we thought we'd find our Miudo too and gave away a bunch of tickets to kids waiting outside the stadium - hey, at 500 Akz a pop one can just about afford the luxury. One of them we decided to drag with us, and he reluctantly accepted or invitation. The miudo was pretty quiet. In fact, he didn't say a single word during both games, communicating only by affirmatively shaking his head to our inquisitive questions: do you want some juice? are you enjoying the game? do you want a cap? He then quietly disappeared minutes before the end of the second game. He seemed amazed with the big stadium though.

The "Miudo" (c) Shahinara Craveiro

* * *

On our way back we decided to avoid the crows at the parking lot's exit, taking instead some really alternative routes. This involved trekking through some very dark bairros, places where the electricity hasn't got to (nor will it) and where people can't afford generators either. Goes to say a lot about safety in this country when you can ride the back of a pick-up truck across the "dangerous" bairros, chatting to the people as you go along without worrying about being mugged.

* * *

Shahin has decided to busy herself by becoming a cook; as I write this she's serving Pizzas to starving journalists from many different countries.

Thursday, January 14, 2010

Kizua Mwangola: Angolaaaaaaa!! Angolaaaaaaa!!!

ANGOOOOOOOLAAAAAAAAAA!!! ANGOOOOOLAAAAAAAA!

Kizua Mwangola: Benguela's first game

We made it to the stadium! Shahin covered it on her facebook, but here's a teaser. The crowd was much bigger in the end, but it took ages to get in!


Sunday, January 10, 2010

Kizua Mwangola: Snatching defeat from the jaws of victory

There isn't much in common between the Angolans and the English. One exception is an uncanny ability to engineer defeats where no one else would believe them possible. That was most certainly the case against Mali tonight.

Kizua Mwangola: HOWTO: Underplaying your hand

Right, not only are we all traumatised with the events of last Friday but we now have to deal with the media coverage of it as well. And lordy, lord is it bipolar or what. On one side we have the dramatic, disaster-intensive coverage coming from the west, making it clear the world is coming to an end - Angola first. On the other side we have a Beijing style, 1980's coverage from the national media that makes it all sound oh so alright and downplays Togolese suffering far too much.

If the authorities were media savvy they would have instantly recognised a neo-liberal sort of moment and played it to their advantage. Shock and awe and all that. How easy it would have been to make the most out of this disaster, using it to unite the national and international communities around the "war on terror" disease - all the while promoting the continuation of the CAN as a duty to all who do not believe in giving in to terror. Someone needs to go to America for a 101 course on modern propaganda.

Anyway, three hours for the game against Mali. Força Palancas!

Saturday, January 09, 2010

Kizua Mwangola: Kick'em while they're down

So yet again our hopes were dashed. These past couple of months since we arrived here, up to last Friday, have been nothing short of amazing. The whole country was involved in a giant wave of positiveness, as if nothing could stop us now; as if the long war and the troubles were something that could and had been overcome; as if, like England, Germany or Vietnam, we too had the right recover from the war and build something, to move on. It was great to be part of this wave. But, just like in the past, it felt really bad to see it crash, hard against the rocks. Angola just seems to be one of those luckless countries.

Truth to be told, the bullets didn't steal any of the roads, bridges, hospitals, school's or even stadiums: those are still standing. The losses feel far greater though. The bullets stole Togolese and Angolan lives, and they stole the Angolan belief in a hard-earned decent future, a future paid in blood and with interest. They made everyone realise that, no matter how hard things were to earn, they can be harder still, forever out of one's reach. Just like the bombings in London or in Madrid, a very small number of people managed to inflict extremely severe damage to millions. Unfortunately, unlike Madrid and London, no-one will remember this incident as a terrorist attack; instead, the insanity was to ever conceive the idea of having "a high-profile tournament held on a country were civil war is rife", as a commentator put it on the BBC's forums.

As I walk through the long, wide avenues of Benguela, admiring a few of our new sidewalks and the manicured gardens behind fences, as I see a bunch of young boys joyfully going to basketball practice, I cannot help but think that the world's view of Angola will never change. And I cannot help but to be cynical. I wonder how many of those who are now incensed about "countries rife with civil war" even watched the last CAN or the CAN before that. If deaths occurred then, media coverage would have been next to non-existent, nothing but numbers flashing at the bottom of the screen. Now that their teams' backbones are in Africa, suddenly its at the top of the global news agenda.

Yesterday, the mother of a good friend of mine said: "You're wearing that t-shirt? They've started killing people already". I looked at my CAN top with the palanquinha and sighed. She spoke in a nonchalant, matter-of-factly sort of way - the weary voice of someone who's been through it before. Too many times before. "Too good to be true, hey?", my nod said without needing words.

Lord have mercy. Lets pray we can still make _something_ out of it.

NP: Jorge Palma, Ao Meu Encontro Na Estrada

Disseste que vinhas
E não chegaste
Mudaste de planos, ok

Mas isso deitou-me tão abaixo
Espero que tenhas pensado bem
Estou triste que só eu sei
Preciso de alguém

Chaminés pretas deslizam
Nas janelas de mais um comboio
Casas e pessoas
Feias árvores falidas
E um céu angustiado
Tal é o meu quadro
Estou bem chateado

E agora toca a arranjar o buraco
Que eu tenho no coração
Vou mudar de cenário
Que a coisa assim está mal parada
Vou procurar calor
Mudar de estação

Há-de vir alguém
Ao meu encontro na estrada

Pensei tanto em ti
Que não calculas
De manhã, à tarde e ao anoitecer

Andava louco de contente
Só com a ideia de te voltar a ver
Ahh, mas que grande idiota
Voltei a perder

Procuro no fumo e no vinho
A forma de chegar depressa à fronteira
Mas sei muito bem que a dor que sinto no peito
Não vai com a bebedeira
Pus-me a voar e caí
Da pior maneira

E agora toca a arranjar o buraco
Que eu tenho no coração
Vou mudar de cenário
Que a coisa assim está mal parada
Vou procurar calor
Mudar de estação

Há-de vir alguém
Ao meu encontro na estrada
Há-de vir alguém
Ao meu encontro na estrada

Tuesday, January 05, 2010

Nerd Food: Flash won't beat me

One of those days. For the last day or so, I've been trying to watch a financial video from one of my favourite gurus-that-predicts-everything-before-it-happens Peter Schiff (thanks Fuzz!) and a Google talk with Boehm (of the c++ garbage collector fame). I had thought Miro was going to save the day on all things flash, and to be honest it has been quite useful in the past; I've managed to search for a bunch of talks and then download them for later consumption. This killer feature is entirely under-appreciated in Europe, where bandwidth is plentiful, but once you get to Africa - with its sporadic-but-expensive Internet connections - it really comes to its own.

However, of late I've found Miro's search to behave weirdly. Links in YouTube which I can clearly validate don't show up on the search results; or when they do, I get a "file does not exist error" at the download stage. And I don't seem to be able to feed it a straight YouTube URL either. Extremely annoying. So after much searching it suddenly occurred to me that I could literally play the whole video while doing other stuff and then copy it from the browser cache! Not particularly efficient, but great as a last resort measure. This was done, but then I found out that the cached files have the weirdest names in the whole world and no extensions:

[marco@perlis Cache]$ cd /home/marco/.mozilla/firefox/ft6kqpe4.default/Cache
[marco@perlis Cache]$ ls | head
total 57200
-rw------- 1 marco marco 63548 2010-01-05 12:07 00723220d01
-rw------- 1 marco marco 75884 2010-01-05 12:34 047E9A92d01
-rw------- 1 marco marco 72071 2010-01-05 12:14 04D19A3Dd01
-rw------- 1 marco marco 36826 2009-12-27 15:55 050CF10Ad01
-rw------- 1 marco marco 30346 2010-01-05 11:42 05FF9B13d01
-rw------- 1 marco marco 30487 2010-01-05 11:59 0A86946Ad01
-rw------- 1 marco marco 48362 2010-01-05 13:45 0C9499D4d01
-rw------- 1 marco marco 37458 2010-01-05 11:46 10E28E0Ed01
-rw------- 1 marco marco 38169 2010-01-05 12:00 12C78C2Bd01

Great for a cache but not so for humans. Bummer. Some googling later I found a chap which pointed out a way of figuring out which files are which, windows style. That got my neurons firing:

[marco@perlis Cache]$ A="*"; for a in $A; do file $a; done | grep -i video
76568185d01: Macromedia Flash Video
806EBA02d01: Macromedia Flash Video
82C84C55d01: Macromedia Flash Video

Sorted. A few cp's later and the cache was stored safe and sound! All hail the command line...