Pull to refresh

All streams

Show first
  • New
  • Top
Rating limit
  • All
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

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

PVS-Studio corporate blogOpen sourceC++

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 5: ↑4 and ↓1+3
Views254
Comments 0

Building an Arduino based RFID Emulator

RUVDS.com corporate blogInformation SecurityProgramming microcontrollersDeveloping for ArduinoDIY
Tutorial

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.
Read more →
Total votes 20: ↑19 and ↓1+18
Views459
Comments 0

You don't know Redis (Part 2)

Website developmentJavaScriptNoSQLReactJSServerless

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
Views513
Comments 0

The way we made an external PCIe RAM disk based on the DDR memory

High performanceCloud computingData storageComputer hardwareData storaging

RAM disk, this is a disk based on RAM memory chips. This kind of disk is not able to retain data after the power is turned off (unless a supporting battery is used), but has an exceptionally high read/write speed (especially for random access) and an unlimited lifespan. It is important in tasks that need a lot of cycles to write over information, even professional SSD drives don’t live long. To the operating system the RAM disk is indistinguishable from an SSD or HDD disk and no special drivers or setup is required. Unlike a disk that is virtually located in the computer’s RAM memory, where the maximum memory capacity is limited to 128-256 GB in the best consumer motherboards, a RAM disk for a PCIe slot, in general, has no volume limits and can work in any MB with a PCIe slot.

Read more
Total votes 3: ↑3 and ↓0+3
Views484
Comments 0

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

Миландр corporate blogCircuit designManufacture and development of electronicsElectronics for beginnersSystems engineering

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
Views340
Comments 0

How to make debug-friendly method references

ProgrammingJava
Translation

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
Views1.5K
Comments 1

Mode on: Comparing the two best colorization AI's

RUVDS.com corporate blogPythonImage processingMachine learningTensorFlow

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
Views412
Comments 0

How to create LinkedIn-like reactions with Serverless Redis

Website developmentJavaScriptNoSQLNode.JSReactJS

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
Views316
Comments 0

Practical uses of WebRTC Canvas streaming

Flashphoner corporate blogWebsite developmentWorking with videoProgrammingVideo conferencing

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
Views555
Comments 4

Speed Dating with the CodeIgniter 4 on GitHub

PHPMySQLCodeIgniterGitHub
Sandbox
Tutorial

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 7: ↑6 and ↓1+5
Views510
Comments 0

Guide to naming in code

SemanticsProgrammingDesigning and refactoringIndustrial ProgrammingDevelopment Management
Sandbox

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
Views1.2K
Comments 0

An Unexpected Article About Our Unicorn: Who Is the PVS-Studio Mascot?

PVS-Studio corporate blogGraphic designBrandingDesign

PVS-Studio has a mascot that became inseparable from the brand - a unicorn. Lately we've been getting many questions about our magic steed: why the unicorn, why has he changed so much, does he have hooves, how come he doesn't wear pants, and how do we draw him. The answers are finally here, in this very article.

Attention: there will be a lot of pictures. And I mean A LOT.

Read more
Total votes 11: ↑11 and ↓0+11
Views260
Comments 0

The benefits of offering VoIP to your customers under your own brand

Zadarma corporate blogAPIDevelopment of communication systemsCloud servicesVoice user interfaces

The potential of VoIP to your customers is simply phenomenal. Businesses are experiencing the advantages of VoIP’s cost-efficiency and reliability and now you can pass these benefits onto your own customers very easily. Cloud telecommunication is sophisticated and easily integrated. Confidence in this technology is growing fast. There has never been a better time to start talking to your customers about adopting this solution. It will deliver huge business benefits for them and has the potential to increase business income and profitability.

Read more
Total votes 4: ↑4 and ↓0+4
Views553
Comments 0

REST hooks for WebRTC Click to Call. Implementation experience

Flashphoner corporate blogWebsite developmentJavaScriptProgrammingDevelopment of communication systems

The "Click to Call" button on the website is an "innovation" that has been around for about 10 years. The technologies under the hood have changed, but the principle remains the same: someone clicks on the button on the site page, then JavaScript launches and requests access to the microphone and establishes a connection to the server — WebRTC SIP gateway. Further, the first client-server leg is a browser gateway, the second leg can be arbitrarily long and through the SIP proxy chain can eventually connect to a mobile or landline phone. Thus, the browser turns, in a sense, into a softphone and becomes a full participant in VoIP telephony.

Read more
Rating0
Views321
Comments 0