Pull to refresh

My feed

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

На ютюбе вышло видео Сергея Сафонова Как Intel создал ARM, ARM похоронил MIPS, на очереди X86? Видео хорошее, в нем нет крупных косяков, но есть крупная дыра (или я просто смотрел невнимательно и пропустил?), отсутствующая информация о ключевом событии. В нем упадок RISC-процессоров в районе 2000 года рассматривается как некая загадочная энигма, а между тем все не просто, а очень просто. Вся индустрия в конце 1990-х ждала выхода процессора Intel Itanium, которому предсказывали взрывной рост и распостранение. Всем остальным процессорам предписывалось в организованном порядке идти на кладбище истории.

Из-за прогнозируемого триумфа Итаниума, HP отказались от своего RISC-процессора HP-PA, который в лучшие годы занимал 40% рынка рабочих станций для автоматизации проектирования электроники. DEC забила на свой RISC-процессор Alpha, на который еще в середине 1990-х спортировали Windows NT. Silicon Graphics перестали использовать MIPS для графики для Голливуда и отделили от себя MIPS Technologies которые стали специализироваться на лицензировании процессорных ядер для встроенных устройств. IBM и даже Sun собирались перейти на Itanium.

Однако когда Itanium вышел, его продажи были в десятки раз ниже чем прогнозировалось. Процессор строился на архитектуре VLIW, как современный российский Эльбрус, и имел те же проблемы. В частности, на такой архитектуре, с несколькими параллельными инструкциями в одном командном слове, трудно добиться хороших бенчмарк на программах общего назначения. Эти параллельные инструкции соединяет в одно слово компилятор, и ему трудно предсказать задержки при работе с памятью, которые при промахе кэша могут быть десятки и даже пару сотен тактов (при многоуровневом кэше, особенно с многоядерностью). Обычный суперскалярный процессор в таком случае просто запускает следующие независимые от доступа к памяти инструкции (см. алгоритм Томасуло), а вот VLIW процессору приходится простаивать.

VLIW процессоры хороши чтобы просчитывать какую-нибудь физику, с одновременной обработкой массивов данных, но запускать на нем браузеры или Микрософт Офис - это наблюдать посредственную производительность. Но в 1997 году, после анонса Itanium-а и до его выхода в 2001 - компании об этом не то что не знали, но думали что каток хайпа от Интела повторит каток хайпа от Микрософта по поводу Windows, и Итаниум будет везде.

Об этом есть известная статья Джона Дворака "Как Итаниум убил компьютерную индустрию".

Другое замечание: Сергея Сафонова в видео смешивает архитектуру (систему команд, видимую программисту сторону процессора) и микроархитектуру (аппаратную организацию, устройство конвейера и блоков процессорного ядра). RISC-архитектура способствует эффективной конвейерной микроархитектуре, но это не одно и то же. См. мою заметку "Что означает информация в заметке Коммерсанта «Британия морозит «Байкал»"

И где можно было бы дополнить:

  1. Мода на RISC возникла не просто так, а в результате анализа использования инструкций в пользовательских программах. Такое масштабное исследование провела группа профессора Джона Хеннесси в Стенфорде в 1978-1980 году.

  2. История RISC-процессоров в 1980-е тесно переплетается с историей кэшей. Они стали популярны именно в 1980-е потому что скорость арифметических операций росла в те годы гораздо быстрее, чем скорость доступа к основной памяти, DRAM.

    Если раньше, в 1960-е годы, арифметическая операция занимала больше, чем чтение или запись из памяти, то сейчас за одну транзакцию к памяти при промахе кэша можно выполнить десятки сложений. Поэтому стало рости и количество регистров (в x86 их изначально было меньше, а 6502 в ранних Apple - вообще аккумуляторные процессоры) и стал требоваться кэш, а иначе конвейер бы простаивал.

  3. На то, что индустрия отвернулась от MIPS и повернулась к ARM, повлияла и история о том, как MIPS стал судить стартап Lexra. Lexra типа нарушала патент на инструкции с невыравненным доступом к памяти. Процесс был высосан из пальца, но MIPS затянул разбирательство и у стартапа кончились деньги на юристов.

Tags:
+7
Comments6
Article

The Links Theory 0.0.2

Level of difficultyMedium
Reading time25 min
Views350

This world needs a new theory — a theory that could describe all the theories on the planet. A theory that could easily describe philosophy, mathematics, physics, and psychology. The one that makes all kinds of sciences computable.

