Pull to refresh

All streams

Show first
Rating limit
Level of difficulty

How we built a Cyber Immune product using an open source library: stages, pitfalls, solutions

Reading time 11 min
Views 45
«Лаборатория Касперского» corporate blog Information Security *Open source *Programming *
Translation
Do you remember how, even before the pandemic set in, companies were striving to provide secure perimeter access for their telecommuters? Especially if super sensitive data was involved such as accounting information or corporate documents. The solutions were complex, bulky and expensive. Can you imagine just how critical it has become now?!

image

My name is Sergey Yakovlev, and I'm the head of the Kaspersky Thin Client project based on our proprietary operating system, KasperskyOS. A thin client is one of the main components of a virtual desktop infrastructure, which is a remote desktop access system. In this article, I will use such a client as an example of how you can build a secure (yet commercially viable!) product. I will cover the stages, the stumbling blocks, the problems and solutions. Let's go!
Read more →
Rating 0
Comments 0

PostgreSQL 16: Part 5 or CommitFest 2023-03

Level of difficulty Medium
Reading time 28 min
Views 70
Postgres Professional corporate blog PostgreSQL *SQL *
Digest
Translation

The end of the March Commitfest concludes the acceptance of patches for PostgreSQL 16. Let’s take a look at some exciting new updates it introduced.

I hope that this review together with the previous articles in the series (2022-072022-092022-112023-01) will give you a coherent idea of the new features of PostgreSQL 16.

Read more
Total votes 7: ↑7 and ↓0 +7
Comments 0

«Promising Public Transportation for Large and Medium-Sized Cities» — the main idea in a brief summary

Level of difficulty Easy
Reading time 8 min
Views 172
Algorithms *Mathematics *Transport The future is here Urbanism
Opinion
Translation

(source)

Translated into English with the help of ChatGPT, link to the original article.

I recently published a series of articles titled 'As Cheap as a Bus, as Convenient as a Taxi...':

1) «Preliminary Analysis»
2) «Experiments on the Torus»
3) «Practically Significant Solutions»
(these articles are currently available only in Russian)

dedicated to making public transportation in large cities completely seamless, without the need for transfers. In the last article of the series, I extensively described a microbus movement scheme that allows them to operate almost like taxis while accommodating 5-10 passengers at once. Such a transportation system would enable city residents to travel from any intersection to another without any transfers, comparable in time to a personal car journey, and at a cost similar to a regular city bus ticket. However, the feedback from readers indicated that I chose an extremely ineffective way to convey the information, resulting in a failure to effectively communicate the essence of the matter.

I must admit that the previous three articles were written in a way that allowed readers to apply the acquired knowledge in practice or continue the research I started on their own. Unfortunately, my desire to 'teach' resulted in nearly 100 pages of complex mathematical text, which is clearly excessive for readers who simply wanted to familiarize themselves with the idea. Here, I will attempt to rectify this mistake and briefly, yet simply, explain the bus taxi technology.
Read more →
Total votes 6: ↑6 and ↓0 +6
Comments 0

Blinking into Morse code

Level of difficulty Easy
Reading time 10 min
Views 263
Python *IT Infrastructure *Data Engineering *
Sandbox

Explaining main algorithm.

For a while I’ve been thinking of writing a scientific article. I wanted it to have certain utility.

Morse code is binary: it takes only two values – either dot (short) or hyphen (long). I figured out that short (s) can stand for two-eye blinking whilst long (l) can indicate left-eye blinking. Another question emerged: how to understand when does one-symbol recording stop?

Empty space between two symbols can be presented by right-eye blinking – r. If I input singly symbol of short (dot) and long (hyphen), I will blink my right eye once to indicate the space between two symbols.

To separate independent words, one has to blink her right eye twice and get rr.

Hence, I have collected an ordered set of symbols – r, l, s, - that can be converted into a full-fledged text. Once I accomplish the transformation, I get an answer.

