• C2x: the future C standard


      I strain to make the far-off echo yield
      A cue to the events that may come in my day.
      (‘Doctor Zhivago’, Boris Pasternak)

      I’ll be honest: I don’t write in pure C that often anymore and I haven’t been following the language’s development for a long time. However, two unexpected things happened recently: С won back the title of the most popular programming language according to TIOBE, and the first truly interesting book in years on this language was published. So, I decided to spend a few evenings studying material on C2x, the future version of C.

      Here I will share with you what I consider to be its most interesting new features.

      Read more →
    • On request of Embedded Developers: Detecting Errors in Amazon FreeRTOS

        Anyone who programs microcontrollers probably knows about FreeRTOS, or at least heard of this operating system. Amazon developers decided to enhance the abilities of this operating system to work with AWS Internet of Things services. This is how Amazon FreeRTOS appeared. We, developers of the PVS-Studio static code analyzer, were asked by mail and in comments to check these projects. Well, now get what you asked for. Keep reading to find out what came out of it.

        Read more →
      • External Interrupts in the x86 system. Part 1. Interrupt controller evolution

        • Tutorial
        This article is about the interrupt delivery process from external devices in the x86 system. It tries to answer questions such as:

        • What is PIC and what is it for?
        • What is APIC and what is it for? What is the purpose of LAPIC and I/O APIC?
        • What are the differences between APIC, xAPIC, and x2APIC?
        • What is MSI? What are the differences between MSI and MSI-X?
        • What is the role of the $PIR, MPtable, and ACPI tables?

        If you want to know the answer for one of these questions, or if you simply want to know about interrupt controller evolution, please, welcome.
        Read more →
      • Making Git for Windows work in ReactOS

          Good day to you! image

          My name is Stanislav and I like to write code. This is my first english article on Habr which I made due to several reasons:

          This article is an english version of my very first article on russian.

          Let me introduce the main figures in this story who actually fixed the bug preventing Git from running in ReactOS — the French developer Hermès Bélusca-Maïto (or just Hermes with hbelusca nickname) and of course me (with x86corez nickname).

          The story begins with the following messages from the ReactOS Development IRC channel:

          Jun 03 18:52:56 <hbelusca> Anybody want to work on some small problem? If so, can someone figure out why this problem https://jira.reactos.org/browse/CORE-12931 happens on ReactOS? :D
          Jun 03 18:53:13 <hbelusca> That would help having a good ROS self-hosting system with git support.
          Jun 03 18:53:34 <hbelusca> (the git assertion part only).
          Read more →
        • Running image viewer from Windows XP on modern Windows

            I have a directory with old images which I collected in the noughties. I move it with all my other files from one computer to another on every upgrade. Every now and then, when I feel a bit nostalgic, I open it and look through the pictures. There are a few GIF files with animation, and every time I notice that the default image viewer from Windows 7 does not support it. I remembered, that the image viewer from Windows XP was able to play GIF animation properly. So, I spent a bit of time to overcome a few obstacles and to run the old image viewer on modern Windows, a small launcher was created for this purpose. Now I can watch these old images in authentic interface of the old image viewer from Windows XP.

            Download: shimgvw_xp32.7z (includes a binary and source code of the launcher, and the shimgvw.dll from English Windows XP SP3).

            Read more →
            • +23
            • 14.9k
            • 1