Pull to refresh

All streams

Show first
Rating limit
Level of difficulty

Architecture Decision Records (ADR): Enhancing Software Development

Level of difficulty Easy
Reading time 3 min
Views 65

Introduction to ADRs

ADRs are critical for documenting architectural decisions in software projects. They provide a historical record of decisions, rationales, and impacts, vital for future teams and stakeholders.

Defining ADRs

An ADR is a document capturing key architectural decisions along with their context and consequences. It helps stakeholders understand why certain choices were made during a project, promoting transparency and clarity.

Read more
Rating 0
Comments 0

The mystery of Telegram

Level of difficulty Easy
Reading time 12 min
Views 147

What comes to your mind when you hear the word Telegram?

I wouldn’t be surprised if drugs, sex, or crypto are your first associations. Throughout the years, Telegram earned a shady reputation, perhaps not strategically, but for a “good” reason.

I feel like Telegram is a mystery. On the outside, it might be perceived as a platform designed for drug traffickers, crypto scammers, and sexual abusers.

I shared this feeling when I joined the early team of Bancor in 2016, as I also joined its internal group chat, needless to say, on Telegram.

However, the app was quickly removed from my list of stigmas. Instead, I started to appreciate Telegram for its well-crafted product and care for design. From its meticulous attention to small details to have a unique brand — it stands as a dogma of an opinionated product (and a company) in many aspects. In addition, it helped me recognize the benefits of separating my private and professional lives early on.

After using Telegram extensively over the past 7+ years, I feel the urge to write about it, but this time not in the spirit of its typical news headlines.

Read more
Rating 0
Comments 0

Automating reCAPTCHA Solving with Puppeteer: A Step-by-Step Guide

Level of difficulty Easy
Reading time 3 min
Views 62

Introduction: In this guide, I explore the automation of reCAPTCHA solving in web scraping and testing scenarios using Puppeteer, a Node.js tool designed for browser automation. My focus is on the practical use of the puppeteer-extra-plugin-stealth plugin to seamlessly navigate through reCAPTCHA challenges.

Read more
Rating 0
Comments 0

Memory consumption of .NET applications on Linux

Level of difficulty Medium
Reading time 12 min
Views 381

In this article, I will cover the memory consumption of .NET applications on Linux. Firstly, we will try to understand the idea of virtual memory. Then, we will examine the memory statistics that Linux provides, such as RSS (Resident Set Size), VmData, RES (Resident Memory Size), and SWAP. Following that, we will delve into specifics related to the .NET.

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

Managing AWS Auto Scaling Group Instance Refresh: The Harmony of Terraform and Ansible

Level of difficulty Medium
Reading time 6 min
Views 145

In the DevOps realm, where automation is crucial, the management of resources and updating processes in the cloud is vitally important. Many modern projects, particularly in AWS cloud environments, leverage Auto Scaling Groups (ASG). This mechanism aims to achieve three key objectives: balancing loads, increasing service reliability, and optimizing operational costs for efficiency and effectiveness.

Imagine working at a company where you deploy applications on Amazon's resources. To streamline this process and manage configurations more effectively, you use pre-built AMI images. These are crafted with tools like HashiCorp Packer, ensuring your applications launch swiftly and reliably. For the actual infrastructure deployment, you turn to Terraform. It's widely recognized as the standard in many major companies for managing cloud resources and using the IaC (Infrastructure as Code) approach.

As an IT engineer, you sometimes need to update instance versions to a newer AMI image, either for the latest security patches or to introduce new functionalities. The challenge lies in updating an active ASG without causing downtime. It's crucial to ensure the new AMI performs as reliably as the existing one, balancing the need for updates with system stability and uptime.

ASG's instance refresh is a crucial feature that allows for updating instances within a group while minimizing downtime, thereby maintaining high availability. However, ensuring the success of such updates, especially in large, complex systems, can be a challenge. Terraform resources, such as aws_autoscaling_group, can initiate this process but don't provide progress tracking. This limitation becomes apparent when other infrastructure components, such as certificate renewals or DNS updates, depend on the state and version of the instances. Monitoring the update process is essential to maintain an accurate infrastructure state after Terraform's execution.

