Setting up the S60 SDK for Development

Ever had a problem where your application was running fine on the emulator, but failed to run on hardware? Ran an application on the emulator, but the application exited, without showing any reason? Or perhaps, you expected to see the emulator logs in the debugger window, but they never appeared?

That’s because of rather aggressive approach taken by the S60 SDK installer in terms of disabling emulator diagnostics (most annoyingly, platform security violations, which go unchecked on the emulator by default) and results in unexpected behavior from applications when run on real hardware.

If you already have the S60 SDK installed, its worth checking if the diagnostics are enabled and even if you don’t want them, at least know what options affects which bits of diagnostics.

Continue reading

Disconnecting Distractions

Paul Graham has an excellent article on factors that create distractions, especially the computer, as he points out:

TV is in decline now, but only because people have found even more addictive ways of wasting time. And what’s especially dangerous is that many happen at your computer. This is no accident. An ever larger percentage of office workers sit in front of computers connected to the Internet, and distractions always evolve toward the procrastinators.

The worst aspect of computer based distractions, whether its just plain old browsing or checking the status of your friends on social networking websites is that, its become a seamless experience, because we can do it right in the middle of anything we were doing and it still doesn’t feel like it, as he explains:

Another reason it was hard to notice the danger of this new type of distraction was that social customs hadn’t yet caught up with it. If I’d spent a whole morning sitting on a sofa watching TV, I’d have noticed very quickly. That’s a known danger sign, like drinking alone. But using the Internet still looked and felt a lot like work.

One thing that Paul doesn’t take on directly is the effect of social networking and video sharing websites on encouraging procrastination. To me, they are the single biggest source of addiction for the masses hooked on to the web. What’s even more scary is that increasingly, social networking sites are becoming defacto start pages compared to search engines.

Oh, did I tell you I’m writing this because the mail/calendering client at work, an universally recognized pathetic piece of $hit called Lotus Notes just hung up, prompting me to discard what I was doing and, guess what? I got distracted enough to write a blog entry about it.

Quick Recipes on Symbian OS Released!

Mastering C++ Smartphone Development (Symbian Press)As one of the co authors, I’m really exited to announce that Quick Recipes on Symbian OS has just been released by Symbian Press. According to the official literature,

The book tells you how to start developing C++ applications for Symbian smartphones from scratch and includes recipes that are divided by technology, including graphics, multimedia, location-based services, networking and messaging. Each recipe explains the length of time needed to implement it, and its difficulty level. The task is then explained in detail, and provides snippets of example code. The full sample code is provided for future reference and for use as a starting point in your own projects.

Get a copy from Amazon here, while its hot baby 😉 While at it, have a look at the book’s WiKi page, where you’ll find the recepies(code examples) and the errata.

Happy coding!

35 Useful Source Code Editors Reviewed

Notepad++Smashing magazine has just posted an excellent article reviewing no less than 35 source code editors. Its good to see an article that finally collates the good ones under one roof. Personally, I use Notepad++, which gives you all the facility of UltraEdit(R) and EditPlus(R) for free (open source) and what’s great, its got an extensive collection of plug-ins and an active developer community. And yes, its written in C++ and fast.

Happy coding!

Getting Most out of Carbide.c++ Build System

Carbide.c++ Build OptionsThe Carbide.c++ team at Nokia has just published a series of articles that explains the Carbide.c++ build system in-depth and how to get the most out of it. A recommended read for all developing software with Carbide.c++.

Happy coding!

Ever Wondered What Macros are Defined for your Project?

Carbide.c++ Build ConfigurationA colleague of mine recently popped down at my desk, asking me if there was an easy way to find the macros defined for a Symbian project build configuration. Given that a macro can originate form different places, its not always a easy guess. Of course you can look at the usual suspects, like the HRH file for the platform (\epoc32\include\variant\Symbian_OS_*.hrh) and the MMP file itself for the MACRO directive, but it won’t give you the full list, since the Symbian tool chain will insert its own on top. So how do you get it? Enter Carbide.c++ build configurations.

Continue reading