Pull to refresh
1005.96

Programming *

The art of creating computer programs

Show first
Rating limit
Level of difficulty

Replit 101: Learn to Use Replit Agent and Deploy Your First App

Level of difficultyEasy
Reading time4 min
Views2.7K

Did you know that coding tools have evolved so rapidly that they're now shaping the future of programming itself? As technology advances, platforms like Replit are leading the charge, making coding more accessible and collaborative than ever before. In this article, I'll show you what Replit is and how to use it.

Read more

15 quotes about artificial intelligence from world famous people

Level of difficultyMedium
Reading time7 min
Views1.9K

Over the past two years, artificial intelligence has become one of the main topics in the media and many famous people have expressed their thoughts on this topic. But if you start searching on the Internet for collections of quotes about AI, you will mostly find quotes from CEOs of multi-billion dollar companies, futurists and scientists conducting research in this field. Moreover, these collections are so similar to each other, which sometimes gives the impression that they were compiled by AI. In this article, I have collected quotes from world famous people who are usually not included in such collections of quotes:

Read more

Python Clean Code: Stop Writing Bad Code — Lessons from Uncle Bob

Level of difficultyEasy
Reading time4 min
Views9.2K

Are you tired of writing messy and unorganized code that leads to frustration and bugs? You can transform your code from a confusing mess into something crystal clear with a few simple changes. In this article, we'll explore key principles from the book "Clean Code" by Robert C. Martin, also known as Uncle Bob, and apply them to Python. Whether you're a web developer, software engineer, data analyst, or data scientist, these principles will help you write clean, readable, and maintainable Python code.

Read more

How to Build an AI Image Analyzer with Project IDX and Gemini API: A Simple Guide

Level of difficultyEasy
Reading time3 min
Views685

Do you want to know how to build an AI image analyzer? Then read this article till the end! I'm going to show you how to build AI analyzer tools really simply, so you almost don't have to have any prior knowledge. I will take you step by step, and we will use Project IDX and the Gemini API. This means you don't have to set up anything; everything we will do is on the cloud. If you're ready, then let's get started!

Read more

From Scratch to AI Chatbot: Using Python and Gemini API

Level of difficultyEasy
Reading time3 min
Views1.7K

In this article, we are going to do something really cool: we will build a chatbot using Python and the Gemini API. This will be a web-based assistant and could be the beginning of your own AI project. It's beginner-friendly, and I will guide you through it step-by-step. By the end, you'll have your own AI assistant!

Read more

How to build and run calculator from Windows XP using GCC x64?

Level of difficultyHard
Reading time63 min
Views1K

Hi Everyone!

In this article we a little bit will analyze of code of Windows XP and will compile the calculator application using GCC x64 in Windows 10 environment. We will look what kind of errors I faced during the build and the methods how to solve them. At the end we will launch the build of the calc.exe application.

Have a nice reading!

Read more

VS Code Extensions You Need in 2024: My Top Picks

Level of difficultyEasy
Reading time2 min
Views3.9K

Welcome to my latest article. If you haven't caught my previous ones, I highly recommend checking them out for some really useful content. Today, I'm excited to dive into something special: my top 10 favorite VS Code extensions. These tools are incredibly popular among developers globally, and I believe they're essential for anyone serious about coding.

Read more

Simple complex programming

Level of difficultyMedium
Reading time5 min
Views1.1K


I always pay attention to assessing the complexity of programming in a particular language. Programming is indeed not an easy task and this is perceived as a fact and usually does not require any confirmation.


But the concept of “complexity” is akin to the term “heap”. For some, five coconuts is not so much, but for someone who ate one and “didn’t want any more,” this means that even one coconut will be too much for him.


The same goes for the complexity of programs. It seems that the constant increase in the complexity of programs is obvious to everyone and is observed in all areas of application of IT technologies, and programming languages themselves become more and more complex as they develop, but assessing “complexity” using numerical metrics is a problem. obviously a thankless task, but also “You can’t manage what you can’t measure...”