To overcome this challenge, Ansible can be utilized...

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

The first Silicon Valley meetup on portable SystemVerilog examples for ASIC and FPGA

Reading time 3 min
Views 534

Need to start your career or hobby in digital design and verification of silicon chips or reconfigurable hardware? Explore multiple FPGA toolchains and open-source ASIC tools? Design your own RISC-V CPU or ML accelerator? Prepare for an interview in SystemVerilog? Come to our first Silicon Valley meetup on portable SystemVerilog examples for ASIC and FPGA.

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

Trace Compass and GZip

Reading time 4 min
Views 501

Trace Compass with GZip

Trace Compass is an open-source application performance analysis framework. It is designed to visualize and analyze traces, which are recordings of events that occur in a software system during its execution. Trace Compass is particularly useful for understanding the behavior, performance, and interactions within complex software systems.

Key features of Trace Compass include:

Trace Visualization: It provides a graphical representation of traces, allowing users to visualize the sequence and timing of events in a system.

Analysis Tools: Trace Compass offers various analysis tools and modules for different types of traces, helping users identify performance bottlenecks, errors, and other issues.

Support for Multiple Trace Formats: It supports a wide range of trace formats from different sources, making it versatile for analyzing traces generated by various software components.

Customizable Views: Users can customize the views and analyses based on their specific needs, allowing for a more tailored and effective analysis process.

Integration with Eclipse: Trace Compass is often integrated with the Eclipse IDE, providing developers with a seamless environment for analyzing and debugging their applications.

Overall, Trace Compass is a valuable tool for developers, system administrators, and performance analysts to gain insights into the runtime behavior of software systems and optimize their performance.

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

Interview with Stephanie Planque from Covalent Bioscience

Reading time 8 min
Views 200

What is ageing? We can define ageing as a process of accumulation of the damage which is just a side-effect of normal metabolism. While researchers still poorly understand how metabolic processes cause damage accumulation, and how accumulated damage causes pathology, the damage itself – the structural difference between old tissue and young tissue – is categorized and understood pretty well. By repairing damage and restoring the previous undamaged – young – state of an organism, we can really rejuvenate it! It sounds very promising, and so it is. And for some types of damage (for example, for senescent cells) it is already proved to work!

Today in our virtual studio, somewhere between cold, rainy Saint-Petersburg and warm, sunny Huston, we meet Stephanie Planque! For those of you who are not familiar with her, here is a brief introduction.

Stephanie Planque was awarded the PhD in 2009 by the University of Texas-Houston Medical School for her advances in applying electrophilic analogs of proteins to decipher the beneficial and harmful functional effects of catabodies. She then expanded her focus to vaccination and therapeutic catabody identification using proprietary electrophilic target analogs. Her work was published in 49 peer-reviewed scientific articles, she has numerous national/international conference presentations. She moved fulltime as a co-founder to Covalent Bioscience in 2018 to focus on rapidly translating their electrophilic vaccine/catabody technologies to clinical reality.

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

SHA-256 Reversing in Bitcoin Systems as a Neural Machine Translation Problem

Level of difficulty Medium
Reading time 15 min
Views 536

Bitcoin is a digital currency created in January 2009 due to the housing market crash. It is designed to have lower transaction fees than traditional online payment mechanisms. Each Bitcoin transaction is recorded in a public log, but the identities of buyers and sellers remain anonymous. While this privacy feature allows users to conduct transactions without being traced, it also facilitates the buying and selling goods and services without leaving a trail. Bitcoin is built on cryptographic evidence, avoiding weaknesses inherent in trust-based models.  Cryptography is critical to the Bitcoin system as it maintains data secrecy and prevents unauthorized spending from another user's wallet. Advancements in cryptography have led to the development of various hashing algorithms to secure sensitive data. The SHA-256 hash function is widely recognized as a robust and extensively used cornerstone. However, the reversibility of hash functions remains a critical issue in cybersecurity. In the following essay, we propose that one-way cryptography processes based on hash functions can be reversed using neural networks in machine translation. Assuming this hypothesis is true and considering some quantity algorithms to decrypt certain types of hash functions, we will highlight their effects on the Bitcoin system.

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

