3 easy steps to improve quality of your concurrent programs

February 12th, 2014 No comments

Weinberg’s Second Law says that if builders built buildings the way programmers wrote programs, the first woodpecker that came along would destroy the civilization. In practice it means that any software has to be tested very carefully to fix bugs in it in the earliest stage of its lifecycle.

Rapid expansion of multicore and multiprocessor systems makes software developers write parallel programs to use system resources as efficiently as possible. And here another big hazard is hidden – errors, related to incorrect usage of multiple threads of execution. On big production servers it’s a much bigger threat than it seems, because the program code is physically executed on different cores or processors, and concurrent issues arise in their full capacity. Most well-known problems of such a kind are deadlocks and data races. All concurrent issues are hard to detect manually or by testing, because their nature is essentially nondeterministic. Data race detection is an especial issue, because the effect of their occurrence may become apparent much later. When a data race occurs, global data are corrupted, but the application itself doesn’t halt, it continues to work with incorrect data, and who knows when one would notice it. Data races may be really dangerous – e.g. data race was the cause of accidents with Therac-25, the radiation therapy machine, that gave massive overdoses of radiation to six patients. Also data race was one of the causes that led to the Northeast blackout of 2003 that affected more than 50 million people in the US and Canada.

Good news Read more…

Interview with Roman Elizarov – director of ACM ICPC finals 2013

July 17th, 2013 No comments

Roman Elizarov – Devexperts Board member and Projects Coordinator, Director  of ACM ICPC contest finals 2013 shares his experiences of the ACM ICPC contest finals organisation. ACM International Collegiate Programming Contest (ACM-ICPC) is an annual multi-tiered competitive programming competition among the universities of the world.  The contest fosters creativity, teamwork, and innovation in building new software programs, and enables students to test their ability to perform under pressure. Quite simply, it is the oldest, largest, and most prestigious programming contest in the world. Roman is not the only person in Devexperts, who is concerned with ACM ICPC, but the most known one.

I would like to start this interview with congratulations. Participants and guests appreciation of ICPC finals contest organisation is very high. Do you feel that your efforts have been rewarded by everybody’s recognition?

Yes, it was an extremely rewarding experience. It turned out much more rewarding than I had anticipated. Read more…

Categories: Devexperts Tags:

Millions quotes per second in pure Java

April 19th, 2013 2 comments

“Millions quotes per second in pure Java”

Writing software that works under high load is an art that requires a lot of skill, regardless of the programming technology that is being used. Java platform is an ideal choice to create big and complex software systems because Java is the most popular programming language, has the largest talent pool, and its features, tools, libraries, and community around it provides for the highest development productivity. There is a great deal of the criticism about Java performance that you can find on the web. But, as numerous academy research had shown, the performance of the software code strongly depends on the skills of the authors who had implemented the code and much less so depends on the technology that was used for its implementation. Of course, each technology has its strong and weak points. For example Read more…

Categories: Devexperts Tags:

Using HTML5 for developing mobile applications

March 6th, 2013 1 comment

I’d like to dedicate this post to Mark Zuckerberg, even though I fully realize he doesn’t care at all. But still his famous quote with regard to HTML5 being very impactful started many discussions and changed the way how a lot of people saw the mobile technology landscape at that moment.
He’s usually quoted like this:

“When I’m introspective about the last few years I think the biggest mistake that we made, as a company, is betting too much on HTML5 as opposed to native… because it just wasn’t there.”

Read more…

Approaches towards workspace organization in the modern trading software UI

November 16th, 2012 3 comments

Users of modern trading platforms demand complex features and flexibility for their day-to-day tasks, and it is the UI designer’s job to satisfy those needs. This article gives a brief overview of some modern approaches towards workspace organization for complex user interfaces.

On the surface, trading seems like a no-brainer from the user interface standpoint: all you need is to buy low, sell high, and some enthusiasm in trading to to make your billions.

In other words, the tasks that a user needs to complete within a trading platform, are:

• Determine an object to buy or sell (this object is usually called an instrument)
• Determine the time that is best to buy or sell
• Perform the buy or sell
• Monitor the impact of the transaction on your account.

