Pull to refresh

Development

Show first
Rating limit
Level of difficulty

Implementing hypervisor-level behavioral analysis in Linux

Level of difficulty Medium
Reading time 7 min
Views 553

Hey there, Habr! My name is Alexey Kolesnikov. I am a Malware Detection Specialist at the Positive Technologies Expert Security Center (PT ESC). I recently spoke at the AVAR 2023 international conference in Dubai, where I covered new plugins developed by PT ESC for an open-source dynamic malware analysis system named DRAKVUF and demonstrated how they can be used to detect current Linux threats in sandbox for protection against targeted and mass attacks PT Sandbox.

Read on for a brief overview of popular malware monitoring tools for Linux, a description of how our plugins work in DRAKVUF, and a malware analysis that relies on these plugins.

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

How Closures Work and Why It Matters

Level of difficulty Medium
Reading time 8 min
Views 1K

They might sound complicated, but they are actually a fundamental part of the language. In this article, we’ll explore closures in a straightforward and practical way. Let’s clear up common misunderstandings. Walk through real-world examples. Nail those tricky interview questions about closures. By the end, you’ll see closures not as a hurdle, but as a valuable part of your JavaScript toolkit.

Continue Closure Journey
Total votes 4: ↑4 and ↓0 +4
Comments 0

Evaluating Performance: CosmosDB vs. Azure SQL

Level of difficulty Easy
Reading time 4 min
Views 5K

In the evolving landscape of database technology, choosing the right database management system is crucial for the efficiency and scalability of applications. This article presents a detailed comparison of the performance between Microsoft's CosmosDB and MS SQL Server. We'll examine how each database performs under various load conditions and share some interesting findings.

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

The next steps after a good meetup on Portable SystemVerilog Examples for ASIC and FPGA

Reading time 4 min
Views 692

The meetup on January 14 at Hacker Dojo in Mountain View, California, went well, although not as planned - we spent almost all the time talking instead of doing hands-on exercises. The room we booked can fit 30 people and approximately 30 people did show up. The quality of participants was high: approximately half were familiar with hardware description languages and another half came from various software topics. 12 people filled out the questionnaire despite the fact that I forgot to bring 30 pens.

The discussion during and after the presentation was focused and very meaningful: microarchitecture and education, EDA infrastructure / build scripts, open-source ASIC design tools, the economics of ASIC design and manufacturing, high-level synthesis, transaction-level modeling, ASIC prototyping using FPGA boards, FPGA embedded in ASIC (Menta), new FPGA manufacturers (Gowin) and new design languages - Chisel and SpinalHDL.

Four persons came to me after the meeting to discuss their participation in working on open-source portable SystemVerilog examples, and another seven expressed this intention in the questionnaire. So we are meeting again in Hacker Dojo on Sunday, January 21, at 2 PM, this time not in the classroom area, but in the common shared area.

Generally, I am thinking of having regular meetings, probably on a weekly basis for a small team of developers of the educational materials and on a monthly basis for a wider audience, discussing various design and verification topics.

There were two correspondents of Slavic Sacramento who recorded the video of the presentation. They are going to make it available soon.

Read more
Total votes 7: ↑6 and ↓1 +5
Comments 2

PostgreSQL 17: Part 3 or Commitfest 2023-11

Level of difficulty Medium
Reading time 11 min
Views 552


The November commitfest is ripe with new interesting features! Without further ado, let's proceed with the review.


If you missed our July and September commitfest reviews, you can check them out here: 2023-07, 2023-09.


ON LOGIN trigger
Event triggers for REINDEX
ALTER OPERATOR: commutator, negator, hashes, merges
pg_dump --filter=dump.txt
psql: displaying default privileges
pg_stat_statements: track statement entry timestamps and reset min/max statistics
pg_stat_checkpointer: checkpointer process statistics
pg_stats: statistics for range type columns
Planner: exclusion of unnecessary table self-joins
Planner: materialized CTE statistics
Planner: accessing a table with multiple clauses
Index range scan optimization
dblink, postgres_fdw: detailed wait events
Logical replication: migration of replication slots during publisher upgrade
Replication slot use log
Unicode: new information functions
New function: xmltext
AT LOCAL support
Infinite intervals
ALTER SYSTEM with unrecognized custom parameters
Building the server from source

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

Import chat history to Telegram (приглашение)

Level of difficulty Medium
Reading time 3 min
Views 1.5K
image