After sale IT support for American and Western Companies

Reading time 2 min
Views 201

Title:

After sale IT support for American and Western Companies 

Let’s have a case study. 

A Russian IT company sells software to a western country like say America. And you are working as an application developer on the support side. 

One day, there is a problem with the program, and the program has stopped working. 

You must contact the company now to inform them that the program is off-line. 

THE NEXT STEP YOU TAKE IS VERY IMPORTANT. 

The way, the two cultures operate in a situation like this are very different and it will have everything to do with how easy your job goes for you.

…………

Russia : “we have a problem”

“What is wrong?”

“I don’t know”

“When can it be fixed?”

“I don’t know”

……………

USA: “i’m just giving you a real quick call to let you know that there is a problem with the program. 

I’ve already put my team on it and we will have it up and running shortly. 

I will let you know more by 3 o’clock today what is going on”

It’s not important how long you think it will take you, but I will always tell them a few hours from the time that you informed them of a problem.

I understand that you have no idea how deep the bug is and also whether it will affect any other systems.

But it is important to set a time window very close to when you inform them that you will bring them more information. 

This also works very well if you don’t know something that they ask you.

Question:

“What can we do to fix this problem?”

Answer: 

“I understand what you’re saying. I will look into it and get back to you in two hours.  By 1 PM today.”

in this case, it’s important that you: 

1. Take responsibility for yourself and your team.

   2. Communicate that you understand this responsibility.

   3. Gives strict timelines. (if it’s not possible, you can always say that there is a problem, but do it before the deadline.) 

    4. Use certain key language.

“ I understand you”

“ I understand what you were saying”

“ I wanted to inform you”

“ we are working on it right now”

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

How to send messages over sockets and create your own messanging protocols in C++

Level of difficulty Medium
Reading time 28 min
Views 942

Network programming in C++ can be challenging. But even a greater challenge is to find educational content that will arm you with the knowledge on how to apply your networking skills in real applications.

In this article you can learn the basics of socket communication and many ways how you can design your internal messaging protocols.

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

How to Bypass reCaptcha in Selenium Automatically with Code Example

Level of difficulty Easy
Reading time 4 min
Views 402

I based my approach on an English manual that caught my eye just a couple of days ago, and I decided to test it (since it's written by a captcha recognition service that I use, why not - by the way, guys from 2captcha - I accept thanks in the form of green bills, if you're interested))))

I've made some tentative attempts at automation and encountered a frequently arising problem: reCaptcha recognition.

Of course, I understand that there are many guides, manuals, and articles written on this topic, but let's agree - it's interesting to describe one's own experience.

Thus, without getting too lengthy and boring about why Selenium is necessary, how important it is for automation, when it appeared and who invented it, let's get to the crux:

To solve the problem, we'll use a demo page kindly provided by reCaptcha itself - https://recaptcha-demo.appspot.com/recaptcha-v2-checkbox.php:

Read more
Rating 0
Comments 1

Why x^0 = 1 visually

Reading time 3 min
Views 803

The traditional definition for the operation of exponentiation to a natural power (or a positive integer) had introduced approximately as follows:

Exponentiation is an arithmetic operation originally defined as the result of multiple multiplications a number by itself.

But the more precise formulation is still different:

Raising a number X to an integer power N is an arithmetic operation defined as the result of multiple [N by mod times] multiplications or divisions one by number X.

Let's figure it out under the cut! >>
Total votes 5: ↑5 and ↓0 +5
Comments 0

Crafting Enhanced Dropdown Interactions with Svelte: Constructing an Advanced Dropdown Component with Svelte

Level of difficulty Medium
Reading time 3 min
Views 226

