Pull to refresh

My feed

Type
Rating limit
Level of difficulty
Warning
To set up filters sign in or sign up
Article

Unfinished startups — the AELITA project

Reading time5 min
Views855
image

Back to the list
Introduction


I spent a long time thinking about whether or not I should write stories like this from the lives of innovators. After all, revealing the essence of unfinished project means you can lose the very foundation of the project, its pizazz and even its know-hows. Moreover, that's already happened to me in one of my projects from 10 years ago. I'm not going to give an example of this situation, it's already been talked about in another article. The story is on this site: intersofteurasia.ru/novosti/605/606.html.

However, considering that modern progress can't be stopped and that sooner or later some curious minds will get to the bottom of a technical solution for something like this, I decided to lift the veil a little bit on the secret life of an innovator.

Be it noted that this unfinished project with the provisional name AELITA is somewhat of a cross between biomedicine, electronics, psychology and much more, so getting it done isn't exactly easy. After all, for projects like this you need enthusiastic people working in different, sometimes diametrically opposed fields of science and technology, but an interdisciplinary approach is capable of giving surprising results if projects like it are completed.
Read more →
Rating0
Comments2
Article

Go Code Generation from OpenAPI spec

Reading time4 min
Views12K

OpenAPI specification


One of the nicest features of Go is the power of code generation. go generate command serves as a Swish knife allowing you to generate enums, mocks and stubs. In this article, we will employ this feature to generate a Go code from OpenAPI specification. OpenAPI specification is a modern industrial standard for REST API. This standard has fantastic tooling support and allows you to conveniently render and validate the spec. We are going to befriend the power of Go code generation with the elegance and clarity of the OpenAPI specification. In this way, you don't have to manually update the Go boilerplate code after every change in the spec. You also ensure that your docs and your code are a single entity, as your code is being begotten from the docs.


Let's start dead-simple: we have a service that accepts order requests. Let's declare endpoint order/10045234 that accepts PUT requests, where 10045234 is an ID of a particular order. We expect to receive an order as a JSON payload in the following format.


    {"item":  "Tea Table Green", "price":  106}

How can describe this endpoint in the OpenAPI spec?

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

PVS-Studio for JetBrains CLion: ad astra per aspera

Reading time5 min
Views858

The PVS-Studio analyzer already has plugins for such IDEs from JetBrains as Rider, IntelliJ IDEA and Android Studio. Somehow we missed another IDE - CLion. The time has come to make amends! But why would you need PVS-Studio if CLion already has the code analyzer? What problems appeared during development? Keep reading to find answers to these questions.

Read more
Total votes 1: ↑1 and ↓0+1
Comments0
Article

Static analysis protects your code from time bombs

Reading time2 min
Views1.1K

0848_Timebomb/image2.png
Static code analysis allows you to identify and eliminate many defects at an early stage. Moreover, it's possible to detect dormant errors that don't show themselves when they appear. They can cause many problems in the future and it requires many hours of debugging to detect them. Let's look at an example of such a dormant error.

Read more →
Total votes 2: ↑2 and ↓0+2
Comments0
Article

Checking BitTorrent in honor of the 20th anniversary. Time == quality

Reading time9 min
Views914

Couple of weeks ago (or to be more precise, on July 2, 2021), the legendary BitTorrent protocol turned twenty years old. Created by Bram Cohen, the protocol has been developing rapidly since its inception, and has quickly become one of the most popular ways to exchange files. So why not check out a couple of long-lived related projects with the PVS-Studio analyzer for Linux?


0846_BitTorrent/image1.png

Read more →
Total votes 3: ↑2 and ↓1+3
Comments0
Article

Building an Arduino based RFID Emulator

Reading time7 min
Views15K

This project is aimed at creating an experimental device for emulating RFID labels of three widely available components. I simplified the explanation of the process so that it could be easily replicated. I also developed some helpful ideas along the way, including writing a special program for converting a serial number into the transmitted data, which will definitely prove useful.
Total votes 12: ↑11 and ↓1+19
Comments0
Article

You don't know Redis (Part 2)

Reading time4 min
Views2.6K

In the first part of You don't know Redis, I built an app using Redis as a primary database. For most people, it might sound unusual simply because the key-value data structure seems suboptimal for handling complex data models.

In practice, the choice of a database often depends on the application’s data-access patterns as well as the current and possible future requirements.

Redis was a perfect database for a Q&A board. I described how I took advantage of sorted sets and hashes data types to build features efficiently with less code.

Now I need to extend the Q&A board with registration/login functionality.

I will use Redis again. There are two reasons for that.

Firstly, I want to avoid the extra complexity that comes with adding yet another database.

Secondly, based on the requirements that I have, Redis is suitable for the task.