I'm seeking anyone who is skilled enough to develop a simple Python script using TDLib, Telegram API, and JSON manipulation to make it possible to perform simple tasks listed below:

1. Import Telegram chat JSON backup back to Telegram similar to what these scripts are doing github.com/alexlyzhov/telegram-import
github.com/Suberbia/UltimateChatRestorer
github.com/mygrexit/UltimateChatRestorerForGroupchats
but for any chat (not only to «saved messages») including group chats (not only 1 to 1 chats) and improve the code to make it work faster, more reliable, write log file, allow continuing from the stop point in case of errors and keep all the original chat data including formatting and everything that telegram can handle.
Some kinda combine all the script in one universal, flexible, high quality tool.
The most important aspect of the whole task is that the imported messages have to keep not only the formatting, but its original date and time when they were actually sent. Like it is done in the original telegram tool for importing history from some other apps — telegram.org/blog/move-history

2. Make it very simple to use. Perfect solution will be: Download, put the script next to JSON backup and run it in the interactive mode or with some specific options. Let the script ask for all the credentials and briefly explain where to get them. If possible, keep all the job on one device with no need of transferring the WA format zip file to the phone for importing. If not possible, make it an android app which will get the JSON, process it and feed the result to the Telegram app for import.

This is the basic I'm going to pay for.
Read more →
Total votes 6: ↑3 and ↓3 0
Comments 2

React Global State Management: A Brief History and a Quick Guide

Level of difficulty Easy
Reading time 9 min
Views 929

If you’re a React developer, you know how important state management is. State is the data that powers your UI, making it interactive and dynamic. But managing state in React can be tricky, especially when you have to share it across multiple components or deal with complex and asynchronous logic.

That’s why over the years, React developers have come up with various solutions for state management, each with its own advantages and disadvantages. In this article, we’ll take a look at some of the most popular ones and how they evolved. We’ll also review some of the current state-management libraries and how to choose the best one for your app.

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

UX testing: why it is important and how to conduct it

Level of difficulty Easy
Reading time 4 min
Views 376

UX testing is one of the most important parts of the UX design creation process for any software product. It helps to understand whether users are satisfied with the design and highlights its problematic areas that need to be fixed or improved. UX testing is an important part of the whole testing process - it helps to get beta-testers feedback to determine whether the product is comfortable for users and gives opportunity to improve problems and issues before moving on to the next stage of the development process. It also contributes to reducing the cost of development, as it is much cheaper to fix issues during the development process rather than after the release. Listed down below are 5 simple tips that can help perform UX testing in a proper and effective way.

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

Creating a Frosted AppBar in Flutter with a Slide-Down Widget

Level of difficulty Medium
Reading time 4 min
Views 646

In this article, I will guide you through the process of creating a frosted AppBar with a sliding element beneath it. The final result is presented at the top as it works in the media network application.

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

WebSocket Reconnection in Flutter

Level of difficulty Medium
Reading time 5 min
Views 530

Continuous socket connection can be crucial to ensure correct app behavior. Whether it’s delivering real-time chat updates, stock prices, or in-app indicators, a reliable connection is vital.

One of the irritating problems with sockets is a sudden loss of connection. If the true cause is not visibly evident, i.e., unstable internet connection, then the disruption cause is often well hidden. To tackle this issue we can implement an automatic socket reconnection strategy. Let’s see what options we have in the industry-standard socket library for Dart — web_socket_channel.

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

Why I need RSS 3.0

Level of difficulty Easy
Reading time 6 min
Views 861

In the past 5 years, I moved across 3 countries and 2 continents. It was not a short tourist travel or vacation, but a full immigrant experience with 1+ year experience minimum. I had to adapt to new cultures, new languages, new people, new food, new weather, new everything. One of the pains was to adopt new online services and information sources.

The problems I have faced were not obvious and interesting at the same time. I tried to analyze what was missing and required to make life easier.

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

Why would a software engineer attend an FPGA hardware meetup at Hacker Dojo?

Reading time 6 min
Views 1.1K

For the last 30 years digital chip design is not a schematic entry anymore: hardware engineers write code just like software engineers.

The difference is that the code software engineer writes becomes a chain of CPU instructions stored in memory, while the code in a hardware description language (HDL) becomes the CPU itself, its transistors and metal connections. And not only a CPU: the same technique is used to design processor-less ("fixed function") blocks in GPU that shuffle triangles and pixels, as well as network router chips that edit packet headers 100 times faster than CPU.

