• How to choose a static analysis tool

      Tools to improve and control code quality can be a key success factor in a complex software project implementation. Static analyzers belong to such tools. Nowadays, you can find various static analyzers: from free open-source to cross-functional commercial solutions. On the one hand, it's great – you can choose from many options. On the other hand – you have to perform advanced research to find the right tool for your team.

      Read more
    • Full motion video with digital audio on the classic 8-bit game console

        Back in 2016 an United States based music composer and performer Sergio Elisondo released an one-man band music album A Winner Is You (know your meme), with multi-instrumental cover versions of tunes from numerous memorable classic NES games. A special feature of this release has been its version released in the NES cartridge format that would run on a classic unmodified console and play digitized audio of the full album, instead of the typical chiptune sound you would expect to come from this humble console. I was involved with the software development part of this project.

        This year Sergio makes a return with a brand new music release. This time it is all original music album You Are Error, heavily influenced with the video game music aesthetics. It also comes with a special extra. This time we have raised the stakes, and a new NES cartridge release includes not only the digitized audio, but full motion videos for each song, done in the silhouette cutout style similar to the famous Bad Apple video. Yet again, this project is crowdfunded via Kickstarter. It already got the asked amount in a mere 7 hours, but there is still a little time to jump on the bandwagon and get yourself a copy. In the meantime I would like to share an insight on the technical side of both projects.

        Read more
      • 5 Startups Altering The Financial Sector Using Quantum-Inspired Algorithms

          It’s a harsh reality that any investment or security that you have is subject to systematic risk, that’s just the nature of the financial world, with mispricing — causing a divergence between the market price of a security and the fundamental value of that security — a guilty party quite often. This is brought about by the world we now live in, information-heavy, with masses of unstructured data sets and with an infinite number of possible outcomes.

          Luckily, there are now methods in place that can combat some of these difficulties and, with any luck, bring the investor a healthy return on their investment.

          And it comes in the form of Al-driven, quantum-inspired solutions fuelled by state-of-the-art processors that are able to leverage the unique attributes of quantum physics to solve some of the most, up to now, unsolvable problems, with a handful of startups at the forefront of it.

          These include Adaptive Finance Technologies, QuantFi and Zapata Computing which, to a greater or lesser degree, have their own unique approach to investment strategies in the global markets in securities pricing, portfolio optimization, equities, derivatives and the like.

          We’ll look now, just at a handful of these whose data readers will be able to find on TQD’s very own data platform, The Quantum Insider (TQI), starting off with the three already mentioned before moving on:

          Read more
        • Jira CLI: Interactive Command-line Tool for Atlassian Jira

          JiraCLI is an interactive command line tool for Atlassian Jira that will help you avoid Jira UI to some extent. This tool is not yet considered complete but has all the essential features required to improve your workflow with Jira.

          The tool started with the idea of making issue search and navigation as straightforward as possible. However, the tool now includes all necessary features like issue creation, cloning, linking, ticket transition, and much more.

          The tool supports both jira cloud and on-premise jira installation since the latest release.

          Read more
        • Quantum Scientists Make Multiple Qubits Team Up to Improve Error-Correction

            This shows the Bacon–Shor subsystem code implemented on a 15-ion chain.

            Multiple heads are better than one in real world calculations. Now, a team of University of Maryland-led quantum engineers report that multiple qubits may be better than one when it comes to error-corrections.

            In what’s been described as a foundational step toward using quantum computers to tackle practical problems, the team combined nine qubits — a quantum bit — to make a single, improved logical qubit. A logical qubit can be used to probe for mistakes that extremely sensitive quantum computers are subject to, according to the researchers.

            In the paper, which was just published in Nature, the team write that “Although fault-tolerant design works in principle, it has not previously been demonstrated in an error-corrected physical system with native noise characteristics. Here we experimentally demonstrate fault-tolerant circuits for the preparation, measurement, rotation and stabilizer measurement of a Bacon–Shor logical qubit using 13 trapped ion qubits.”

            Nine of the qubits were termed data qubits and the four remaining are referred to as ancilla — or extra — qubits. The logical qubit was based on a quantum error correction code to easily detect and correct errors and made it to be fault-tolerant, or minimize the negative effects of errors.

            “Qubits composed of identical atomic ions are natively very clean by themselves,” said Christopher Monroe, who is a Fellow of the Joint Center for Quantum Information and Computer Science and a College Park Professor in the Department of Physics at the University of Maryland in a university news release. “However, at some point, when many qubits and operations are required, errors must be reduced further, and it is simpler to add more qubits and encode information differently. The beauty of error correction codes for atomic ions is they can be very efficient and can be flexibly switched on through software controls.”

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

            More
          • How to detect a cyberattack and prevent money theft

              Money theft is one of the most important risks for any organization, regardless of its scope of activity. According to our data, 42% of cyberattacks on companies are committed to obtain direct financial benefits.  You can detect an attack at various stages—from network penetration to the moment when attackers start withdrawing money.  In this article, we will show how to detect an attack at each of its stages and minimize the risk, as well as analyze two common scenarios of such attacks: money theft manually using remote control programs and using special malware—a banking trojan.

              Read more
            • MFA-protected SSH access to Ubuntu servers with LDAP or Azure AD Credentials and hardware or software tokens

                SSH, the secure shell, is often used to access remote Linux systems. Because we often use it to connect with computers containing important data, it’s recommended to add another security layer, such as the second factor.

                In this guide, we will show how to leverage the TOKEN2 TOTPRadius appliance to organize SSH access to your Ubuntu server using local LDAP or Azure AD as the primary authentication factor, and TOTP factor from TOTPRadius as the secondary factor. The secondary authentication factors available with TOTPRadius can be a mobile authentication app or a hardware token.

                Read more
              • Introduction to Shining3D (Part 1): Einscan Desktop 3D Scanners

                  Hello! It’s Top 3D Shop and in this article we will talk about Shining 3D. This manufacturer is among the few companies that offer a comprehensive ecosystem of 3D digitization solutions, covering not only 3D printing, but 3D scanning and software solutions for engineering and medical teams.

                  Most importantly, the company is constantly innovating to bring these technologies not only to the production floors of industrial conglomerates, but small businesses, R&D and engineering labs. For example, the Einscan HX is the most affordable handheld laser 3D scanner currently available on the market, bringing the price down to only $9,999.

                  The professionals and hobbyists alike will find value in reading about this brand and its products, and the article will cover precisely that. In part 1 we’ll focus on the overview of the company’s history and the Einscan desktop line of 3D scanners: Einscan SE and Einscan SP. In part 2 we’ll focus on their handheld line: Einscan H, Einscan Pro 2X 2020, Einscan Pro HD and Einscan HX.

                  Read more
                • How to make a parallel book for language learning. Part 1. Python and Colab version

                  • Tutorial

                  title


                  If you're interested in learning new languages or teaching them, then you probably know such a way as parallel reading. It helps to immerse yourself in the context, increases the vocabulary, and allows you to enjoy the learning process. When it comes to reading, you most likely want to choose your favorite author, theme, or something familiar and this is often impossible if no one has published such a variant of a parallel book. It's becoming even worse when you're learning some cool language like Hungarian or Japanese.


                  Today we are taking a big step forward toward breaking this situation.


                  We will use the lingtrain_aligner tool. It's an open-source project on Python which aims to help all the people eager to learn foreign languages. It's a part of the Lingtrain project, you can follow us on Telegram, Facebook and Instagram. Let's start!


                  Find the texts


                  At first, we should find two texts we want to align. Let's take two editions of "To Kill a Mockingbird" by Harper Lee, in Russian and the original one.

                  Read more →
                • Extending and moving a ZooKeeper ensemble

                  • Translation
                  • Tutorial

                      Once upon a time our DBA team had a task. We had to move a ZooKeeper ensemble which we had been using for Clickhouse cluster. Everyone is used to moving an ensemble by moving its data files. It seems easy and obvious but our Clickhouse cluster had more than 400 TB replicated data. All replication information had been collected in ZooKeeper cluster from the very beginning. At the end of the day we couldn’t miss even a row of data. Then we looked for information on the internet. Unfortunately there was a good tutorial about 3.4.5 and didn’t fit our version 3.6.2. So we decided to use “the extending” for moving our ensemble.

                  Read more
                • Best warnings of static analyzer

                    Everyone who runs the static analyzer on a project for the first time is slightly shocked by hundreds, thousands or even tens of thousands of warnings. It may be frustrating. Is my code so terrible? Or is the analyzer lying? In any case, filtering by the severity changes the situation, not completely though. That's why we thought about how we could improve the first experience with the analyzer. Let me show you the new feature step by step...

                    Read more
                  • Modula-3. The article from “Computer newspaper” N12 2000

                     

                    One of the main tenets of the Unix philosophy is that a good tool for a good cause. Suppose you have a task to develop a large application that should have multiple threads of execution, possibly be distributed and, of course, have a graphical interface. I would like to make such a program quickly and without unnecessary mistakes. 

                    I think the first question to ask in a situation like this is, "Which programming language is right?" C is not a bad choice, but not for such a project. It does not scale very well, and does not have the means of working with processes at all. Then C++? But C++ is a complex language, and past experience has shown that it will take a fair amount of time to debug memory allocation problems. What else? 

                    There is a well-designed tool for just such a job. It is a Modula-3 language developed and implemented by the Digital Equipment Corporation Systems Research Center (SRC). Modula-3 is a modern, modular, object-oriented language. Other features include automatic memory management (built-in garbage collector), exception handling, support for dynamic types, and multi-threaded programming. 

                    The SRC implementation includes a compiler, a minimal recompilation system (m3build), and a wide range of libraries and sample applications. It must be said that SRC Modula-3 is a free system supplied with source code, including a compiler and a run-time kernel. In addition, SRC Modula-3 has been implemented for a dozen platforms, including Windows 95/NT.

                      The goal of the developers of the language, in their own words, was not innovation, but the careful selection and consolidation of ideas, time-tested and proven to be useful in practice. Modula-3 is a simple but full-featured language for building large and reliable software packages with a long life cycle.

                    Read more
                  • Easy concurrency with Python Shared Object

                      Project repository.
                      Year old article about general concepts of the project.


                      So you want to build a multitasking system using python? But you actually hesitate because you know you'll have to either use multitasking module, which is slow and/or somewhat inconvenient, or a more powerfull external tool like Redis or RabbitMQ or even large DBMS like MongoDB or PostgreSQL, which require some glue (i.e. very far from native python code) and apply their own restrictions on what you can do with your data. If you think «why do I need so much hassle if I just want to run few worker threads in python using the data structures I already have in my python program and using functions I've already written? I just want to run this code in threads! Oh, I wish there was no GIL in Python» — then welcome to the club.


                      Of course many of us can build from scratch a decent tool that would make use of multiple cores. However, having already existing working software (Pandas, Tensorflow, SciPy, etc) is always cheaper than any development of new software. But the status quo in CPython tells us one thing: you cannot remove GIL because everything is based on GIL. Although making shit into gold could require much work, the ability to alleviate the transition from slow single-threaded shit to a slow not-so-single-threaded gold-looking shit might be worth it, so you won't have to rewrite your whole system from scratch.


                      Read more →
                    • How we sympathize with a question on StackOverflow but keep silent

                        How we sympathize with a question on StackOverflow but keep silent
                        On the stackoverflow.com website, we frequently see questions about how to look for bugs of a certain type. We know that PVS-Studio can solve the problem. Unfortunately, we have to keep silent. Otherwise, StackOverflow moderators may consider it as an obvious attempt to promote our product. This article describes a particular case of such a situation that makes us suffer deeply.

                        Read more →