Pull to refresh

My feed

Type
Rating limit
Level of difficulty
Warning
To set up filters sign in or sign up
Article

Obsidian+Github instead of Notion: synchronization, backup, and versioning (3-in-1)

Level of difficultyEasy
Reading time9 min
Reach and readers2.4K

How to set up transparent synchronization of Obsidian notes between devices (Desktop, Android, iOS) via GitHub:

1. Without third-party applications (like iCloud, SyncThing, Termux, etc.)
2. For free
3. As a bonus—a backup: of both the notes themselves and their change history.

The result is a full-fledged replacement for Notion: structured notes with automatic synchronization between devices.

Instructions:
Article

How I raised my English level from 0 to B2 and confirmed it with the 'most famous language exam'

Level of difficultyEasy
Reading time10 min
Reach and readers1.7K

Hello, Habr!

In this article, I will share my experience of learning English and the things that worked and didn't work for me. The process of learning a language is very individual, and you can never claim that one method/scheme is the right one (although some articles on Habr directly say: this method is right, and that one is not).

Let's start with the background and reasons.

I am a mechanical engineer (my specialty is mechanical seals for rotating shafts). I started working in my field right after my bachelor's degree, while also finishing my master's. As soon as I started working, I tried to absorb as much theoretical knowledge in my specialty from academic sources as possible. I quickly realized that the last serious book in my specialty in Russian was written in 1978. And after more than 40 years, the technology has changed significantly, but there was no description of it in Russian. However, I found people on Reddit working in the States in my same industry. They recommended a lot of great literature to me. Of course, it was all in English and had no Russian translation.

I started my language learning journey in January 2022 from a near-zero level. In all my schools, English language teaching was not at the highest level, and at university, it was enough to memorize 30 sentences to get a decent grade on the exam.

Of course, before starting, I read many articles on Habr about how people learn languages. Some of them were amazing in their speed of mastering the material (something like from zero to fluent in 4 months). But one thing was constant – everyone had some kind of language learning plan.

Read more
Article

The Reverse Junior or Debunking the Main Myth of Vibe-Coding

Level of difficultyEasy
Reading time16 min
Reach and readers2.4K

Yesterday (November 27), Habr hosted an 'Author's Fireside Chat'.

It was very interesting, and one of the speaker's statements struck me. It was that AI can help write simple pieces of code but doesn't work with complex things. Thus, large language models are likened to a junior programmer.

I decided to write an article about it this morning, drawing on my knowledge and experience in computational mathematics (I used to do modeling in the past, and for the last few years, I've been teaching computational mathematics at MIPT). Let me know what you think.

I think this is the main myth of vibe-coding. It's exactly the opposite — AI is often good at writing quite complex things and retrieving important information that is difficult to find on your own. But it gets confused in the most elementary things. It's a reverse junior.

The problem is that this is a dangerous illusion, and I will now clearly explain why, and how it can be dangerous. Brew some coffee and get ready for a debunking that might save your millions, your career, or even human lives in the future.

Read more
Article

Wrapping YouTube with a snake, or how to watch and download YouTube videos without a VPN using pure Python. Part 1

Level of difficultyEasy
Reading time13 min
Reach and readers1.8K

The modern world is saturated with all kinds of information, and in our difficult times, it's important to be able to not only find it but also to save it. Many have probably noticed that on YouTube, besides the junk, cats, and other useless things (which we sometimes don't mind watching), there is a lot of useful material on a wide variety of topics. And sometimes it would be nice to save this material for the future, so as not to depend on the changing moods in the world.

In this article, I want to explain how you can download videos, audio (Part 1 of the article), playlists, and entire channels from YouTube (Part 2 of the article) without using a VPN and in pure Python. A quick disclaimer: we won't need a VPN, but we will create our own tool that will solve the "problem with outdated and worn-out equipment Google Global Cache" (you know what I mean). I think this tool will be especially relevant today, when for many Russians, YouTube barely works or doesn't work at all.

Read more
Article

Let's forget everything about scalar and vector products. There's a much better way

Level of difficultyEasy
Reading time12 min
Reach and readers1.7K

Everyone who has taken a linear algebra or physics course at university remembers this strange dualism. We were taught that vectors have TWO types of products. The first, scalar, takes two vectors and outputs a number. Geometrically, it's about projections and angles. The second, vector, also takes two vectors and... suddenly spits out a third vector, perpendicular to the first two. And this trick only works in 3D and 7D.

It always seemed like some kind of mathematical 'crutch'.

Why is it so complicated? Why two different products for different tasks? Why does one depend on the cosine and the other on the sine?

What if I told you that they really are 'crutches'? That there is a single, universal, and elegant geometric product, which includes both of these cases (and much more), and which is based on a single, crystal-clear idea. An idea that changes the way we look at the very essence of mathematics.

This article is an invitation to the world of Geometric Algebra. We are going to reinvent multiplication.

Read more
Article

The Pythagorean Theorem: The Great Deception of the School Curriculum. How Abstraction Killed Meaning

Level of difficultyEasy
Reading time12 min
Reach and readers1.7K

We all know this formula. a^2 + b^2 = c^2.

This is perhaps the only piece of knowledge from school geometry that stays with a person for their entire life, even if they work as a barista or a copywriter.

But have you ever asked yourself the question: why squares specifically?
Why not cubes? Why not just the sum of the absolute values |a| + |b|?

If you ask a teacher, they will draw little squares on the sides of the triangle. If you ask a university professor, they will write down the definition of a scalar product.
And both of them, in essence, will deceive you. Or, to put it more mildly, they won't tell you the whole truth.

