You decided to make an app that works with SVG. Encouraged by the enthusiasm, you collected libraries and successfully made the application. But suddenly you find that the app is sending strange network requests. And data is leaking from the host-machine. How so?
My feed
How PVS-Studio prevents rash code changes, example N3
Let's continue with a series of small notes illustrating the PVS-Studio's ability to quickly find new errors in the code. If the analyzer is regularly used, of course :). Today we have another bug in the Blender project.
ECS: under the hood
This is the translation of my article about ECS. Original (in Russian).
ECS (Entity Component System) is an architectural pattern used in game development.
In this article, I am going to describe some of the general principles of ECS frameworks' inner workings and some of the problems I have faced during the development of my own.
When I first started learning about ECS everything seemed wonderful, but only in theory. I needed some real practice to make sure that all that they were saying about ECS was true.
I’ve tried different frameworks with different engines and programming languages. Mostly it was the gorgeous EnTT framework that I used with the Godot engine and LeoECS with Unity. I haven’t tried Unity’s native ECS from DOTS because it was rather unpolished at the time I was starting.
After a while, I got enough practical experience with ECS but it was still unclear to me how all this magic works under the hood. There are a few good blogs about ECS development (https://skypjack.github.io/ from the author of EnTT and https://ajmmertens.medium.com/ from the author of Flecs) but none of them gave me enough understanding about how they are implemented. So eventually, following Bender’s example, I decided that I’m gonna make my own ECS =)
A bug report's adventure
We are often asked whether we send bug reports to developers of open-source projects. The answer is yes. More than that— we sometimes track the progress. This article is about one of the cases when this habit prevented a sloppy bug fix.
Visual Studio 2022 — stylish and fresh. How PVS-Studio supported VS2022

Seems like Microsoft has just announced Visual Studio 2022. And it already came out! For us at PVS-Studio, this meant only one thing — we must support this IDE in the next PVS-Studio release. Almost everything went smoothly. However, there were some hitches that we're going to discuss today.
PVS-Studio 7.17: Unreal Engine, ASP.NET Core, Texas Instruments
We are pleased to announce the first release of PVS-Studio in 2022. In this article, we discuss various enhancements in managing Unreal Engine and ASP.NET Core projects. Keep reading to learn about new diagnostics and latest articles by PVS-Studio.
Vulnerabilities due to XML files processing: XXE in C# applications in theory and in practice
How can simple XML files processing turn into a security weakness? How can a blog deployed on your machine cause a data leak? Today we'll find answers to these questions, learn what XXE is and how it looks like.
Music on the Commodore PET and the Faulty Robots

After completion of the System Beeps, I wasn’t planning to make another stand alone album release with the pseudo polyphonic music, as I felt the topic had been explored enough. This, however, wouldn’t mean I couldn’t apply the experience and skills gained to make more utilitarian stuff, like an actual retro game OST or an old school demoscene project. Such an opportunity arose in Autumn 2020, as David Murray of The 8-bit Guy Youtube channel fame announced his new game to be in development, the Attack of The PETSCII Robots for Commodore PET and some other Commodore 8-bitters. As I previously worked with David on his previous big release, Planet X3 game for MS-DOS, and this was a perfect opportunity to satisfy my interest towards the pre-graphics era PCs as well as apply my vast experience both in the minimalistic computer music and 6502 assembly programming, I offered my services that had been accepted. Besides the sound code I also had hopes to participate as a music composer this time.
Unfortunately, this time the project didn’t went well on my side, and lots of issues of all kinds eventually turned it into a small scale development hell (you can learn more from a series of posts at my Patreon blog) The end result was that my code and sound effects were only used in the VIC-20 port, and music for other versions has been created by other people. However, I was left with the full working code of the sound system for PET, and a number of music sketches. It would be a pity to file it into the archive, PET projects aren’t a frequent thing these days, so another chance to use the stuff wouldn’t come any time soon. So I got the idea to develop my music sketches into full songs, and release it as an alternative OST, and having David’s approval it has been done and released in the Winter 2021 as Faulty Robots, a small music album for PET that is available as a digital audio release and a runnable program for the actual PET computer.
How to Build a Cryptocurrency Exchange App in 2022

Do you plan to start a cryptocurrency exchange business? If so, now is the perfect time. The easiest and safest way to make money from cryptocurrencies is to create a crypto-exchange application. Regardless of whether traders and investors make or lose money, the cryptocurrency exchange will remain a winner in any case.
But, how to open a cryptocurrency exchange app? So, let’s look at the main stages of the process.
“FPGA InsideOut” – animation about CRC and parallel CRC calculation
Ссылка на русскую версию / link to Russian version
FPGA InsideOut is an attempt to make a set of educational FPGA videos presented in the “human-in-the-loop” style. In these videos we will not only show how we are interfacing with an actual FPGA board but will also provide synchronous real-time visualisation of FPGA's internal logic.
For our first video we have picked a CRC circuit (cycle redundancy check) which is based on a linear feedback shift register. This circuit goes through several transformations during the course of the video. Intrigued? - let’s watch the video.
What memory release strategy does the PVS-Studio C and C++ core use?
In various discussions, we have already commented on how the PVS-Studio C and C++ module works with memory. Now it's time to make a small article from this comment.
Playing with null: Checking MonoGame with the PVS-Studio analyzer

The PVS-Studio analyzer often checks code of libraries, frameworks, and engines for game development. Today we check another project — MonoGame, a low-level gamedev framework written in C#.
Queries in PostgreSQL. Query execution stages

Hello! I'm kicking off another article series about the internals of PostgreSQL. This one will focus on query planning and execution mechanics.
In the first article we will split the query execution process into stages and discuss what exactly happens at each stage.
Stop losing clients! Or how a developer can test a website, by the example of PVS-Studio. Part 1

A website with bugs could be a real pain in the neck for business. Just one 404 or 500 error could end up costing an obscene amount of money for the company and hurt a good reputation. But there is a way to avoid this issue: the website testing. That's sort of what this article is about. After reading this article, you will learn how to test code in Django, create your "own website tester" and much more. Welcome to the article.
MuditaOS: Will your alarm clock go off? Part I

Operating systems are a kind of software where code quality is critical. This time the PVS-Studio analyzer checked MuditaOS. So let's take a look at what the static analyzer found in this open-source OS.
A new writing method/technology (“dendrowriting”), as exemplified by the YearVer site
Several years have passed since the appearance of the first text markup language that supports “dendrowriting”, but no worthwhile piece of text demonstrating the advantages of the new writing method/technology has yet appeared.
The largest “dendrotext” was a couple of paragraphs in the pqmarkup documentation, consisting of only ~1300 characters and available only in Russian.
In English there was no “dendrotext” at all, as such [apart from small insertions in the documentation for the 11l programming language (e.g., ‘Boolean type’ in Built-in types)].
But last year...
Geomagic Design X and Geomagic Wrap: 4 important updates

U.S.-based 3D Systems released two updated versions of their Geomagic reverse engineering software: Geomagic Design X and Geomagic Wrap. Both programs work with scanned data and feature various innovative capabilities. They are designed to streamline workflows and provide quality, high-precision models made from 3D scans.
Radhika Krishnan, Executive Vice President at 3D Systems, said that their most comprehensive reverse engineering solution features a wide range of best-in-class products. Robust scan processing and ability to design CAD models is essential for speeding up product development.
He added: “With the new features we are introducing today, designers and manufacturers who have incorporated our reverse engineering products into their end-to-end workflow will be able to achieve unmatched speed and accuracy. We are committed to continuing this caliber of innovation which is enabling our customers to improve productivity, lower Total Cost of Operation (TCO), and maintain competitive advantage.”
3DEXPERIENCE World 2022 and SolidWorks Software

3DEXPERIENCE is online and completely free in 2022. Designers, engineers and other attendees can take part in various online sessions.
Creality CR-SCAN 01: Overview and Specs

Chinese 3D printer maker Creality has announced the release of a highly-capable, cost-effective 3D scanner that is brand new.
The CR-Scan 01, Creality's newest scanning solution is a user-friendly device that nevertheless boasts premium specifications, and can capture details as small as 0.1mm of size. Because of its flexible settings, multiple-purpose abilities, and expanded scanning range, the device is very easy to use, while offering impressive accuracy and affordability.
Smart Features of Delta WASP 60100 3D Printer

3D printer manufacturer WASP is known for offering efficient FDM solutions for industrial applications that are bound to dramatically multiply and streamline the production. Let’s have a brief look at one of its flagship products — the Delta WASP 60100 professional delta 3D printer.