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.
Checking the GCC 10 Compiler with PVS-Studio
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.
WAL in PostgreSQL: 4. Setup and Tuning
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.
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 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?
Does gender segregation in the labor market still persist?
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.
Deploying Tarantool Cartridge applications with zero effort (Part 2)
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.
«Build it & Break it»: How some algorithms generate captcha, while others crack it
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.
About Testing
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).
How HealthTech Startups Are Leveraging Tech To Combat COVID19?
Source: Google Images
The world has taken aback through the global pandemic of Novel Coronavirus or Covid19. With the spontaneous outbreak of the coronavirus pandemic worldwide, most of us are self-quarantined and taking precautionary measures. The situation is further amplified with an ongoing economic slowdown.
However, our healthcare industries, startups and front-line medical professionals & staff haven't taken a step back in dealing with the pandemic through innovative healthcare measures that can effectively combat and procure ailing patients from Coronavirus outbreak.
Active Restore: Can we Recover Faster? Much Faster?
DeepCode: Outside Perspective
Recently DeepCode, which is a static analyzer based on machine learning, began to support checking of C and C++ projects. And now we can find out the differences between the results of the classic and the machine-learning static analysis.
Android 11: What to Expect From the Latest Android Update?
Source: Google Images
The latest Android 10 update has already created a stir in the Android circuit. However, tech enthusiasts around the world are waiting for the latest addition in Android's operating system.
Yes, you heard it right, I am talking about the Android 11 update, the latest upgrade in the Android’s operating system.
The update has been expected to hit the floors in the official reveal of Android 11 in mid-2020, at Google IO 2020 which will run May 12-14, before being released for Pixel devices in the month of September, and then it will be rolled out for other Android devices from late 2020 through well into 2021.
How does strange code hide errors? TensorFlow.NET Analysis
Static analysis is an extremely useful tool for any developer, as it helps to find in time not only errors, but also suspicious and strange code fragments that may cause bewilderment of programmers who will have to work with it in the future. This idea will be demonstrated by the analysis of the TensorFlow.NET open C# project, developed for working with the popular TensorFlow machine learning library.
No-code: yesterday, today, tomorrow
No-code is a reflection of social tendencies made in technologies. To understand it, we need to discover the history from the beginning of the World Wide Web.
Starting My Collection of Bugs Found in Copy Functions
I've already noticed a few times before that programmers seem to tend to make mistakes in simple copy functions. Writing a profound article on this topic is going to take quite a while since I'll have to do some thorough research and sample collecting, but for now I'd like to share a couple of examples I stumbled upon recently.
How Deep the Rabbit Hole Goes, or C++ Job Interviews at PVS-Studio
Authors: Andrey Karpov, khandeliants Phillip Khandeliants.
Here's an interesting story about how one of the questions we ask at job interviews turned out to reach even deeper than intended by its author. You've always got to watch your step with C++ and C++ compilers – there's never a risk of getting bored.
WAL in PostgreSQL: 3. Checkpoint
The problem yet unaddressed, where we left off last time, is that we are unaware of where to start playing back WAL records during the recovery. To begin from the beginning, as the King from Lewis Caroll's Alice advised, is not an option: it is impossible to keep all the WAL records from the server start — this is potentially both a huge memory size and equally huge duration of the recovery. We need such a point that is gradually moving forward and that we can start the recovery at (and safely remove all the previous WAL records, accordingly). And this is the checkpoint, to be discussed below.
Checkpoint
What features must the checkpoint have? We must be sure that all the WAL records starting with the checkpoint will be applied to the pages flushed to disk. If it were not the case, during recovery, we could read from disk a version of the page that is too old, apply the WAL record to it and by doing so, irreversibly hurt the data.
The Silverfish Programming Language
They say, each professional developer must have done at least three pet projects: a sophisticated logging utility, a smart json parser, and an amazing programming language. Once we have both logger and parser accomplished, we finally decided to reveal our desperate success in creation one of the most innovative programming languages named Silverfish.
Checking the Code of Zephyr Operating System
Some time ago we announced PVS-Studio's new feature that enabled it to integrate into PlatformIO. Naturally, our team kept in touch with the PlatformIO team while working on that feature, and they suggested that we check the real-time operating system Zephyr to see if we could find any interesting bugs in its code. We thought it was a good idea, and so here's this article about the check results.
Hubs
Authors' contribution
alizar 91983.8marks 24166.6ru_vds 20271.1alexzfort 14179.0XaocCPS 10986.2pronskiy 10649.4m1rko 10382.0Andrey2008 9668.2ptsecurity 9631.2Jeditobe 9387.6