Picture of gears

EverSystems stands for master software development. A breadth of experience ensures we can implement your project, regardless of how complex or challenging. Where other teams fail, we succeed.

  • Solid technical solutions in any programming language
  • Competence in Mathematical and Financial systems
  • Network, Server, Peer-to-Peer and Distributed platforms
  • Web and Standalone Client applications
  • Simulation, Science and Analysis
  • High quality maintainable projects

You have a dream system. You want dream developers. You need us.

Articles and Announcements

Please refer to mortoray.com for an ongoing series of articles.

How does a mutex work? What does it cost?


Concurrent programming requires synchronisation. We can't have more than one thread accessing data at the same time otherwise we end up with a data race. The most common solution is to wrap the critical data access in a mutex. Mutexes are, of course, not free.

Read Article...

How Polymorphism Works - Part 2 - Virtual Table


In the article on "How Polymorphism Works: Part 1" we learned how to create virtual functions. The method which we chose has at one significant problem with it: it requires a lot of memory and repeated initialization.

Read Article...

How Polymorphism Works


Polymorphism: the core of object oriented programming. Most modern languages have some concept of interfaces, virtual functions, and classes. Though each language differs in details, and may have specialized concepts, the core idea remains the same.

Read Article...

What is an atomic operation?


We all know that operations in a computer happen one after the other. Having multiple CPUs and instruction reordering tends to obfuscate the issue. Technically things still proceed in an orderly fashion, but logically the interleaving of instructions and memory may seem perplexing.

Read Article...

CPU Memory - Why do I need a mutex?


Multi-threaded programming calls for semaphores, synchronized blocks, mutexes, or whatever your language happens to call them. Most of us basically understand why we need them: to prevent multiple-threads from accessing the same memory.

Read Article...