One of the guys I work with posted this to his blog yesterday. I enjoyed the post immensely, but couldn’t shake a strange feeling that the post gave me… and then it hit me. I mean think about it, look at the way in which he describes somebody spending their life identifying people from which to assimilate knowledge and wisdom. I think he has abilities. I think he might be Sylar! Please don’t let him eat my brain!
I watch videos like this one about Chrome OS and all I can think about, and this goes for any cloud based web apps in general, is how I wouldn’t trust anyone with all of my data, especially if they were going to stick it on a server in the middle of <insert name of your favoured supreme cosmic being> knows where. Am I alone?
So today I found myself fighting against the short comings of Qt 3.3.8, I should point out right from the off that I am fully aware of the existence of Qt 4.5.x (Mr Pandy is performing a port to 4.5.1 as I type), but for the project I was working on I had to use 3.3.8. I wanted to draw some QWidgets on to a mainly black, but multi coloured background without losing the nice curved corners. I am sure some of you are thinking that this sounds easy, but it is not as simple as you think. Qt 3.3.8 doesn’t support transparent backgrounds; the way in which the curved corners are achieved in standard Qt 3.3.8 GUIs is to ensure that the background colour of the widget matches that of the widget it is being placed on to. Setting the background colour of the widget to black worked for the most part, but not for the non black parts of the GUI where the black pixels in the corner of each right angle alerted everyone to their presence.
I subsequently discovered the real kicker to this conundrum was that only QPushButtons support foreground and background colours properly, meaning that the background colour trick did not work on the other widgets: they turned completely black. My frustration at this point was reaching fever point and my sighs were audible enough for El Jefe to hear them and ask me a question that still leaves me horrified, “I wonder if you can you add widgets to a QPushButton?”. I could see what he was thinking, but I didn’t like it… surely it wouldn’t work… but it did… sort of. The fact that a QPushButton is a QWidget meant that adding a layout and widgets to a QPushButton was cake, creating my own subclass of QPushButton with a custom method to eat any mouse events (
virtual void nomNomNom( QMouseEvent* e ) ) was cake too, but preventing the button from responding to mouse overs like a QPushButton was not so easy. I disabled the button to prevent it from responding, performed a switcheroo on the active and disabled colour palettes, compiled, ran the code and discovered that disabling the button had Haitianed it – it had forgotten how to perform the foreground-background trick and it turned black too!
I’ve seen this story covered in a variety of places and I couldn’t be feeling less sorry for the numpties that jailbroke their iPhones and didn’t change the root password. It’s Darwinian theory for the digital age.
On an almost related note, I recently sent Tim Weber, Business Editor for the BBC, an email about an article he wrote declaring that Snow Leopard had been botched by Apple, without providing the slightest suggestion of why. I got a response, but it was decidedly stock and decidedly aggro, I guessed that a lot of people had emailed in to make the same point that I made. Looks like I was right as in a recent article about Windows 7 he wrote “The upgrade process, while much improved, is clearly still fraught with dangers. And yes, one could call it botched”. Power to the people [and the beats].