
This article is an author's and AI-assisted translation of the russian one ( https://habr.com/ru/articles/864770/ ) into English
This article is an author's and AI-assisted translation of the russian one ( https://habr.com/ru/articles/864770/ ) into English
Cars are among the most technologically advanced consumer-level devices on the market. They have been shaping lifestyles, laws, supply chains, and many other aspects of human society's evolution.
But today, we’re witnessing a silent revolution – one driven not by hardware, but by software. Modern cars are no longer just machines; they’re dynamic, evolving platforms powered by code. This transformation is reshaping every aspect of the automotive industry, from design and manufacturing to ownership and recycling.
In my latest article, I explore six levels of evolution brought about by software’s growing role in vehicles and related fields:
Capabilities - Over-the-air updates and digital twins unlock new features and extend hardware lifespans.
Design - Digital platforms replace manual processes, enabling faster innovation.
Architecture - Modular systems open doors to new partnerships and revenue streams.
Engineering - Agile, feature-centric paradigms align hardware and software development.
Manufacturing - Factories become dynamic, software-driven ecosystems for flexibility and sustainability.
Lifecycle - Software extends vehicle lifecycles, from supply chains to closed-loop recycling.
This transformation isn’t just about technology – it’s about reimagining the industry itself. Do we need a revolution to achieve a better, more sustainable future, or do we already have the tools to evolve?
The automotive industry is at a crossroads. For engineers, it demands fluency in code. For industries, it requires agility. For the planet, it offers a roadmap to reconcile mobility with sustainability.
The road ahead is coded, but the destination is open-ended – shaped by collaboration, innovation, and the choices we make today.
These days, Chinese products and services have seeped into nearly every niche. Sure, when someone mentions a Chinese development, you might chuckle and be reminded of those 90’s internet gems like “Glasses, do you need ‘em?”—and honestly, not much has changed. Even DeepSeek ended up being neither truly deep nor entirely seek. Yet, there’s something they’ve perfected, which leaves many SEO optimizers weeping salty tears while trying to bypass the Geetest CAPTCHA.
In recent years, discussions about the environmental impact of information and communication technologies (ICTs) have largely revolved around hardware — data centers, electronic waste, and energy consumption. However, an equally important factor has been overlooked: the software development methodologies themselves.
When I read the UNCTAD “Digital Economy Report 2024”, I was struck by the complete absence of any mention of how programming methodologies impact sustainability. There was no discussion of whether developers use algorithm-centric or code-centric methodologies when creating software, nor how these choices affect the environment.
This realization led me to introduce the concept of Eco-Methodological Sustainability — a new approach that highlights the role of structured software development methodologies in shaping an environmentally sustainable future for the digital economy.
Memory leaks in Node.js can be silent killers for your applications. They degrade performance, increase costs, and eventually lead to crashes. Let’s break down common causes and actionable strategies to prevent or fix them.
Up to a certain point, I sincerely believed that in today’s world manual CAPTCHA recognition was gradually becoming an anachronism, especially when it came to such simple CAPTCHAs as image-based ones—where one merely needs to read text off a photograph and input it as plain text. But as it turns out, things aren’t quite so straightforward (no matter how it may sound).
tl;dr; in the modern TS/JS landscape and overall tooling trends, better stick with static code generators, they are more performant in many ways, easier to integrate into apps, other tools and the multitude of modern JS runtimes. My new tool is as good as other static code generators, but it also produces strictly type safe code and unit tests for you.
This post goes into a rather deep comparison of my new tool Type Predicate Generator (from here just Generator) to other runtime type checkers, also giving a rather broad overview of the related topics. To get a sense of what it does try checking the Playground first.
If you're about to create your first tool for the TypeScript ecosystem the insights in this article will help you hit the ground running.
Написал лонгрид на английском о текущем состоянии открытых средств проектирования ASIC-ов. Заодно познакомил англоязычных читателей с практиками шаманов Сибири и фигурой Ивана Сусанина. Упомянул планируемые семинары в Мексике и Армении.
A text on the current state of Open-source ASIC design tools. Includes side discussions of the upcoming hackathons in Mexico and Armenia, Docker and Python, Static Timing Analysis and RISC-V, Siberian shamans and treacherous swamps in Belarus.
Trends change rapidly in UI/UX, and new year means quite a few new emerging innovations that designers should be aware of in order to create relevant and engaging designs. Some trends stay on from previous years, some are completely new, and some might end up being the fleeting ones, so it’s important to pearl off those that truly elevate user experience and make a better impact on your product. Let’s discuss some of the most anticipated UI/UX trends of the coming year.
We are a brokerage platform operating in a dynamic and complex domain. This specificity comes with a set of challenges. On the one hand, it entails a high variability of scenarios and potentially significant risks associated with errors. On the other hand, it has short development iterations with frequent delivery cycles.
In this article, we will share how we maintain the quality of our numerous backend services, which provide essential information to our trading terminals.
The photograph accompanying this article captures a moment I once witnessed on a beach in Silicon Valley, California. The endless waves of the Pacific Ocean stretch into the distance, fading and dissolving into the sand. All three states of matter are present here: the solid, unmoving sand; the liquid, flowing water; and the wind — invisible yet tangible chaos of air. This landscape seems to symbolize the transitions and boundaries between order and freedom, between stability and change.
This very scene inspired me to reflect on how DAOs, Decentralized Autonomous Organizations, transform into a "third state" for communities. They combine the chaotic freedom of scattered individuals and the structured order of centralized organizations, creating something new — fluid and adaptive.
Apache Kafka is a distributed event-streaming platform designed to handle real-time data feeds. It allows applications to publish, process, and subscribe to streams of data in a highly scalable, fault-tolerant manner.
Have you ever struggled to turn business ideas into a product? Or tried to understand the way another team works?
If you have, you know how exhausting it can be. Different ways of thinking –business, analysis, and engineering – don’t always fit together easily.
This article blends a simple story with engineering tools to show how creativity and structure can work together. Using characters like The King, The Troll, and The Prince, it explores how storytelling can help solve tough problems and make complex ideas clearer.
If you’ve ever faced a "troll" at work, this story might help you see things differently – and maybe even make the process a bit more fun.
Are you ready to level up your skills as a developer in 2025? In this article, I show 10 books that will help you become a better programmer, enhance your coding practices, and improve your overall software engineering skills. Whether you’re a beginner or an experienced developer, these books cover essential topics like clean coding, debugging, system design, productivity, and more.
/Sandbox 23.12.2024/
On 17.10.2024, the article “A new inherent approach to solving the Collatz 3n+1 problem and its analogues” was published on the Academia.edu website [1]. The second link is for those who find it easier to read in Russian “Новый внутренне присущий подход к решению проблемы Коллатца 3n+1 и ее аналогов” [2].
The English version was originally intended for the arXiv preprint platform, but they suggested first publishing in a peer-reviewed mathematical journal. Attempts to access other platforms HAL, Qeios, and ResearchGate were met with the requirement for affiliation, which an independent researcher does not have.
The process took almost two months — more than the research itself from idea to text. As a result, the article ended up on the Academia site, which is free from “face control”. I think it will be useful for anyone interested in the Collatz conjecture to read it. Exclusively for Habr, this short text summarizing the content and meaning of the publication.
Any SEO expert knows the pain of collecting Google keyword data. It’s one thing if you can count all the queries on one hand, but what if they number in the thousands? How do you check the search volume in Google for each keyword? Frankly, once you hit tens of thousands of keywords, it’s enough to make your head spin. You’ll be tempted to reach for outdated, familiar tools, only to find modern reality throwing a curveball: the old formula of Key Collector + Google Ads + a few proxies simply doesn’t cut it anymore. We’re entering a new era, and without direct access to the official API, things get grim and complicated fast.
In the fast-paced world of software development, ensuring the quality and reliability of applications is crucial. With the ever-increasing complexity of software systems, it becomes essential to adopt a comprehensive and structured approach to testing. One such approach can be encapsulated in the acronym "RABBIT," where each letter stands for a distinct branch of testing. This multifaceted strategy covers various testing methodologies that together create a robust framework for quality assurance. This article explores each branch of RABBIT testing in detail, providing insights into their significance, implementation, and appropriate use cases.
Automation can be an exhilarating, albeit exhausting, journey‑especially for those just dipping their toes into it. The tasks are often labeled as “interesting” or “non‑standard,” which, let”s be honest, often translates to “challenging” or even “impossible.” Among these challenges, one question halts around 50% of novice automators in their tracks: How to bypass CAPTCHA!
The robotics industry is undergoing a significant transformation, moving beyond static systems and rigid programming to dynamic, adaptive solutions powered by artificial intelligence (AI). With these advancements, robots are increasingly capable of real-time decision-making and learning, opening up new opportunities to enhance workplace safety and efficiency.
In today's digital world, where applications process increasing amounts of sensitive data, ensuring reliable user authentication is critical. Authentication is the process of verifying the identity of a user who is trying to access a system. A properly chosen authentication method protects data from unauthorized access, prevents fraud, and increases user confidence.
However, with the development of technology, new authentication methods are emerging, and choosing the optimal solution can be difficult. This article will help developers and business owners understand the variety of authentication approaches and make informed choices.