It’s very annoying to have the master password dialog pop up every time you visit a site that has its password stored by Firefox. Let’s say that I want to browse reddit: when I open a reddit page, the master password dialog pops up. I don’t want to login, so I cancel the dialog.
Then I see an interesting story and open it in a new tab. Here comes the master password dialog and it gets killed again. Now I use the new tab to surf to /r/cpp. The master password dialog cheerfully strolls into view.
Popping a dialog when the user selects a user name filed would be better, as it avoids leaking membership information when visiting a web site. I would also like to see this dialog redesigned – right now it’s a simple application-modal message box with an editor widget in the middle. If you have ten tabs open and you open another tab to a site that has its password stored, you won’t be able to interact with any of the tabs until you either enter the master password or dismiss the master password dialog.
C++ is thriving in 2010
Another Linus Torvalds C++ post is making the rounds on the interwebs. Open any site like reddit or Hacker News and you’re bound to find someone cursing at C++.
Despite them – in the real world – more people are using C++ and the language itself is getting better:
- Compiler and tool support is better than ever.
- The C++0x FC draft is out, and the big C++ compilers already implement a significant part of it. It brings a larger standard library, better performance, more functional programming, easier syntax for some operations and improves the type system.
- With Qt, C++ has access to the equivalent of the .NET libraries or the Java class library. Free and open source.
- It’s available on even more platforms: Symbian and Maemo/MeeGo, and even Android or iPhone.
C++’ers gonna C++ and haters gonna hate… :)
Getting rid of the Nokia Qt SDK warnings
When the SDK beta came out, I posted a topic on Forum Nokia about the warnings emitted when compiling Qt Symbian programs. I also opened a bug report in the Qt bug tracker at the suggestion of Christian Kamm, but the warnings come from the Symbian headers, so it is unlikely that the Qt team can do much about it.
Here’s a workaround:
- Add the flags -Wno-attributes -Wno-parentheses to the Symbian compiler flags. This will fix the dllimport warnings and the “recommend parentheses around…” warnings. e.g: symbian {QMAKE_CXXFLAGS += -Wno-attributes -Wno-parentheses}
- Edit the file e32cmn.inl and replace the C-casts at the warning lines with reinterpret_cast. e.g: (const TSecureId&)iId will become reinterpret_cast<const TSecureId&>(iId). The conversion seems to be correct, even though the implementation is hack-ish.
In one project – after doing the two changes outlined above – the warning count was cut from ~4000 to about 41. There weren’t 4000 real warnings, more like ~100 but Qt Creator counts each warning line as a warning (this might be a bug).
The remaining warnings were:
- d32locd.h:189: warning: invalid access to non-static data member ‘TLocalDriveCaps::iSize’ of NULL object
- d32locd.h:190: warning: invalid access to non-static data member ‘TLocalDriveCapsV3::iFormatInfo’ of NULL object
- openfont.h:2549: warning: invalid access to non-static data member ‘COpenFontRasterizer::iDtor_ID_Key’ of NULL object
- openfont.h:2571: warning: invalid access to non-static data member ‘CShaperFactory::iDtor_ID_Key’ of NULL object
- biditext.h:12: warning: declaration ‘enum CGraphicsContext::TTextAlign’ does not declare anything
1-4 seem to be related to the use of the _FOFF macro., but I didn’t do any detailed analysis.
It’s late at night and I’ve just found out some news about the subway worker’s strike in my city. A friend of mine will use the subway tomorrow to go to work and I want to tell them about it. Problem is, they’re already asleep.
I know – I’ll download a SMS scheduling app from the Nokia Ovi Store, type the message and the app will send it tomorrow morning, just in time for my friend to read it.
My Ovi client doesn’t work any more after the latest E72 update, so I use the native browser. It goes like this: I open the Ovi website and search for “sms schedule”. Nothing. I search for “sms scheduler” and check the three relevant results. On a second look, it’s the same app with three different prices.
They have the same description too, so I give up and just pick the second most expensive. “Want to send a Time Based SMS to be Sent Later? Write it now & Forget it! It will be Auto Sent.” Who are these guys? I visit their website and discover that they are one of the “Largest Developers of Mobile Applications in the World”. And they like to randomly capitalize words.
A few searches later I find another scheduler app and open its description – “The application will silently assist you and won’t bother when you have limited time. You’re able to create and manage short messages in an ordinary way.”
I decided that it’s safer to wake up in the morning to tell my friend about the strike.