> On this page...
> Archive
> Categories
> Search
> Archives
| | Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|
| 29 | 30 | 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 | 1 | 2 | | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
> Links
|
1) In Visual Studio, click on “Tools.” Then click on “Connect to device.”
In the “Connect to device” window, select the emulator
desired, such as Pocket PC 2003 SE Emulator. Click on the “Connect” button.

You
will see the “Connecting …” window. If everything is OK, you will see the message
“Connection succeeded.” Click on the “Close” button.
2) In Visual Studio, click on the “Tools” button. Then click
on “Device Emulator Manager.” In the “Device Emulator Manager” window, you will
see the Datastore tree with the emulator selected. The selection is marked with
the green arrow:

3) Right click on the selected emulator and choose
“Cradle.” This imitates putting the device on a cradle:

4) After this, the ActiveSync will run and allow you
to set up a partnership. If you do not have the program, you can download ActiveSync.
Select “Guest partnership” to avoid synchronizing with Outlook. Click on “Next.”

After this, ActiveSync gets connected to the emulator:
5) Go to Windows Explorer, copy the your_application_title.cab
file and paste it in My Windows Mobile-Based Device.

You will see the ActiveSync message:

Click on OK to copy the cab file onto the emulator.
6) On the emulator, go to “Start,” then “File Explorer.”
In the “My Device” folder, you will see the your_application_title.cab file. Click
on it to install the application in the “Program
Files/Your_application_title” folder. 
7) On the emulator, go to the “Program
Files/Your_application_title” folder and click on the application icon.
The application is running.
If you do not have Device Emulator
Manager in the Visual Studio Tools menu,
you can run it the following way:
- In Visual Studio, click on Tools
> External Tools. Click on the “Add” button.
- In the Command box, use “…” to locate and select “dvcemumanager.exe.” By
default, it is installed in the “C:\Program Files\Microsoft Device
Emulator\1.0\” folder.
- If you do not have Device Emulator, you can download Device Emulator
version 1 and Device Emulator version 2.
There is a well-known problem with exceptions in C++ constructors. Only
objects that are constructed completely are deleted in C++. Usually, the
developer is supposed to take special measures against the possible memory
leaks. So let us look into what Symbian offers and what else can be done to
solve the issue.
Suppose, there is a class:
class Container
{
public:
Container
()
{
thePart1 = new Part1();
thePart2 = new Part2();
};
~Container()
{
delete thePart1;
delete thePart2;
};
private:
Part1
*thePart1;
Part2
*thePart2;
}
If object c of the Container class is being created as a local object:
void test ()
{
Container c();
…
}
and the exception arises on c
construction, then c’s destructor is not
called.
The results are that Part 1
and/or Part 2 are not deleted, and a memory leak takes place.
Symbian proposes
to push the pointer to the newly created object onto the special stack – the
so-called clean-up stack. In case of an exception, the clean-up stack is
unwinded, and every pointer on it is deleted. So we could redesign our
constructor the following way (for Symbian):
Container::Container ()
{
thePart1
= new Part1();
CleanupStack::PushL(thePart1);
thePart2
= new Part2();
CleanupStack::Pop(thePart1);
};
Of course, it works and looks better than:
Container::Container ()
{
try{
thePart1 = new Part1();
thePart2
= new Part2();
}
catch
(…)
{
delete
thePart1;
delete
thePart2;
}
};
But it could be made easier and more elegant by changing the pointers
to smart pointers:
class Container
{
public:
Container
()
{
thePart1 = new Part1();
thePart2 = new Part2();
};
~Container()
{
//
nothing to do!!
};
private:
auto_ptr<Part1>
thePart1;
auto_ptr<Part2>
thePart2;
}
Thus, we decrease the risk of memory leaks on exceptions. At the same
time, we don’t have to release our resources in the constructor. It seems like
we don’t need to use CleanupStack in Symbian at all – just develop an auto_ptr
class instead:
template<class T>
class auto_ptr
{
public:
auto_ptr
(T *p = 0): ptr(p) {}
~auto_ptr()
{delete ptr;}
private:
T
*ptr;
}
Murano Software teams are comprised of dozens of skilled and
experienced engineers. Every day, they face new challenges while developing our
clients’ software products. The ability to find the right solution to a problem
is one of the crucial elements that influence performance, readability,
scalability, completeness and other qualities of a software product.
Since there are a lot of technology companies among Murano
Software’s clients, the ways that our engineers solve diverse issues can be of
high interest to our readers. We will cover the challenges with .NET, Java, Ajax, Ruby on Rails,
SharePoint and other
technologies.
You are welcome to comment on the posts. Our
developers will be happy to share their experiences and discuss the issues.
Today, we start with Exceptions in Symbian C++
Constructors.
In the IT sphere, high quality of a product heavily
depends on the abilities of its creators. According to many analysts, the
number of companies that decide to outsource their search for high quality
developers is increasing. That is why we will start our blog post series by
looking into the quality of the technology resources that can be found in
Russia.
As the Business Line columnist Vipin V. Nair
notices, “Russia draws its software strength from its enormously talented pool
of people.” In Russia,
the abilities of IT developers are significantly enhanced by an extremely
strong educational system, which is recognized all over the world. While, for example,
“In India, students learn generic software skills, Russian students are taught
advanced mathematical and computing techniques, which allows them to perform
hard-core technical work,” says Vipin V. Nair. More than 40% of university
degrees in Russia
are in technology and science.
Russian software companies do not miss the opportunity
to leverage that great manpower. According to a research paper by Market-Vision
/ EDC,
77.4% of Russian software companies employ PhDs, and in 45.8% of those
companies, PhDs make up 10% or more of their staff. So by dealing with Russian
outsourcing vendors, you get the opportunity to benefit from employing these
highly educated engineers.
Russian developers’ strengths are recognized by local
market tech circles and global ones as well. A 2006 study by the FCREUE, the Haas School
of Business and the UniversityCalifornia concluded,
“In terms of education and experience with complex software development tasks,
Russian programmers are likely to outrank all others.”
of
Most analysts stress that very capability of Russian
developers to manage tasks of high complexity and to find fresh and
groundbreaking solutions to knotty problems. “Exceptionally well-educated
developers who can perform extremely complex jobs, and a great understanding of
engineering and financial services domains, are core strengths of Russia's
outsourcing industry,” remarks William Martorelli, principal analyst at Forrester.
According to another study run by by Ernst &
Young, Russia beats several other outsourcing locations in terms of skills and
training of its IT workforce. You can see Russia’s top position from this
table. 
One of the ways for specialists to prove their
knowledge and skills is to partake in high-profile contests. Russian technology
students regularly win international programming contests. Russia has won
the world's most prestigious competition, the Association
of Computing Machinery (ACM) International Collegiate Programming Contest,
5 times over the last 10 years. For comparison, the USA
has taken the first place only once over the same period, while India has not
appeared on the top of this contest at all.
When reading this article, you may think, “Well, the
Russian resources are talented, but their number is probably more limited to
choose from, than, for example, in India.” Then here is some data for you. As
it is written in the paper on BRIC layers by Economic Research from the GS
Institutional Portal, Russia,
being almost 80% smaller by population than India,
its main competitor, produces even more tertiary graduates (16,765 graduates in
Russia to 16,095 in India). In per
capita terms, Russia has by
far more graduates when compared to India
(115 graduates per capita in Russia
to 16 graduates per capita in India).
As for technical PhDs, Russia has almost as many of them as Germany does and
even in absolute terms leaves India far behind (about 12,000 technical PhDs in Russia to about 5,000 of
them in India). Russia also
outranks India
in the number of workers with tertiary qualifications in science and
engineering. Thus, you are sure to find in Russia enough
specialists for all your projects to be realized.
Nowadays, Russia is increasingly considered one of the most attractive outsourcing destinations. SAP, Microsoft, IBM, Google, Boeing, Motorola, Reuters and IBM are only a few of the many global companies that employ local engineers and set up development centers in Russia. eWEEK named the Russian outsourcing industry as one gaining maturity and showing promise. The Indian outsourcing industry has to watch out, Business Line warns. Russia attracts technology outsourcing buyers, global companies and start-ups for a number of reasons.
The most substantial reason is a wide pool of talent with a high level of proficiency in diverse realms. “High-level thinking, strong English skills among key staff and executives, and a desire to break new ground on leading-edge projects are intrinsic to the Russian developers," says the eWEEK columnist Stan Gibson. This benefit is successfully combined with the lower cost and attrition rate that Russia offers.
There are also secondary factors that influence tech directors’ decision to outsource software development projects to Russia. Among them is cultural affinity of Russians with Americans and Europeans, the individual approach of Russian companies toward clients, the creativity and collaborative thinking of Russian developers, the Russian government’s new positive attitude toward offshore software development.
These factors can greatly influence your choice of where to assemble your offshore software development team. To make your choice easier, here, in our blog, we will publish a series of posts casting light on the reasons for outsourcing to Russia.
We are constantly improving our Web site to show you
the essence of Murano Software. But how can you understand what the
company is like if you don’t see its brains and soul: the specialists?
When
working with clients, technology capabilities and services play a
great role, but the most important thing in software outsourcing is the people
who conduct the development process. Сhoosing the software development partner
across the ocean and time difference, you probably would like to know who stands
behind the company and drives its success.
Please visit the new section on our
Web site – Our
Team-Photos – to see some of the developers who turn the program code
into the software solution for our partners’ businesses. There you can find
photos of our working activities, corporate events and major holidays. We tried
to show you the most memorable moments of company’s life and some personalities
that stand behind our success.
“McKinsey Quarterly” asserts that despite that the Chinese and Indian economies develop rapidly, their economy systems have strong barriers to growth. At first sight India and China are very different: China’s main traits are a powerful banking sector and larger population while India’s strength is its equity market. Their financial systems also have different histories and evolutions. India’s financial and economic systems formed when they were still a part of the British Empire. Their strong banking system is mostly due to Britain. China’s financial system formed in the second part of the twentieth century when its government proclaimed a liberal course of economic development.
These two different countries with their differing economic systems have one common trait: a strong government sector that allows authorities to intervene in market evolution and influence the allocation of capital. As a result economy growth slows down. Chinese state-owned enterprises receive the lion’s share of investments in order to fulfill the plan of employment. The Indian government expends large sums for development of agriculture and the defrayal of the fiscal deficit. In return private companies of both countries receive less investment and hold in the development. McKinsey suggests that China and India should create innovative financial systems that will increase efficiency and widen investment opportunities.
Different sources prove that Russia has a strong private sector and rich opportunities for investment; so many analysts suppose that this country is safe from crisis. Further development of the Russian economy may be reached by professional management, the growth of productivity and nonintervention of government. Russia has major potential of growth, especially in the IT sector that grew by nearly 20% in 2006. In absolute indexes Russian IT market yields to China and India in this industry. On the other hand, the IT sector, especially offshore outsourcing, grows rapidly. So in the nearest future Russia intends to occupy the deserved place in this sphere.
One of the studies conducted by Value Leadership Group has proved that Small
and Medium Enterprises (SME) in Europe benefit
from using offshore software development
Some
SMEs are surely afraid of losing jobs if they would outsource development
functions. Despite the fact that this fear exists, the study shows that none of
the companies that took part in the research lost work places. Another important
point is that brilliant IT engineers are in small in number in Europe but it’s possible to find them in the offshore (near shore)
countries, for example in Russia. partners.
Originally offshore software development services were widely used for
low-level maintenance jobs. In recent years we have seen that globalization and
a great increase in communicational technologies has made the world flat and
connecting, putting new meaning into well-known things. The present-day trend of doing small and medium business effectively is using high profile
offshore partners to establish and run a dedicated team overseas. The development teams of suuch partners not
only should do coding, but they should also perform high-level tasks, such as
product design and architecture. Sometimes the entire engineering department
may be located overseas, while investors, top executives, sales and marketing
people would be located in the home country. This refers both to the US and European copmanis.
SME require extremely effective business strategies that create the best
balance between costs and quality.
Who says that SME get significant competitive advantage in the global arena and occupy
the leading position in the market by offshoring? We do say. We can also provide some
examples where companies save their capital and get competitive advantages
if they move part of their value chain offshore.
|