• MVCC in PostgreSQL-6. Vacuum

    • Translation
    We started with problems related to isolation, made a digression about low-level data structure, then discussed row versions and observed how data snapshots are obtained from row versions.

    Last time we talked about HOT updates and in-page vacuuming, and today we'll proceed to a well-known vacuum vulgaris. Really, so much has already been written about it that I can hardly add anything new, but the beauty of a full picture requires sacrifice. So keep patience.


    What does vacuum do?

    In-page vacuum works fast, but frees only part of the space. It works within one table page and does not touch indexes.

    The basic, «normal» vacuum is done using the VACUUM command, and we will call it just «vacuum» (leaving «autovacuum» for a separate discussion).

    So, vacuum processes the entire table. It vacuums away not only dead tuples, but also references to them from all indexes.

    Vacuuming is concurrent with other activities in the system. The table and indexes can be used in a regular way both for reads and updates (however, concurrent execution of commands such as CREATE INDEX, ALTER TABLE and some others is impossible).

    Only those table pages are looked through where some activities took place. To detect them, the visibility map is used (to remind you, the map tracks those pages that contain pretty old tuples, which are visible in all data snapshots for sure). Only those pages are processed that are not tracked by the visibility map, and the map itself gets updated.

    The free space map also gets updated in the process to reflect the extra free space in the pages.
    Read more →
  • DevOps for Mobile Apps


      The term “Mobile application development” has become one of the most important factors for startups and entrepreneurs in recent years. Actually, the reason behind this is that Mobile applications are one of the most effective sources to make your audience aware of your business features and strategies.

      Mobile application development is gaining its importance day by day which is increasing mobile app revenues ultimately. According to Statista, a survey has been done in regard to this. Let’s have a look below:


      As we know how crucial the role of Mobile app developers for the good Mobile app development is? Similarly, here we will talk about what is the role of DevOps in Mobile application Development?

      First of all, it is mandatory to throw light on
      Read more →
    • Five Methods For Database Obfuscation

        ClickHouse users already know that its biggest advantage is its high-speed processing of analytical queries. But claims like this need to be confirmed with reliable performance testing. That's what we want to talk about today.

        We started running tests in 2013, long before the product was available as open source. Back then, just like now, our main concern was data processing speed in Yandex.Metrica. We had been storing that data in ClickHouse since January of 2009. Part of the data had been written to a database starting in 2012, and part was converted from OLAPServer and Metrage (data structures previously used by Yandex.Metrica). For testing, we took the first subset at random from data for 1 billion pageviews. Yandex.Metrica didn't have any queries at that point, so we came up with queries that interested us, using all the possible ways to filter, aggregate, and sort the data.

        ClickHouse performance was compared with similar systems like Vertica and MonetDB. To avoid bias, testing was performed by an employee who hadn't participated in ClickHouse development, and special cases in the code were not optimized until all the results were obtained. We used the same approach to get a data set for functional testing.

        After ClickHouse was released as open source in 2016, people began questioning these tests.

        Read more →
      • How to Plan a Winning Product Strategy

        • Translation
        • Tutorial

        How do we know when a product is solving a significant problem in a growing market? Do we need to build a brand and defend it with barriers against competitors? Read further in this article.

        Notes on Des Traynor’s talk from Web Summit on developing a product strategy based on his experience at Intercom. The original article has been written by Vit Myshlaev and translated by Alconost.

        How do you know when you’re really solving a significant problem?

        If you can’t answer in the affirmative to the below three questions regarding your product, it makes no sense to move forward:

        • It is viable. Can it make money?
        • It is feasible. Can it be done?
        • It is desirable. Does anyone want it?
        Read more →
      • Writing a laptop driver for fun and profit, or How to commit to kernel even if you're not that smart

        • Translation

        Where it all began

        Let’s start with our problem statement. We have 1 (one) laptop. A new, gamer laptop. With some RGB-backlight on its keyboard. It looks like this:

        Picture taken from lenovo.com

        There’s also a program installed on this laptop. That’s the thing that controls our backlight.

        One problem – the program runs under Windows, and we want everything to work on our favourite Linux. Want LEDs to flash and those pretty colours to blink on and off and such. A natural question arises, can we do all that without reverse-engineering and writing our own drivers?

        A natural answer arises, no. Let’s open IDA and get cracking.

        Read more →
      • Breaking the Rules of Unity Garbage Collection

        Once upon a time, there was a unity game programmer called Lancelot. A very passionate one, I would say. He didn't know yet, but eventually he would face the darkest side of Unity garbage collection.


        Lancelot was always looking for bigger and bigger titles to work on. And so he worked hard to get his big chance in the games industry.

        It was not easy, that he knew.
        Read more →
      • AdBlock has stolen the banner, but banners are not teeth — they will be back

      • Prestashop Alternatives in 2020: Top eCommerce Platforms


          Are you looking for the best eCommerce platform for your store? Well, this is such an important and big decision as this decides the future of your business. There are various eCommerce platforms and Prestashop is also one of them.

          If you are aware of Prestashop and want to switch to other options then this blog is going to help you with good alternatives. Before you jump to other eCommerce platforms, let’s have a look at the market popularity of the Prestashop. Have a look at the below-given graph by Similar Tech which shows the market popularity of the Prestashop.


          Without stretching too much time, let’s move towards the best alternatives. Let’s have a look at them:
          Read more →
        • m-Commerce | Mobile Commerce App Development | Advantages of m-Commerce

            Mobile commerce or m-commerce is a popular platform. We can also say it is going to be the next generation of e-commerce. Due to this rising popularity, several companies are eager to jump onto the m-commerce bandwagon to offer their customers quicker and easier access to their brand. With more than 66% of the worldwide population having access to mobile phones and apps, m-Commerce seems to be the best option for businesses to expand their brand’s reach while acquiring new users. m-Commerce platforms offer vendors an excellent opportunity to effectively sell their products across a huge market.

            Owing to the various proven advantages that mCommerce brings to both large and small businesses by offering the same functionality as a desktop app, is it on the trajectory to being the preferred selling platform in the future.
            Read more →
          • Node.js VS Python: Which is Better?


              If you are landing on this page you might be looking for several questions like:

              – NodeJS or Python: which is the right choice for my next web app development project?

              – Which programming language cost me less?

              – Which programming language is suitable for which industry?

              – Which programming language is suitable for small business or large scale enterprises?

              – Which programming language is scalable, high performing and secure?

              In this blog post, I’m going to answer all these questions AND MORE THAN THAT! So, continue reading this blog post:
              Read more →
            • Glean Insights About 18 Best Java Frameworks To Use in 2020


                Who doesn’t know about Java today? You can hear its mention in every nook and corner of the world. A significant majority of IT companies provide Java-based applications, while businesses are still driven to secure java applications due to robustness and stringent security facilities. However, Java frameworks are a matter of chaos for a variety of business owners that want their application to be standout.

                The fact is that there is no dearth of java frameworks that makes application development simple and efficient. However, a number of people have a query regarding the selection of java framework on the basis of features, ease-of-use, cost, and many more. Businesses hire programmers in India, though they stay confused on which platform they want their app to be created.

                Read more →
              • VVVVVV??? VVVVVV!!! :)

                  If you're reading this text, you've either thought that something was wrong with the headline or you've seen the name of a familiar computer game. VVVVVV is an indie platformer game that has stolen the hearts of many players by its pleasant external simplicity and no less pleasant internal complexity. A few days ago, VVVVVV turned 10 years, and the author of the game — Terry Cavanagh — celebrated this holiday by publishing its source code. What mind-boggling things is it hiding? Read the answer in this article.

                  Рисунок 1
                  Read more →
                • Machine Learning in Static Analysis of Program Source Code

                    Machine Learning in Static Analysis of Program Source Code

                    Machine learning has firmly entrenched in a variety of human fields, from speech recognition to medical diagnosing. The popularity of this approach is so great that people try to use it wherever they can. Some attempts to replace classical approaches with neural networks turn up unsuccessful. This time we'll consider machine learning in terms of creating effective static code analyzers for finding bugs and potential vulnerabilities.
                    Read more →
                  • C++ Inliner Improvements: The Zipliner

                      Visual Studio 2019 versions 16.3 and 16.4 include improvements to the C++ inliner. Among these is the ability to inline some routines after they have been optimized, referred to as the «Zipliner.» Depending on your application, you may see some minor code quality improvements and/or major build-time (compiler throughput) improvements. 

                      Read more →
                    • PHP vs Python vs Ruby on Rails: Detailed Comparison


                      Which is the best programming technology for web app development in the year 2020? This is one of the most debated questions among web programmers, students and companies (wanted to develop their own website). Actually, every language has its own pros, cons or advantages, disadvantages. It totally depends on your requirements for website development.

                      In this blog post, I am going to clear your many doubts related to these programming languages or technologies, so that you can choose the best language according to your specific needs and requirements. Here, I’ll do a detailed and comprehensive comparison between these three most popular programming technologies viz. PHP vs Python vs Ruby (RoR). The comparison is on the basis of various stats and data on different parameters. So, let’s start the battle of most popular programming languages ie: PHP vs Python vs Ruby (RoR).
                      Read more →
                      • –12
                      • 618
                      • 5
                    • Tips and tricks from my Telegram-channel @pythonetc, December 2019

                        It is a new selection of tips and tricks about Python and programming from my Telegram-channel @pythonetc.

                        Previous publications.

                        Different asyncio tasks obviously have different stacks. You can view at all of them at any moment using asyncio.all_tasks() to get all currently running tasks and task.get_stack() to get a stack for each task.
                        Read more →
                      • [Announcement] Global Game Jam 2020

                          Every year on the latest weekend of January the Global Game Jam is held.

                          This year this event starts at 5 p.m. on Friday, January 31, and ends at 5 p.m. on Sunday, February 2. This weekend will be the hottest weekend of the month!

                          Global Game Jam is an event dedicated to creating games (for those who still doesn't know what Game Jam is). This event is an offline event so only people participating at Jam Sites are allowed to upload their works.
                          Read more →
                        • Python in Visual Studio Code – January 2020 Release

                            We are pleased to announce that the January 2020 release of the Python Extension for Visual Studio Code is now available. You can download the Python extension from the Marketplace, or install it directly from the extension gallery in Visual Studio Code. If you already have the Python extension installed, you can also get the latest update by restarting Visual Studio Code. You can learn more about  Python support in Visual Studio Code in the documentation.  

                            Read more →
                          • 10 SEO Myths to Leave Behind in 2020

                              To say SEO has “changed a lot” would be the understatement of the decade. We’ll often see multiple updates per year from Google, like the BERT update in October aimed at helping the search engine better interpret natural language searches. Or the site diversity update in June, which focused on reducing duplicate organic listings on SERPs for the same site.

                              Read more →