Important to note, that user registration and login is not always about only email and password handling. Users may have a lot of relations with other data which can grow complex over time.

Despite Redis being suitable for my task, it may not be a good choice for other projects.

Always define what data structure you need now and may need in the future to pick the right database.

Read more
Total votes 3: ↑3 and ↓0+3
Comments0
Article

RS485 — a standard for industrial networks. What are the main features of the transceiver microcircuit?

Reading time8 min
Views2.4K

When building a network for communication between a large number of devices, one may think: what interface to choose? Each interface has its own pros and cons that determine its application: CAN — Automotive, RS485 / RS232 — Industrial, Ethernet — Consumer Electronics / Server. What features of the transceiver microcircuit help to protect against many problems during installation and operation? How is the process of measuring and researching of transceiver microcircuits going on? New RS485 microcircuit is ready to get to market!
Read more →
Total votes 4: ↑4 and ↓0+4
Comments0
Article

How to make debug-friendly method references

Reading time5 min
Views4.4K

Java 8 introduced two kinds of functional expressions: lambda expressions like s -> System.out.println(s) and method references like System.out::println. At first, developers were more enthusiastic about method references: they are often more compact, you don't need to think up the parameter name, and, as urban legends say, method references are somewhat more optimal than lambda expressions. Over time, however, the enthusiasm waned. One of the problems with method references is the difficulty in debugging.

Read more →
Rating0
Comments0
Article

A Beautiful Error in the Implementation of the String Concatenation Function

Reading time4 min
Views1.4K

We, the PVS-Studio static code analyzer developers, have a peculiar view on beauty. On the beauty of bugs. We like to find grace in errors, examine them, try to guess how they appeared. Today we have an interesting case when the concepts of length and size got mixed up in the code.


0845_LFortran_strcat/image2.png

Read more →
Total votes 2: ↑1 and ↓10
Comments0
Article

Mode on: Comparing the two best colorization AI's

Reading time11 min
Views3.6K

This article continues a series of notes about colorization. During today's experiment, we’ll be comparing a recent neural network with the good old Deoldify to gauge the rate at which the future is approaching.

This is a practical project, so we won’t pay extra attention to the underlying philosophy of the Transformer architecture. Besides, any attempt to explain the principles of its operation to a wide public in hand waving terms would become misguiding.

A lecturer: Mr. Petrov! How does a transformer work?
Petrov with a bass voice: Hum-m-m-m.


Google Colorizing Transformer vs Deoldify

Read more →
Total votes 17: ↑17 and ↓0+17
Comments0
Article

How to create LinkedIn-like reactions with Serverless Redis

Reading time5 min
Views1.7K

As a side hustle, I teach tech recruiters web and software development technologies using plain English. It helps them with understanding job specs and resumes and it makes all of us, tech people, happier.

I run a weekly newsletter and often get feedback from recruiters via email or LinkedIn DMs.

I thought that I could try to collect feedback using the “Reactions” feature just like LinkedIn or Facebook does. It’s not as informative as personalised messages but is a simple feature that may incentivize more people to provide some general feedback.

Either way, it’s worth trying and as a software developer, I can’t wait to implement it.

This tutorial is about implementing a feature that will be used in real life on my project.

Read more
Rating0
Comments0
Article

Practical uses of WebRTC Canvas streaming

Reading time7 min
Views3.7K

In this article we will once again return to the tired topic of webinars and webinar hosting tools. And no, we're not about to code a whole new system for webinar hosting – there are already plenty of those. Instead, we will talk about connecting drawing software to the webinar, so that you could manually draw and broadcast the process.

Read More
Rating0
Comments4
Article

Speed Dating with the CodeIgniter 4 on GitHub

Reading time2 min
Views2.9K

Getting acquainted with the CodeIgniter 4 PHP framework is quite simple.

Spend the evening following the instructions in the «Build Your First Application» section. Since the documentation is written in a good, technically understandable language, it is even possible to get some aesthetic pleasure in the process of familiarizing yourself with this and other sections.

The feeling of airiness and consistency of the CodeIgniter 4 project will be present with you everywhere now.

What is so attractive about CodeIgniter 4?

Read more
Total votes 3: ↑2 and ↓1+5
Comments2
Article

Guide to naming in code

Reading time15 min
Views8.8K

We present a guide to name entities in code based on putting naming in perspectives of semantic space, design, and readability. 

The main idea is that naming should not be considered as creation of tags, but as a fundamental part of design process, which implies integral and consistent vocabulary to be used. We discuss naming process and naming formalism from these perspectives and we provide guidelines for practical use.

The work is based on 15 years of experience in engineering work, coding and development management in high-tech industries.

Read more
Total votes 3: ↑3 and ↓0+3
Comments1