Skip navigation.

Ambassador

The Royal C++ Embassy

There is some really cool stuff going on here!

, , , ,

It's been awhile I have moved to another branch in devices department, I am not a part of Windows Mobile team for sometime, although I still live in Windows Mobile team's habitat. I and some more coworkers here do some really cool stuff. What we do is secret :smile:, but really cool stuff.

As you can see from Opera Job Openings, we are running on Windows CE as well. Windows CE is not a Windows XP, as you may already know. This sometimes requires tremenedous amount of work to be done to get a product equivalent to desktop quality - it's a real challenge. In other words, writing serious portions of Win32 API on Windows CE. There are some pitfalls at this re-invention (or porting, or you name it) work. Because there are functions and arguments declared in SDK but are not actually supported on Windows CE. There are functions that do not run like their Win32 equivalents. This requires developer to re-refresh his or her knowledge about Win32 API functions and WinCE API functions. There are lots of stuff to care about on Windows CE - it's a real-time operating system, it's got less memory, less storage, slower CPU, turns out a tough job. So we should be far more careful about resource management, such as threads, messaging, painting, allocations and similar stuff than desktop developers. I don't say they don't respect such issues, but what I am saying is we, for example, should certainly avoid thread thrashing.

Do you think Opera does not care about COM (Component Object Model)? Largely true :smile: but if you are dealing with Windows, you need to get your feet wet in COM sea. We do some really cool stuff with COM, too. It becomes even more fantastic on devices, since COM is more restricted and minimalistic than desktop or server operating systems.

These are "real engineers" - not just graduates! Few days ago, a group of developers and QA people were talking about new coffee machine. Well, new coffee machine is not your father's coffee machine - it's huge and has got an LCD screen, giving all possible information about the status. This, of course, has grabbed attention and people started wondering complexity of coffee machine. I stood a few steps behind the investigation team, with a cup in my hand, waiting for them to complete their job. I actually thought they are awaiting to get coffe. There are two coffee "outputs" and one hot water output from the "device". Then I have realized that they actually are pressing buttons, reading screen and taking closer look at it! Fortunately, investigation team has received a critical advice; "do not test a coffee machine with standing that close and no cups" from an elder. Filing a bug report about new machine may look like:
Summary: Over-complicated coffee machine for average user 
may cause serious injury.
Module: coffemachine
Module Owner: Opera
Description: When user stands too close to the device 
and watches LCD screen after pressing buttons, coffee
 machine may spray 120 degrees hot water out, which 
could cause severe damage on the user.
Repro: (Do not stand too close to the machine before 
starting test.) Ensure there is no cup "plugged to 
coffee output", Press the button in the middle, press
 the red button.
Resol: Don't play with buttons, and if you do, place 
a cup - just in case.


Fortunately, coffee machine does not hurt anybody without his/her intervention. But I certainly would not want to experience "crash of coffee machine".

Using COM to build an extremely flexible application (framework)Some aviation stuff

Write a comment

You must be logged in to write a comment. If you're not a registered member, please sign up.

Download Opera, the fastest and most secure browser
December 2009
S M T W T F S
November 2009January 2010
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31