Typically, talk of “complexity” only implies value judgments without any numerical evaluation. And since I am personally interested in the issue of the complexity of programming languages, I decided to calculate the complexity of implementing the gcc compiler on some conditional “parrots”. What if we could see some patterns of difficulty changing over time?

Read more →

Building blocks in programming languages

Level of difficultyMedium
Reading time5 min
Views719

Practically all programming languages are built either on the principle of similarity (to make like this one, only with its own blackjack) or to realize some new concept (modularity, purity of functional calculations, etc.). Or both at the same time.


But in any case, the creator of a new programming language doesn't take his ideas randomly out of thin air. They are still based on his previous experience, obsession with the new concept and other initial settings and constraints.


Is there a minimal set of lexemes, operators, or syntactic constructs that can be used to construct an arbitrary grammar for a modern general-purpose programming language?

Read more →

Possible solution to the problem of references in programming languages

Level of difficultyMedium
Reading time4 min
Views628


Every programmer is familiar with the concept of "reference." This term usually refers to a small object whose main task is to provide access to another object physically located elsewhere. Because of this, references are convenient to use, they are easily copied, and they make it very easy to access the object to which the reference points, allowing access to the same data from different parts of the program.


Unfortunately, manual memory management, or more precisely, manual memory control, is the most common cause of various errors and vulnerabilities in software. All attempts at automatic memory management through various managers are hampered by the need to control the creation and deletion of objects, as well as periodically run garbage collection, which negatively affects application performance.


However, references in one form or another are supported in all programming languages, although the term often implies not completely equivalent terms. For example, the word "reference" can be understood as a reference as an address in memory (as in C++) and a reference as a pointer to an object (as in Python or Java).


Although there are programming languages that try to solve these problems through the concept of "ownership" (Rust, Argentum, or NewLang). The possible solution to these and other existing problems with references will be discussed further.

Read more →

Could async/await magic create thread, or it is always: “There is no thread”?

Level of difficultyMedium
Reading time4 min
Views925

When we are told “There is no thread” we can easily come to an opinion that it is impossible at ALL that asynchronous operation could create thread, but it would be wrong opinion. Simple code example proves the opposite.

Those who are easy to treat the sentence as the universal rule are easy to understand. They would like to simplify the subject and to cut amount of theory they should study and remember. Besides to many it is new level of knowledge to discover there is other layer of classes to manage async-operations behavior beside the Tasks and and SynchronizationContext is only one among them.

Read more

How to Learn Python FREE in 8-Week: The 80/20 Learning Plan

Level of difficultyEasy
Reading time6 min
Views3.7K

I know it can be hard to learn a new programming language. In this article, I want to share my plan with you. It's a way to learn Python in eight weeks using videos, articles, and practice exercises. Exercises are very important because I think the best way to learn is by doing them.

I've created this learning plan for people who don't have much free time. You only need about 30-50 minutes a day and consistency. In my plan, I use the 80/20 principle, which will help you learn the most important things first and improve the rest through practice.

For those who read this article to the end, I have prepared a learning tracking sheet to help you track your progress.

Read more

Unveiling the Power of Data Science with Python

Level of difficultyEasy
Reading time3 min
Views495

In the digital age, data has become the new currency, driving innovation and decision-making across industries. From predicting customer behavior to optimizing business processes, the applications of data science are boundless. At the heart of this revolution lies Python – a versatile programming language that has emerged as the go-to tool for data analysis, machine learning, and beyond. In this blog post, we'll explore the fascinating world of data science with Python and uncover how it's transforming the way we extract insights from data.

Read more

Implementing hypervisor-level behavioral analysis in Linux

Level of difficultyMedium
Reading time7 min
Views849

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

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

Level of difficultyMedium
Reading time3 min
Views4.4K
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 →
1
23 ...

Authors' contribution