• About integration tests

      [Previously] I was talking about combinatorial complexity of integration tests in multicomponent systems, so let me remind. Let's build a simple system with only 3 components inside. It can be three independent modules and we want to provide some communication between them (message passing good enough for the purpose of the example) So we have 3! = 6 possible configuration to test. Before going deeper lets see how Quicksort fights a combinatorial complexity.

      [Quicksort] reduces complexity on each pass of a given input. So far so good. Let's imagine example with 10 elements. How many possible permutations do we have? you are right: 10! ~= 3,6 * 10^6. So on the first pass the complexity will be reduced: 5!*5!, on the next pass it will be further reduced till 2!*3!*2!*3!… after logn times we will have 1!*1!*1!...1! = 1 possible position, and our given input is sorted. Gotcha. (attentive reader can mention about worst case scenario of quicksort, but lets discuss it someday) Coming back to our example…
      Read more →
    • A Second Check of Newton Game Dynamics with PVS-Studio

        Рисунок 1

        Some time ago, somewhere on the Internet, I stumbled upon a physics engine called Newton Game Dynamics. Knowing that engine projects are usually big and complex, I decided to check its code with PVS-Studio for any interesting defects. I was especially enthusiastic about this one because my co-worker Andrey Karpov already checked it in 2014 and a second check would be a good opportunity to demonstrate our analyzer's evolution over the past six years. As of this writing, the latest version of Newton Game Dynamics is dated February 27, 2020, which means it has been actively developing for the past six years too. So, hopefully, this article will be interesting not only to us but to the engine's developers as well – and for them it's a chance to fix some bugs and improve their code.
        Read more →
      • Waking up of the sleeping institution: how we taking off training-wheels from Python in REAPER

        • Translation

        Image for taking attention


        About a week I wonder around the idea of this article, mainly, because of missing the content here and tidiness of the coronavirus-themes. But, when robotic-harvester, hacking zip with bitcoins and other cool articles released — I decided not to publish crude material.


        However, unexpectedly today the maintainer of this review hero showed up from the lockdown and, several hours ago reapy v0.6.0 has been published on PyPi. Under the cut — the last change log, which contains (to my pleasure) no line where I have not been involved one way, or another.


        Finally: why reapy is needed and how Python works inside REAPER.

        Read more →
      • Programmatic Content Marketing in the B2B Segment

        Learn how content marketing platforms are used and can improve campaigns of agencies, media buyers.


        What’s Wrong with the Traditional Display Advertising?


        Various advertising formats demonstrate not equal efficiency in the B2C and B2B markets since decisions of private and corporate customers are influenced by different factors. While B2C sales are often driven by emotional aspect, prospects in B2B segment need relevant expert information to initiate a purchase. Since transaction price is high, they make decisions thoughtfully and need more time and data to make a deal. Marketing managers should consider these features when managing advertising campaigns for B2B advertisers.


        Unfortunately, the lion’s share of advertisers still promotes their goods and services through traditional online-display advertising id est banners. Low efficiency of such advertising strategy is caused by two major problems:


        1 — the wrong content
        2 — is shown to the wrong audience


        Let’s talk about both issues in details.

        Read more →
      • Checking the GCC 10 Compiler with PVS-Studio

          PVS-Studo vs GCC 10

          The GCC compiler is written with copious use of macros. Another check of the GCC code using PVS-Studio once again confirms the opinion of our team that macros are evil in the flesh. Not only does the static analyzer struggle with reviewing such code, but also a developer. GCC developers are certainly used to the project and are well versed in it. Nonetheless, it is very difficult to understand something on the third hand. Actually, due to macros, it was not possible to fully perform code checking. However, the PVS-Studio analyzer, as always, showed that it can find errors even in compilers.
          Read more →
        • WAL in PostgreSQL: 4. Setup and Tuning

          • Translation
          So, we got acquainted with the structure of the buffer cache and in this context concluded that if all the RAM contents got lost due to failure, the write-ahead log (WAL) was required to recover. The size of the necessary WAL files and the recovery time are limited thanks to the checkpoint performed from time to time.

          In the previous articles we already reviewed quite a few important settings that anyway relate to WAL. In this article (being the last in this series) we will discuss problems of WAL setup that are unaddressed yet: WAL levels and their purpose, as well as the reliability and performance of write-ahead logging.

          WAL levels


          The main WAL task is to ensure recovery after a failure. But once we have to maintain the log anyway, we can also adapt it to other tasks by adding some more information to it. There are several logging levels. The wal_level parameter specifies the level, and each next level includes everything that gets into WAL of the preceding level plus something new.
          Read more →
        • AdBlock has stolen the banner, but banners are not teeth — they will be back

          More
          Ads
        • COVID YAAA! or Yet Another Analyze Attempt

            image


            Hello, Habr!


            About a month ago, I had a feeling of constant anxiety. I began to eat poorly, sleep even worse, and constantly read to a ton of news about the pandemic. Based on them, the coronavirus either captured, or liberated our planet, was either a conspiracy of world governments, or the vengeance of the pangolin, the virus either threatened everyone at once, or personally me and my sleeping cat…


            Hundreds of articles, social media posts, youtube-telegram-instagram-tik-tok (yes, I sin) content of varying degrees of content quality did not lead me to anything but an even greater sense of anxiety.


            But one day I bought buckwheat decided to end it all. As soon as possible!

            What did you do?
          • Top 5 SMM Tools to Skyrocket Your Social Strategy

              Social media marketing or, simply, SMM is indispensable in 2020. All businesses and personal brands that want to attract user attention should focus on social networks. Moreover, if you want to dominate Facebook, Twitter, Instagram or any other platform, you will need dedicated SMM tools. It’s totally okay to start without them. But any profile that aims at sustainable growth should consider marketing and management software.


              In this guide, we will briefly cover the main categories of SMM systems. Due to a large number of available tools, we just can’t review all of them. That’s why the main section unveils five the most useful and powerful systems for SMM specialists in 2020.

              Read more →
            • What is Reactive Programming? iOS Edition

                There are many articles about Reactive Programming and different implementations on the internet. However, most of them are about practical usage, and only a few concern what Reactive Programming is, and how it actually works. In my opinion, it is more important to understand how frameworks work deep inside — spoiler: nothing actually complicated there — rather than starting to use a number of traits and operators meanwhile shooting yourself in the foot.


                So, what is RxSwift Combine Reactive programming?

                Read more →
              • Does gender segregation in the labor market still persist?

                  Common sense prompts that gender segregation and gender discrimination on labor market have declined. There is a popular opinion that too much is talked about smaller women’s chances to blossom forth at work, while the problem was solved long ago. Actually, women all over the world have the same opportunities as men to get higher education, to hold a supervisor or manager position, to climb the career and salary ladder.



                  The biggest corporations and companies run special programs to shorten gender inequality on labor market. That seems like the evidence: smaller firms try to imitate the policy, and also values, of world famous companies in order to succeed and gain benefit like the second ones do (it is an economic-sociological proved behavior), so in nearest future, or perhaps in present, all players on labor market will popularize the idea of gender equality in all its senses. However, the state of affairs is far from desired. Even if organizations follow gender unbiased strategy, will it solve the global problem of gender inequality at work overall?

                  This is the guest article by Maria Antomony, HSE University graduate student, sociologist and code passionate.
                  Read more →
                • Digital marketing in 2020: marketers increase digital spending despite challenges

                    This article is based on Nielsen annual marketing report. Marketing is continuously transforming, and many marketers are spending more money on digital media. In fact, over half of all advertising budgets in the US are spent on digital marketing. But how can marketers know the efficiency of these new channels?


                    Read more →
                  • Deploying Tarantool Cartridge applications with zero effort (Part 2)

                    • Tutorial


                    We have recently talked about how to deploy a Tarantool Cartridge application. However, an application's life doesn't end with deployment, so today we will update our application and figure out how to manage topology, sharding, and authorization, and change the role configuration.

                    Feeling interested? Please continue reading under the cut.
                    Read more →
                  • Top IT Consulting Companies In India and USA For Tech Professionals



                      The race to become the best IT consulting firm has been at its peak for the last few years. Each and every business requires a top technology consulting company for implementing its IT and development strategy. However, they find it tedious and perplexing to pick one according to their needs, budget, time, and so on; because it can determine the future of their business. And because of an outbreak like COVID-19 existing business continuity plans aren't capable of handling the unknown variables of business. 
                      Read more →
                    • «Build it & Break it»: How some algorithms generate captcha, while others crack it

                      Hello, Habr! Let's me present you a translation of an article "«Ломай меня полностью!» Как одни алгоритмы генерируют капчу, а другие её взламывают", author miroslavmirm.

                      Doesn't matter what kind of intelligence you have — be it artificial or natural — after this detailed analysis no captcha will be an obstacle. At the end of the article, you can find the simplest and most effective workaround solution.

                      CAPTCHA is a completely automated public Turing test to tell computers and humans apart by automatically setting up specific tasks that are difficult for computers but simple for human. This technology has become the security standard used to prevent automatic voting, registration, spam, brute-force attacks on websites, etc.
                      Read more →
                    • About Testing

                        Let's talk about Testing, about unit and integration tests which everyone here, i hope, likes to write.

                        Despite of lots of benefits, tests have two fundamental problems: there is no architecture at all (quality), nobody knows what is the meaning of the quantity.

                        Tests have a cost. Lets imagine dialog between manager and developer:
                        — John, how many hours does it take to implement?
                        — Approximately one week: 1,5 day for task and 3,5 days to write tests

                        So why people write tests? Let's try to build a mental model: we delivered a component, our beta testers found a bug, we wrote tests scenario. So, next time we try to deliver the same component, we already know about bad scenario and have automation to check it. So far so good. Next, we are trying to predict future bugs by writing lot's of tests and cover bad scenarios. Next, we deliver better components, users are happy. Profit. (Despite of all pros, the solution is not scalable — with every new component we will face a reality).
                        Read more →
                      • The Complete List of Video Marketing Tools

                          As of 2020, video marketing is, perhaps, the most popular and reliable way to advance via content marketing. Yes, useful articles, link exchanges, and advertising posts are still useful. However, video content is a much better way to sell your product to users. You can verify this by looking at the statistics, which suggests that in 2021 users will spend an average of 100 minutes a day watching a video. And if this is not enough for you, then polls suggest that about 48% of consumers prefer to learn about new products through video content.

                          Read more →
                        • How HealthTech Startups Are Leveraging Tech To Combat COVID19?

                            image
                            Source: Google Images

                            The world has taken aback through the global pandemic of Novel Coronavirus or Covid19. With the spontaneous outbreak of the coronavirus pandemic worldwide, most of us are self-quarantined and taking precautionary measures. The situation is further amplified with an ongoing economic slowdown.

                            However, our healthcare industries, startups and front-line medical professionals & staff haven't taken a step back in dealing with the pandemic through innovative healthcare measures that can effectively combat and procure ailing patients from Coronavirus outbreak.
                            Read more →
                          • Amid COVID-19 Pandemic, 3D Printing Helps with Medical Equipment Shortage

                              image

                              With medical equipment drastically growing scarce, a number of organizations and enterprises have taken up the development and manufacture of mechanical ventilators, relying on fast production by means of 3D printing technologies. 3D printing is often implemented in the medical field, but now, it's proving to be of great help during the emergency.

                              The first news of 3D printed ventilation apparatus came from Spain (apart from the case of 3D printing of valves at an Italian hospital). Here, we are talking about the so-called Ambu bags — temporary manual ventilators usually applied in the field by, paramedics. A whole consortium was involved in the development of the 3D printed version with the mechanical drive mechanism. The Leitat Technology Center in Barcelona played the leading role; support was provided by the Catalan Health Service, Barcelona's Zona Franca industrial estate, Hewlett Packard Enterprise, and the Parc Taulí Hospital in Sabadell, which houses the Faculty of Medicine of the Autonomous University of Barcelona.
                              Read more →
                            • Active Restore: Can we Recover Faster? Much Faster?

                              • Translation
                              Backing up valuable data is a proven practice, but what if we need to continue work immediately after a natural disaster or other disruptive events, and every minute is important? Our team at Acronis decided to see how quickly we can start an operating system. This is our first post from the Active Restore series. Today I will tell you how we launched our project with Innopolis University, which solutions were studied, and what we are working on today. All the details are under the Cut.

                              image
                              Read more →