There are ways to experience this workflow without paying a million dollars to a silicon fab. One way is simulation, and another way is to use a matrix of reconfigurable logic cells, a Field Programmable Gate Array (FPGA). You can come on January 14 to Hacker Dojo in Mountain View, California. We have a bunch of computers and FPGA boards, and we will show you how to use them not only to blink LEDs but also to output graphics and recognize music.

This will change your perspective of what the code is.

Prepare for a ride:
Total votes 8: ↑6 and ↓2 +4
Comments 0

Million Dollar IT Sale…..Lost

Reading time 2 min
Views 922

Lose Your Sale) How to lose an IT project sale. 

My name is Paul Karol and I work as a director in a Russian IT company that mostly sells their products into the American Market. What we will discuss today was so costly for that company that I want to share this knowledge so that it doesn't happen to other Russian IT companies. 

Case Study

Today I want to tell you about a sale that almost was. I was Consulting for this one company and they were involved in selling software to the United States. This one particular client was in contact with the sales manager for 2 months.

Now this sales manager was very good at their job and they had a lot of charisma on the phone and in the text messages. However they specifically did not know something that cost them a large contract. 

1. In Russia it's respectful not to talk about your personal life because you feel that you're wasting someone's time if you do not know them well. 

2. In the United States once you have been talking with somebody for a couple of months you would start to consider them sort of a friend. 

The Russian IT sales manager had not been in contact with this client for about a week and this was unusual. 

They were worried. 

Then the text message came that said this. 

"I'm sorry Marina that I have not been in contact with you for some time. I took my family and kids to the Lakeside and we enjoyed some time by the beach." 

The Russian IT sales manager did not know how to think about this and they asked this question. 

" So, do you want to buy our product?" 

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

When It's Important to Stop Your Team's Engineers from Writing Code

Reading time 5 min
Views 789

Launching a startup often means navigating through stringent constraints, particularly in the early stages where resources are limited. For technical founders, who usually possess deep expertise in certain technical domains, the inclination might be to hire a team of senior engineers—considering you often end up with only one expert in each domain, it might be risky to delegate entire segments to junior specialists.

This situation typically leads to a small team where each member is more skilled than the founder in their respective field. This raises an important question for the technical lead: what role should you play in this team? 

While the apparent answer might be task setting and quality control, prompting engineers to do what they love (coding), a less obvious but crucial role emerges. As a leader, your primary responsibility could be to prevent your team from engaging in unnecessary or potentially detrimental tasks, a concept known as "overengineering."

In this article, I will explore the critical role of a technical lead in steering a team away from overengineering and ensuring that their efforts align effectively with the startup's goals and resources.

Read more
Rating 0
Comments 1

Thoughts and short notes (in go) after reading «Clean Code»

Level of difficulty Easy
Reading time 4 min
Views 1.4K

Clean Go

Hey guys, I recently dove into 'Clean Code' by Robert C. Martin and found some valuable insights. The book is originally in Java, but I decided to reinterpret the principles in Go. Here's my take on the clean code concepts and how they can improve our coding practices.

1. Clean Code

The gist: Clean code is more than just working code; it's code that other developers can easily read, understand, and modify.

Read more
Rating 0
Comments 0

Trade bot python setup (using Binance API), Vol 1

Level of difficulty Medium
Reading time 5 min
Views 4.7K

Trading robots are conquering the Wall Street! Learn how to create your first automated python trading bot.

We present a fully functioning trading bot pipeline on python using the Binance API. Starting with the general introduction, we provided a comprehensive overview of main API calls and their implementation on python. After this we show a fully functioning python code presenting a basic trading bot with core features using static channel breakout strategy.

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

Toward the January meetup on portable SystemVerilog examples in Silicon Valley

Reading time 4 min
Views 1K

The team developing a set of portable SystemVerilog examples decided to organize the first event in Silicon Valley on Sunday, January 14 from 2PM till 5PM at Hacker Dojo in Mountain View, CA. If the first event is successful we are going to make it recurrent. You can register for the event on Meetup or LinkedIn.

The current directions of the group:

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

3. Information theory and ML. Forecast

Reading time 31 min
Views 494

In this third part, we will discuss Machine Learning, specifically the prediction task in the context of information theory.

The concept of Mutual Information (MI) is related to the prediction task. In fact, the prediction task can be viewed as the problem of extracting information about the signal from the factors. Some part of the information about the signal is contained in the factors. If you write a function that calculates a value close to the signal based on the factors, then this will demonstrate that you have been able to extract MI between the signal and the factors.

Read more
Rating 0
Comments 0