Read more
Total votes 6: ↑6 and ↓0 +6
Comments 2

Feature Engineering: Techniques and Best Practices for Data Scientists

Reading time 8 min
Views 256
Big Data *Data Engineering *
Tutorial

The most important stage in the data science process is feature engineering, which entails turning raw data into useful features that might enhance the performance of machine learning models. It calls for creativity, data-driven thinking, and domain expertise. Data scientists can improve the prediction capability of their models and find hidden patterns in the data by choosing, combining, and inventing relevant features. Handling missing data, scaling features, encoding categorical variables, constructing interaction terms, and other procedures are examples of feature engineering techniques. The best practises involve investigating the data, testing and improving features iteratively, and applying domain knowledge to draw out important information. The accuracy and effectiveness of machine learning models are significantly influenced by effective feature engineering.

Read more
Rating 0
Comments 0

Technical Game Design. Configs, balance and content in the example of PC strategy

Level of difficulty Medium
Reading time 13 min
Views 282
Game development *Unity3D *Game testing *Unreal Engine *Game design *
Case
Translation

One of the common tasks that both beginners and experienced game designers face is describing a large amount of content to pass its parameters to the engine. This is not an easy task, given that it is very difficult to find materials on the technical aspects of game design. Well, let’s figure out how to transfer data to the engine.

Read more
Total votes 2: ↑2 and ↓0 +2
Comments 0

Push notifications: why we need them, how to do them. How to write push notifications that won't piss you off

Level of difficulty Easy
Reading time 11 min
Views 346
Internet marketing *Display advertising *Mobile App Analytics *Gadgets

Push notifications are similar to promoters. You're peacefully walking down the street, and suddenly promoters approach you, urging you to take their flyers. You take them, but you don't read them and throw them into the nearest trash can.

The same goes for push notifications. You're reading an article, and suddenly a notification pops up with a promo code for free delivery of products. Then another one arrives, informing you about a giveaway. And then another one, offering a discount on all fruits. Notifications can appear on your screen at any time. If there are too many of them, your reaction is either to ignore them or disable them.

In this article, we will talk about how to write push notifications that people will click on and show you how to build a push notification strategy. At the end, we will provide a template for a push notification strategy.

Push Notifications - What is it?

A push notification is a pop-up message on a smartphone screen. To send one, you need to use a delivery service. You can send a notification instantly, schedule it for a specific time, or set up a trigger-based delivery - a chain of notifications that will be triggered by specific user actions.

Triggered push notifications are sent after a specific action is taken. For example, if a person starts adding items to their cart but doesn't complete the purchase, you can send them a notification urging them to complete the transaction after a certain period of time.

Notifications are sent to users who fall into specific segments for targeting. Segments are formed based on specific events. For example, the event "6 hours ago, a product was added to the cart but no purchase was made" will divide users into two segments: those who made a purchase and those who didn't.

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

Monitoring CPU/RAM/disk metrics with OpenTelemetry and Uptrace

Level of difficulty Easy
Reading time 4 min
Views 644
Open source *
Tutorial

OpenTeleletry Collector is an open source data collection pipeline that allows you to monitor CPU, RAM, disk, network metrics, and many more.

Collector itself does not include built-in storage or analysis capabilities, but you can export the data to Uptrace and ClickHouse, using them as a replacement for Grafana and Prometheus.

When compared to Prometheus, ClickHouse can offer small on-disk data size and better query performance when analyzing millions of timeseries.

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

Concept Art in Game Design: An Introduction to its Significance and Fundamental Principles

Level of difficulty Easy
Reading time 6 min
Views 244
Game design *Games and game consoles

