• The World’s Top 12 Quantum Computing Research Universities

    In just a few years, quantum computing and quantum information theory has gone from a fringe subject offered in small classes at odd hours in the corner of the physics building annex to a full complement of classes in well-funded programs being held at quantum centers and institutes at leading universities.

    The question now for many would-be quantum computer students is not, “Are there universities that even offer classes in quantum computing,” but, rather, “Which universities are leaders at quantum computing research.”

    We’ll look at some of the best right now:

    The Institute for Quantum Computing — University of Waterloo

    The University of Waterloo can proudly declare that, while many universities avoided offering quantum computing classes like cat adoption agencies avoided adoption applications from the Schrodinger family, this Canadian university went all in.

    And it paid off.
    Read more →
  • Service for Active Restore or the Story of an Industrial Project at Innopolis

    • Translation
    Hello, Habr! My name is Roman. Today I would like to share a story of how we at Innopolis University developed a test stand and a service for Acronis Active Restore system, which will soon become part of the company’s product range. Those interested to know how the University builds its relationship with industrial partners are welcome to click the «Read More» button.

    Read more →
  • How I fix cups-printing in Buildroot



      Like I said earlier in previos articles, Buildroot is a great system for embedded Linux development. But sometimes strange things can happen.

      Once upon a workday, I got the following task: add printing system in firmware (Kraftway terminal Linux next generation). Ok, so I had to add cups + cups filter and to build firmware. I set a postscript-printer and got an error "Filter failed". Trivial tasks turned into serious work.

      In this article, I wrote my own way of solving this problem. It may be useful for other developers and IT-specialist and, also, for a deeper understanding of the Buildroot.

      If you are a Buildroot beginner, I recommend reading my previous articles.

      Update 1 may 2020

      Revisioned versions of this patches applied to master.

      Read more →
    • What are the security issues in using Zoom video conferencing: A guide to zoom alternative options

        As much of the world works from home amid COVID-19 lockdowns and ‘shelter in place’ restrictions, video call and conferencing apps have experienced a significant surge in user numbers. From top business executives to scientists and government officials, the employed across industries and roles have moved operations online and onto video conferencing apps such as Zoom.

        The dark side of this change is that video calls have also become a playground for phishermen and ‘Zoombombers’. This development was recently experienced by Zoom users, who took to the internet to allege that Zoom vulnerability windows were compromised and ‘Zoom is not safe to use’.

        In March alone, the number of Zoom users saw a whopping 535% increase, with its iPhone app being the most downloaded for weeks at a stretch. However, reports of security disasters and Zoom privacy issues saw the brand’s credibility snowballing at an alarming pace. Despite the company CEO stepping up to the plate and ramping up privacy measures, professionals continue to debate on whether the Zoom privacy and security issues, that risked data of millions, can be quickly resolved.

        What went wrong?
        Read more →
      • Custom instruments: When signpost is not enough

        • Tutorial
        In our previous article, we discussed the reasons of unit-tests’ instability and how to make them stable. Now let’s look through a new tools for debugging and profiling which were introduced by Apple in iOS 12 — the framework os_log and instrument for performance analysis os_signpost.


        In one of the sprints, we were tasked with implementing the generation of a pdf-document on the client-side. We completed the task. But we wanted to make sure the effectiveness of the technical nuances of the decision. Signpost helped us with this. Using it we increased he document’s displaying speed several times.

        To learn more about os_signpost application technology, see where it can help you and how it has already helped us, go further forward.
        Read more →
      • An MVP concept and why you need it

        • Tutorial

        Many corporations today only a few years ago started their business with MVP. The only MVP allows you to take a look in a very short period how your business will move. By this way, you can notice at the first reaction of the target audience, see all the shortcomings, and exactly decide how to proceed further: develop the idea and invest in or completely modify it in an absolutely different product.

        Read more →
      • AdBlock has stolen the banner, but banners are not teeth — they will be back

      • 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 →
          • Programatic content marketing in the B2B segment

            Good content makes customers loyal, forms a positive brand image, and raises sales in the long term. But it only works if content reaches its target audience. To bring together prospective clients and relevant messages content marketing platforms are used. Learn how they can improve campaigns of marketing agencies, media buyers, and companies.

            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 →
            • COVID YAAA! or Yet Another Analyze Attempt


                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?
              • 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 →
                  • 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 →
                  • «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 →