This is exactly what we are working on. If we succeed, this theory will become the unified meta-theory of everything.

A year has passed since our last publication, and our task is to share the progress with our the English-speaking audience. This is still not a stable version; it’s a draft. Therefore, we welcome any feedback, as well as your participation in the development of the links theory.

As with everything we have done before, the links theory is published and released into the public domain — it belongs to humanity, that means, it is yours. This work has many authors, but the work itself is far more important than any specific authorship. We hope that today it can become useful to more people.

We invite you to become a part of this exciting adventure.

Witness the birth of meta-theory
Article

Универсальное решение или компромисс: стоит ли покупать игровой ноутбук для работы

Level of difficultyEasy
Reading time8 min
Views411

Выбирая ноутбук для работы, многие задумываются: а что, если взять игровую модель? Логика простая — раз он тянет современные игры, то и с рабочими задачами справится на ура. Давайте разберемся, насколько это верно и кому такой вариант может подойти, а кому – нет. Статья предназначена для тех, кто сам еще не задумывался об этих вопросах и не составлял список плюсов/минусов использования игрового ноутбука в качестве рабочей машины.

Read more
Article

Gemma 3 Tutorial for Beginners – Google’s Most Powerful Open AI

Level of difficultyEasy
Reading time6 min
Views197

Google has introduced Gemma 3, a collection of lightweight, open-source AI models designed for efficient performance across various devices, from smartphones to workstations. Building upon the technology of the Gemini 2.0 models, Gemma 3 supports over 140 languages and offers advanced text and visual reasoning capabilities. What's to know more? Then, read this article until the end.

Read more
Article

How to Add Any CSS Framework to Your Project. Part 1

Level of difficultyEasy
Reading time3 min
Views313

There are several ways to integrate a CSS library into your project. By “CSS library,” I mean any modern CSS framework or UI library, such as Bootstrap, NG-Zorro, PrimeNG, etc. While all these methods work, many do not offer great flexibility or support deep customization of the chosen framework.

To build a robust foundation for your design system and ensure easy future customization, it’s best to use the source code styles (SASS or LESS files) instead of the minified version. This approach provides a more convenient workflow, reduces unnecessary code, and increases flexibility.

Read more
Article

Top Web Parsers and API Services for Data scraping: A Comparison of Speed, Scalability, and Bypassing Protections

Level of difficultyEasy
Reading time22 min
Views445

Automatic data scraping (parsing) has become an essential practice for developers, analysts, and automation specialists. It is used to extract massive amounts of information from websites—from competitors’ prices and reviews to social media content. To achieve this, numerous “scrapers” have been developed—libraries, frameworks, and cloud services that enable programmatic extraction of web data. Some solutions are designed for rapid parsing of static pages, others for bypassing complex JavaScript navigation, and yet others for retrieving data via APIs.

In this article, I will review the top scraping tools—both open source libraries and commercial SaaS/API services—and compare them according to key metrics: • Speed and scalability; • Ability to bypass anti-bot protections; • Proxy support and CAPTCHA recognition; • Quality of documentation; • Availability of APIs and other important features.

Read more
Article

ChatGPT Canvas Killer? Hands-On with Google Gemini Canvas

Level of difficultyEasy
Reading time3 min
Views454

The world of AI is constantly evolving, and it feels like every week brings a new tool promising to revolutionize how we work and create. I recently got a chance to try out Gemini Canvas, a new interactive space built into Google’s Gemini app. If you want to know what I discovered and how you might use it, read this article until the end.

Read more
Article

Can we guarantee that there will be no memory leaks due to circular references?

Level of difficultyEasy
Reading time4 min
Views369


The most common types of software bugs are memory management bugs. And very often they lead to the most tragic consequences. There are many types of memory bugs, but the only ones that matter now are memory leaks due to circular references, when two or more objects directly or indirectly refer to each other, causing the RAM available to the application to gradually decrease because it cannot be freed.


Memory leaks due to circular references are the most difficult to analyze, while all other types have been successfully solved for a long time. All other memory bugs can be solved at the programming language level (for example, with garbage collectors, borrow checking or library templates), but the problem of memory leaks due to circular references remains unsolved to this day.


But it seems to me that there is a very simple way to solve the problem of memory leaks due to circular references in a program, which can be implemented in almost any typed programming language, of course, if you do not use the all-permissive keyword unsafe for Rust or std::reinterpret_cast in the case of C++.

