Pull to refresh

Development

Show first
Rating limit
Level of difficulty

Programatic content marketing in the B2B segment

Reading time6 min
Views960

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.

Read more →
Rating0
Comments0

Checking the GCC 10 Compiler with PVS-Studio

Reading time9 min
Views1.7K

PVS-Studo vs GCC 10

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.
Read more →
Total votes 3: ↑2 and ↓1+2
Comments1

WAL in PostgreSQL: 4. Setup and Tuning

Reading time17 min
Views9K
So, we got acquainted with the structure of the buffer cache and in this context concluded that if all the RAM contents got lost due to failure, the write-ahead log (WAL) was required to recover. The size of the necessary WAL files and the recovery time are limited thanks to the checkpoint performed from time to time.

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.
Read more →
Total votes 2: ↑2 and ↓0+2
Comments0

COVID YAAA! or Yet Another Analyze Attempt

Reading time11 min
Views1.3K

image


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 did you do?
Total votes 1: ↑0 and ↓1-1
Comments0

What is Reactive Programming? iOS Edition

Reading time10 min
Views3.2K

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?

Read more →
Total votes 3: ↑3 and ↓0+3
Comments2

Does gender segregation in the labor market still persist?

Reading time6 min
Views1.6K
Common sense prompts that gender segregation and gender discrimination on labor market have declined. There is a popular opinion that too much is talked about smaller women’s chances to blossom forth at work, while the problem was solved long ago. Actually, women all over the world have the same opportunities as men to get higher education, to hold a supervisor or manager position, to climb the career and salary ladder.



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.
Read more →
Total votes 4: ↑3 and ↓1+2
Comments0

Deploying Tarantool Cartridge applications with zero effort (Part 2)

Reading time11 min
Views1.4K


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.
Read more →
Total votes 15: ↑15 and ↓0+15
Comments0

«Build it & Break it»: How some algorithms generate captcha, while others crack it

Reading time12 min
Views3.5K
Hello, Habr! Let's me present you a translation of an article "«Ломай меня полностью!» Как одни алгоритмы генерируют капчу, а другие её взламывают", author miroslavmirm.

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.
Read more →
Rating0
Comments0

About Testing

Reading time2 min
Views1.5K
Let's talk about Testing, about unit and integration tests which everyone here, i hope, likes to write.

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).
Read more →
Total votes 4: ↑2 and ↓2+2
Comments2

How HealthTech Startups Are Leveraging Tech To Combat COVID19?

Reading time4 min
Views896
image
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.
Read more →
Total votes 4: ↑2 and ↓20
Comments0

Active Restore: Can we Recover Faster? Much Faster?

Reading time5 min
Views1.6K
Backing up valuable data is a proven practice, but what if we need to continue work immediately after a natural disaster or other disruptive events, and every minute is important? Our team at Acronis decided to see how quickly we can start an operating system. This is our first post from the Active Restore series. Today I will tell you how we launched our project with Innopolis University, which solutions were studied, and what we are working on today. All the details are under the Cut.

image
Read more →
Total votes 9: ↑8 and ↓1+13
Comments0

Android 11: What to Expect From the Latest Android Update?

Reading time4 min
Views5.7K
image
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.
Read more →
Total votes 2: ↑1 and ↓1+2
Comments0

How does strange code hide errors? TensorFlow.NET Analysis

Reading time15 min
Views864

PVS-Studio and TensorFlow.NET

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.
Read more →
Total votes 3: ↑2 and ↓1+1
Comments0

No-code: yesterday, today, tomorrow

Reading time4 min
Views1.8K
No-code movement is a new approach to website and app development. It doesn't require technical knowledge. Does no-code movement have something in common with old image boards, guest books and creation of MySpace or Facebook? Yes, it does. And here is why.

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.
Read more →
Total votes 1: ↑0 and ↓1-1
Comments0

Starting My Collection of Bugs Found in Copy Functions

Reading time4 min
Views767

memcpy

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.
Read more →
Rating0
Comments0

How Deep the Rabbit Hole Goes, or C++ Job Interviews at PVS-Studio

Reading time4 min
Views1.7K

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.
Read more →
Rating0
Comments0

WAL in PostgreSQL: 3. Checkpoint

Reading time11 min
Views6.6K
We already got acquainted with the structure of the buffer cache — one of the main objects of the shared memory — and concluded that to recover after failure when all the RAM contents get lost, the write-ahead log (WAL) must be maintained.

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.
Read more →
Total votes 2: ↑1 and ↓1+2
Comments0

The Silverfish Programming Language

Reading time9 min
Views2.5K

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.


Карасик → На самом деле плотвичка

Read more →
Total votes 9: ↑9 and ↓0+9
Comments3

Checking the Code of Zephyr Operating System

Reading time13 min
Views1.9K

PVS-Studio and Zephyr

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.
Read more →
Total votes 2: ↑1 and ↓1+2
Comments0