In the realm of frontend development, the quest for enhancing user interaction remains a constant pursuit. Developers, inspired by innovation, often seek solutions to refine components for a seamless user experience. Today, we delve into the construction of an advanced dropdown component using Svelte — a framework known for its simplicity and effectiveness.

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

A short guide to UX writing and its role in UX design

Level of difficulty Medium
Reading time 5 min
Views 388

UX writing is an essential part of UX design, which plays a huge role in providing qualitative user experience. The job of a UX writer is to compose texts for a digital product, which can be of two types: microcopy (labels, buttons, notifications and other small notes) and macrocopy (larger texts like written content on pages, instructions, information sheets). UX writing helps users easily navigate through the product, perform various tasks and get all the necessary information.

Read more
Rating 0
Comments 1

Your Name: Why it’s Important in American Sales and Marketing

Reading time 2 min
Views 628

This is one of the most important articles I’ve written. 

In this article, I’m going to dive deep into one of the largest differences between Russia and America pertaining to sales and marketing. 

1. You must use your name. 

2. You must have a personal approach. 

3. You must show that you are involved. 

4. You must show that you care about the needs and desires of the client. 

Recently, I was faced with an interesting problem. I was asked to call clients without making it personal. 

So let’s go back to when I was in America, living and working as a sales person. The company I work for, was very large, and had multiple branches around the Washington DC area. They had offices in three states. 

They put me through a sales training course. 

The biggest “take away” from the course….. 

You’re not selling the product/ 

you’re selling yourself. 

It's important to use your charisma and your genuine caring for the customer to win them over. Once they understand that you're actually trying to help them, then they will seriously consider the item you are telling them about. 

I also want to say, very clearly, that it's not a prideful approach. It should be a professional approach. You're responsible to tell the customer/ the client all the benefits of the item and how this item will help their business.

Everything above pertains to sales in America. So if you are approaching America as a sales manager this is how you should craft your approach. 

Now I've spoken to my colleague,

Kristina Pashnina and we have agreed upon some stark differences to the Russian sales climate. Here she will begin to tell you how the Russians see sales. 

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

Empowering Digital Artists: Building a Royalty-Enabled NFT Marketplace

Level of difficulty Easy
Reading time 5 min
Views 323

As NFTs spread across the world, users spent millions of dollars to buy digital assets to prove their uniqueness. Many creators and artists showcase their beautiful products, such as artworks, music, etc., in the NFT marketplace. What if a creator can profit from their work even after selling it to another business? This is where royalty comes in; it is a recent addition to the NFT space. Owing NFT royalties can benefit artists and creators from succeeding sales to the business. 

Once NFT royalties became a hot topic and gained popularity among artists and creators. Later, arguments were evolved to remove royalties that had swayed other NFT creators. DeGods, the popular Solana's NFT project, has moved its royalty model to 0%. However, creating a royalty-based NFT marketplace attracts many creators around the world. In this article, we will delve into the development process of NFT marketplace royalties and how it benefits enthusiastic artists from secondary sales. 

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

Exploring VALID/READY protocol, pipelines and experimenting with flow control using an HDL training tool

Level of difficulty Medium
Reading time 1 min
Views 525

Ссылка на русскую версию / link to Russian version

Understanding valid/ready protocol is extremely important for every microarchitect.

Valid/ready is one of the main protocols used to organise flow-control inside a logic block as well as on inter-block (SoC) level.

In the last lesson, we explored FIFO buffer using hdlgadgets - human-in-the-loop HDL training tool.

This time we will take two FIFO buffers (which form a pipeline with valid/ready handshakes) and will experiment with it by changing flow-control logic of the pipeline.

We will show that valid/ready is not only a mechanism for transferring data from one FIFO queue to another, but also a method for organizing various kinds of logical functionality between queues.

If you have not worked with valid/ready protocol before, you will be surprised how easy it is to achieve desired functionality of the design by simply writing couple of lines of Verilog code in the handshaking logic block between two FIFOs.

Read further and watch the video
Total votes 6: ↑6 and ↓0 +6
Comments 0