Read more →
Article

A React Native & Lynx i18n solution that keeps your translations organized

Level of difficultyEasy
Reading time3 min
Views188

If you’re building a multilingual React Native (or web) app, you’ve probably tried react-i18next, i18n-js, LinguiJS, or similar libraries.

But in every project, the same issues come up:

❌ Unused key-value pairs are never removed
❌ Content gets duplicated
❌ Ensuring format consistency across languages is painful
❌ i18next doesn’t generate TypeScript types by default – so t("my.key") won’t throw even if it’s been deleted
❌ Localization platforms like Lokalise or Locize get expensive fast

Frustrated by these challenges, I waited for a better solution... then decided to build one myself: Intlayer.

Read more
Article

How to Bypass Cloudflare Turnstile CAPTCHA – or Bypassing Cloudflare at Varying Levels of Difficulty

Level of difficultyEasy
Reading time18 min
Views659

As part of my scientific and research interests, I decided to experiment with bypassing complex types of CAPTCHAs. Well, by “experiment” I mean testing the functionality and verifying that my electronic colleague can write code on my behalf. Yes, there was a lot of extra stuff—follow ethical norms, blah blah blah… But the simple fact remains: dude, I’m doing this solely as part of research, and everyone agreed.

Read more
Article

Mastering Data Lifecycle Management: ILM in Postgres Pro Enterprise 17

Level of difficultyMedium
Reading time6 min
Views159

Storing all your data in one place might seem convenient, but it’s often impractical. High costs, database scalability limits, and complex administration create major hurdles. That’s why smart businesses rely on Information Lifecycle Management (ILM) — a structured approach that automates data management based on policies and best practices.

With Postgres Pro Enterprise 17, ILM is now easier than ever, thanks to the pgpro_ilm extension. This tool enables seamless data tiering, much like Oracle's ILM functionality. Let’s dive into the challenges of managing large databases, how ILM solves them, and how you can implement it in Postgres Pro Enterprise 17.

Read more
Article

You Can Grow or Stay Stuck: It All Depends on Your Mindset

Level of difficultyEasy
Reading time2 min
Views481

Check Yourself:

– Does your mindset hold you back?
– Do you try to look smarter than you are?
– Do you avoid difficult tasks to not seem "incompetent"?
– Do you believe success is all about talent, not effort?
– Do you think working harder means you're less talented?

If you said yes to these,

Read more
Article

jBPM as AI Orchestration Platform

Level of difficultyEasy
Reading time4 min
Views540

Author: Sergey Lukyanchikov, C-NLTX/Open-Source

Disclaimer: The views expressed in this document reflect the author's subjective perspective on the current and potential capabilities of jBPM.

This text presents jBPM as a platform for orchestrating external AI-centric environments, such as Python, used for designing and running AI solutions. We will provide an overview of jBPM’s most relevant functionalities for AI orchestration and walk you through a practical example that demonstrates its effectiveness as an AI orchestration platform:

Read more
Article

Energomera CE6806P: Bridging Analog and Digital in Energy Metering

Level of difficultyMedium
Reading time10 min
Views664

How did engineers in the past manage to measure electrical power without modern microchips and DSPs? This article explores the Energomera CE6806P, a device created in 2006 for verifying electricity meters, yet built using 1980s-era technology.

We’ll take a closer look at its design, principles of operation, and how discrete-analog solutions were used to achieve high accuracy. The Energomera is a fascinating example of engineering and ingenuity, giving us a unique perspective on the evolution of electrical measurement devices.

Read more
Article

What’s in Store for pg_probackup 3

Level of difficultyMedium
Reading time12 min
Views578

While pg_probackup 3 is still in the works and not yet available to the public, let’s dive into what’s new under the hood. There’s a lot to unpack — from a completely reimagined application architecture to long-awaited features and seamless integration with other tools. 

Read more
Article

Trading Addiction: How Millions of People Lose Years and Fortunes in the Markets

Reading time14 min
Views645

A lot of people around me spend time trading on the stock market. Some trade crypto, some trade stocks, others trade currencies. Some call themselves investors, others call themselves traders. I often see random passersby in various cities and countries checking their trading terminals on their phones or laptops. And at night I sometimes write analytical or backtesting software—well, I did up until recently. All these people share a common faith and a set of misconceptions about the market.

Read more
1
23 ...