Today, we will unpack this 'black box' and see that the Pythagorean theorem is not about triangles at all. And it should be proven in a completely different way than we were taught.

The school curriculum doesn't provide an answer. Moreover, the history of teaching the Pythagorean theorem is a story of how living, visual geometry was turned into dry, dead algebra. We were led further and further away from understanding the essence and towards abstraction.

Today, we will analyze this path of degradation and show a proof that will bring you back to reality. Spoiler: the Pythagorean theorem is not about triangles. It's about mirrors.

Get ready to have all your preconceptions shattered!

Read more
Article

Beware the letter 'M'. The strangest bug of my life

Level of difficultyMedium
Reading time5 min
Reach and readers1.7K

On a Friday evening, a colleague, let's call him Avenger, asked if I had ever encountered a problem where a route returns 400... but "if you change the name to something very different," then everything is okay. At first, I didn't pay attention to the word "very". Maybe the route registration is duplicated somewhere? Or Avenger mixed up GET and POST. Or is there some general bug in handler creation?

Welcome
Article

C++: How We Ended Up with a 2 MB Hello World

Level of difficultyMedium
Reading time4 min
Reach and readers1.1K

It would seem that modern C++ offers so many possibilities... Let's try to dissect all this immense power, starting with the first step in any programming language — "Hello World".

How do compiler implementations greet a newcomer who has just written their first lines of code?

Find out how we got here
Article

Excel Life Hacks That 'Experts' Don't Know

Level of difficultyEasy
Reading time5 min
Reach and readers1.1K

I watched my experienced finance colleague struggle with Excel for a whole hour. He's an Excel guru, has been working with it for 20 years. But when I saw how he was typing formulas, I couldn't help but show him a couple of simple tricks that blew his mind.

It was a problem of ignorance—ignorance of features that have been in Excel for years, saving hours of work, but which no one ever talks about.

That's why I'm writing this article, to gather the best life hacks and save precious seconds of your life.

Read more
Article

You don't need OpenClaw—write your own

Level of difficultyEasy
Reading time14 min
Reach and readers1.1K

Hello, Habr! My name is Nikita Pastukhov—author of FastStream, Principal Engineer, and maintainer of AG2 (a framework for developing agents). I’ve been in development for 8 years, and for the last year, I’ve been up to my ears in agents.

And I want to prove to you that writing your own agent is no more difficult than writing a CRUD

Why does this even need proving? Because there’s a noticeable gap between what’s happening with AI globally and what’s happening in the average Russian company. Globally—every company has an OpenAI subscription, there are a billion startups with AI products, and agents are deeply integrated into the back office. In Russia—it’s “dangerous, we host our own models,” “it’s unclear,” and support chatbots. Globally, engineers already know how to develop agents. In Russia—it’s “what even is that?”

So let’s break down how agents work using the example of OpenClaw—the most hyped “personal AI agent” right now. It lives in your messenger, sorts your email, manages your social media, writes code, and deploys services. Its popularity is a testament to how little people are currently using agents in their daily lives. For those in the know, OpenClaw hasn’t brought anything new to the table.

Let's figure it out
Article

constexpr Game of Life

Level of difficultyMedium
Reading time20 min
Reach and readers916

For over 10 years, C++ has had constexpr, which allows the programmer to cleverly offload some computations to the compiler. At the time, this blew my mind, because the compiler can calculate some rather complex things before the program is even run!

At some point, I thought: if the compiler can calculate everything for you, then why do you need a runtime at all? What are you going to do there—print the answer or something? That’s just silly. That’s unsportsmanlike.

This is where my challenge was born:

“No hands” or “don’t even think about running the exe file”

Challenge accepted!
Article

The Go Scheduler — The Most Detailed Guide in Simple Terms

Level of difficultyMedium
Reading time27 min
Reach and readers813

Let's design the Go scheduler from scratch. We'll start with the simplest and most understandable naive implementation, and then, step by step, we'll figure out its flaws and come up with ways to solve them, gradually making the overall model more complex.

This is one of the best ways to understand a complex system or concept—by going through the process of its step-by-step design. The system is complex and not easy to grasp, but we will break it down into simple steps that are very easy to understand. After that, the puzzle will fall into place in your mind, and the overall picture of the system will be just as simple and obvious to you.

Start Designing
Article

EVSE Is Not Just Another Web Application: A Product Security Operating Model for Electric Mobility

Level of difficultyMedium
Reading time12 min
Reach and readers5.7K

A lot of security conversations still start with a familiar question:

EV charging platforms look familiar at first: APIs, cloud infrastructure, mobile apps, CI/CD, Kubernetes, telemetry, admin tools, and billing-adjacent logic. But the risk model is different. A weakness in authorization, release governance, device identity, or observability can affect not only data, but also charging sessions, stations, firmware, fleet operations, and recovery workflows.

This article explains how to approach EVSE as a Product Security problem, not just an AppSec problem.

Read more
Article

Bitcord messenger with integrated Web3-economy

Level of difficultyEasy
Reading time12 min
Reach and readers4.3K

A WONDERFUL FUTURE

Technology is advancing at an astonishing rate. It seems like only yesterday that domestically produced KR1810VM86M microprocessors with a clock rate of just 8 megahertz appeared, forever dividing our lives into “before” and “after.” And a set of eight K565RU7 memory chips (similar to the Intel 41256) provided a RAM capacity of 256 kilobytes, a fantastic value for its time.

Back then, it seemed that with such rapid development, humanity was about to transcend the galaxy and rush to other worlds. Today, these figures only evoke a smile, but it was precisely with such advances in computing technology in the 1980s and 1990s that our journey into the future world of ones and zeros began.

Read more