Let's talk about concept art, one of the main pillars in the digital art world. Concept art is the foundational and fundamental stage of any media industry project, where bold design choices are made and the best one is selected, shaping the overall style of the product. "Concept" refers to abstract ideas and fresh designs, while "art" entails the intentional use of imagination to create objects for immediate contemplation, which can be assessed for their aesthetic appeal in terms of appearance, sound, or even words. The exact origin of the term is not entirely clear, but some attribute its first mention to Walt Disney Feature Animation during the creation of characters for the first feature-length animated film, Snow White and the Seven Dwarfs, in the 1930s. It was during this time that an entirely new profession, later known as "concept artist," began to take form and became highly sought after in the media industry.

Read more
Total votes 1: ↑0 and ↓1 -1
Comments 0

The Power of Email Marketing: Engaging Customers for Business Growth

Level of difficulty Medium
Reading time 3 min
Views 272
CRM systems *Freelance Internet marketing *Email-marketing *
Case


Email marketing has emerged as a vital tool for businesses to nurture customer relationships and drive growth. In this article, we will explore the immense potential of email marketing through personal experiences and examples from renowned companies. From personalization to segmentation, retargeting, and building anticipation, discover how these strategies can elevate your email campaigns and deliver remarkable results.

The Art of Personalization in Email Marketing:
Personalization is a key aspect of successful email marketing. Take, for example, Amazon's tailored recommendations and exclusive offers. By delivering personalized content that matches customers' preferences and interests, Amazon creates a sense of exclusivity and fosters customer loyalty. In my own experience, implementing personalization in email campaigns resulted in increased open rates, click-through rates, and conversions. It's clear that customers appreciate the effort put into crafting messages specifically for them.

Read more
Rating 0
Comments 3

How Java works with fonts

Level of difficulty Easy
Reading time 3 min
Views 435
Java *
Sandbox

Hello!

In this article, I will try to briefly describe how Java Virtual Machine works with fonts. Once I needed to change the font used by the JVM and, surprisingly, found only pieces of legacy information about this. I spent a little time investigating the problem and now want to share this information with anybody who could find it useful. Feel free to leave any comments :)

Read more
Rating 0
Comments 1

Business Process Management Part 2. How to

Level of difficulty Easy
Reading time 12 min
Views 632
System Analysis and Design *Project management *Product Management *
Tutorial

This article is written in a how-to style. It is based on my personal experience and opinions, so it may omit some steps that are common in BPM practice but that I have not encountered in my work. The topic is broad, and each section deserves a separate article. Therefore, if you are interested in a specific topic, please comment, and I will prepare a more detailed description.

Read more
Total votes 3: ↑2 and ↓1 +1
Comments 3

How to Create Effective Product Funnels with Event Tracking

Level of difficulty Medium
Reading time 8 min
Views 523
Project management *Web analytics *Start-up development Mobile App Analytics *Product Management *
Tutorial

Regardless of how mature the product is, its owner will always be curious about how it performs, what the conversion rates are, and what areas for improvement there are. One of the most important tools that product owners should get access to at some point in time is an event tracking system.

Read more
Rating 0
Comments 2

Exploring a possible implementation of non-blocking IO by writing a server on pure syscalls

Reading time 11 min
Views 1.1K
C++ **nix *
Translation

How do people usually write a server if they don't really care about performance? A program starts, then starts accepting incoming connections from clients and starts a new thread for each client, which is engaged in servicing this client. If you use framework, like Spring or Flask or Poco there, then it does something like this inside itself - the only difference is the threads can be reused, that is, taken from a certain pool. It's all quite convenient, but not too effective (and Spring is bad). Most likely, your threads serving clients do not live long and most of the time they are waiting either to receive data from the client or to send it to the client - that is, they are waiting for some system calls to return. Creating an OS thread is quite an expensive operation, as is context switching between OS threads. If you want to be able to serve a lot of customers efficiently, you need to come up with something else. For example, callbacks, but they are pretty inconvenient (though there are different opinions on this).

Another option is to use non-blocking I/O in combination with some kind of implementation of user-space threads (fibers). In this article I will show you how to write all this with your own hands.

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