Author Archives: Mika

Farewell to this blog

I no longer write Symbian code, work as a CS researcher and might not even be quite as angsty as before. I’ve written a post-mortem on the technology that was Symbian. New blog posts will live on my new blog. … Continue reading

Posted in Symbian | 2 Comments

mkswigfile: easy loading of C++ code into clojure, like mkoctfile

Octave has mkoctfile which allows you to load and reload C/C++ code into the environment. Java has JNI and with SWIG it’s fairly easy to access code written in C++, but there’s no built-in hot loading for clojure. The code … Continue reading

Posted in Uncategorized | Comments Off

Debugging crashes in JNI code on windows

If you run into an access violation in your native code called from java you normally get a hs_err_pid<pid>.log file that may or may contain a usable stack trace. This text is about how to do better than that: launch … Continue reading

Posted in Uncategorized | Comments Off

E32USER-CBase 65 misdocumentation

The SDK documents E32USER-CBase 65 as The panic is raised as a result of a call to the Pop() and PopAndDestroy() static member functions of the CleanupStack class. The panic occurs when an attempt is made to pop more items … Continue reading

Posted in Symbian | Comments Off

My Phd thesis is on sale on amazon

I wanted to play with Amazon’s seller side and the only thing I could reasonably put up for sale is my thesis, Exploring privacy for ubiquitous computing: Tools, methods and experiments (I, like many Finnish PhDs, have a stack of … Continue reading

Posted in CS, Privacy | Comments Off

Inspecting UI state / windows /controls on Symbian

On Win32 and other windowing systems you can walk the window tree and ask windows for their type, state, contents etc. On Symbian there is no such built-in introspection. However, it is possible to get access to a lot of … Continue reading

Posted in Symbian | Comments Off

Symbian HTTP POST and KErrCorrupt

This is something I guess everybody who writes a HTTP POST using MHTTPDataSupplier goes through… (at least that’s what it looks like on the forums). I didn’t find a clear answer so I thought I’d write it down myself. GetNextDataPart() … Continue reading

Posted in Symbian | Comments Off

Example SConstruct for googletest + tip on UI tests

This slots into a project based on hello_openc from scons_symbian import * target = “googletest_main” targettype = “exe” libraries = ['libstdcpp', 'libc', 'euser'] # Static libs staticlibs = ['libcrt0.lib'] uid3 = 0xA0001314 sources = ['../src/googletest_main.cpp', '../../../third_party/googletest/src/gtest-all.cc', '../../../third_party/googletest/test/gtest_unittest.cc'] includes = [‘../data’, … Continue reading

Posted in Symbian | Comments Off

Heap/leak checking googletest tests

Leak checking is part of good programming practice (as leaked objects normally point to bugs in general). Symbian has its leak checking macros, but they aren’t completely trivial to use with Googletest (googletest has been designed with a whole-program reachability-based … Continue reading

Posted in Symbian | 3 Comments

Googlemock 1.4.0 works on Symbian!

Googlemock – arguably the best C++ mocking framework now works on Symbian (winscw and gcc-e – I haven’t tried rvct). Although I’m obviously biased I really recommend it for all your mocking needs. Requires a recent OpenC. If you have … Continue reading

Posted in Symbian | Comments Off