It seems easy enough. A user interface that would make this simple-minded trader happy would then look like this.

mockup

UI done! Piece of cake, wasn’t it? However the trading process and a workable UI design for it is not that simple. Read more…

Categories: Devexperts Tags: , , ,

Testing: four points you have to check before pay.

November 2nd, 2012 No comments

When most people think about Information Technology they usually mean software development, network maintenance or database administration activities. They usually forget about the mediator who is involved at every stage before the final product is sent to the client. This mediator is the test engineer.

Testing can be implemented in different ways, ranging from the single developer who verifies their own code, to a team of professionals that work with automated testing scripts and create specialized testing tools for specific needs. Read more…

Categories: Devexperts Tags: , ,

Devexperts – the new phase in platform development

October 19th, 2012 No comments

Interview published in ForexMagnates Quarterly Market Report For Q3 2012

The online foreign Exchange trading market has been dominated by a handful of trading platforms. Brokers who entered the markets in the early 2000’s started off with their own unique proprietary platforms, as the market grew and expanded the whitelabel concept flourished and new firms were setting up using existing off the shelf technology which was the standard in the market. Devexperts a financial technology firm had developed custom trading platforms exclusively for a couple of clients in financial derivatives (outside Russia). Those plat forms have been very successful and came with a wide range of useful features from a trader and broker perspectives. Read more…

Categories: Devexperts Tags: , , , ,

How to choose a monitoring system for your IT infrastructure?

September 12th, 2012 4 comments

Selecting a monitoring system is hard, but there are just four important questions which could simplify this work.

The first question to be answered when choosing a monitoring system is, “What problem do I want to solve with it?”

For example:

  • I have a lot of servers, databases, and other equipment in the network, but I do not have a way of monitoring them of monitoring the overall system;
  • I provide a service to my clients, but the only way of knowing about problems are when they are reported by the clients themselves;
  • I try to monitor their IT infrastructure through the use of a lot of different specialized software that requires a lot of specialists to support;
  • I have a monitoring system, but am unhappy with the cost / quality / functionality.

Clearly articulate the answer to this first question and you can move on.

Read more…

The Agile approach in software development: why should you care?

July 26th, 2012 2 comments

Our highest priority is to satisfy the customer through 
early and continuous delivery of valuable software.
Manifesto for Agile Software Development, 2001

In recent years, Agile methodology has become increasingly popular in the software industry. The reason is simple— the Agile approach results in increased customer satisfaction. As a consequence, this increases the competitiveness of the development company, and both sides win. As the software market continues to develop and software products and technologies keep expanding into more web and mobile applications, there is a rapidly increasing demand for functionality and quality in developed software, time-to-market and speed of response to customer’s needs. These days customer of software development services can no longer afford himself to ignore the question of how organized the production process is in the development company so that they can know what to expect and when. So, what does “Agile” mean in software development? Is this just another buzzword, or a real chance to meet these new challenges? How it can affect the customer’s business and their ROI? Let’s examine this in more detail.

Read more…

All Power to Engineers

May 30th, 2012 No comments

Andrey Annenkov, Ph.D. in Technical Sciences, independent IT analyst, for RIA Novosti.

The ACM-ICPC (Association for Computing Machinery International Collegiate Programming Contest) sponsored by IBM was won by the Russians yesterday.

Here are the final results. To make sense of this table is more difficult than to understand than the scoring used in football, as the ICPC scores not only goals (problem solved) but also takes into consideration the time spent, the number of failed attempts and the efficiency of the code itself. But, as in any sport, victory is what counts. Among the twelve winners, three were our teams (the ICPC awards four each of gold, silver and bronze medals).

The Saint Petersburg State University of IT, Mechanics and Optics (ITMO) was the grand prize winner. Gold was also awarded to the Moscow Institute of Physics and Technology (MIPT), and Moscow State University (MSU) received bronze. Saratov State University placed 13th, being just one step away from medals, but still a step ahead of Stanford.

Read more…

Categories: Devexperts Tags: