Как стать автором
Обновить
39
0

Пользователь

Отправить сообщение

Ловушка алгоритмизации, или как 44-ФЗ породил коррупцию

Время на прочтение10 мин
Количество просмотров58K

Один из столпов российский борьбы с коррупцией — это призванный сделать все госзакупки прозрачными и честными федеральный закон «О контрактной системе в сфере закупок товаров, работ, услуг для обеспечения государственных и муниципальных нужд» от 05.04.2013 № 44-ФЗ. Ушла пора, когда коррумпированные чиновники закупали за миллионы рублей то, что стоит копейки, настало светлое время — и экономика наконец стала экономной.

Желание написать этот текст у меня возникло с неделю назад, когда я подискутировал в комментариях на Хабре с человеком, идеалистично считающим, что система госзакупок построена так, чтобы купить лучший товар по минимальной цене — и было заглохло. Но вчера на глаза попалась дискуссия о том же 44-ФЗ в Телеграм-каналах, начатая Алексеем Чадаевым:

Самый коррупциогенный из наших законов, твёрдый первый номер с большим отрывом — 44-ФЗ (о госзакупках) весь целиком построен на философии борьбы с коррупцией.

Или нет?

Читать далее
Всего голосов 255: ↑249 и ↓6+301
Комментарии525

I. Дезадаптации. II. СДВГ или ленивый придурок?

Время на прочтение16 мин
Количество просмотров29K
Предупреждение: Данная статья написана не квалифицированным врачом-психиатром, а пациентом с тяжелой патологией.

Напоминание: СДВГ, тем более в выраженной форме, обостряет многие когнитивные искажения. У таких пациентов, как я, выпукло проявляется эффект Даннинга-Крюгера. Переходящая все границы небрежность компрометирует факты и источники информации, а сниженный интеллект при полном отсутствии внимания к значимым деталям ставит под сомнение выводы и обобщения.


Ответ — нет! Вы не ленивый придурок, если задаете себе такой вопрос. Вы “счастливый” обладатель одного или нескольких сразу дезадаптивных механизмов, реализованных вашим мозгом, в результате чего блокируются некоторые поведенческие выходы.
Читать дальше →
Всего голосов 37: ↑33 и ↓4+29
Комментарии111

СДВГ. Вечные прокрастинаторы, лгуны и неряхи

Время на прочтение8 мин
Количество просмотров120K
Предупреждение: данная статья написана не квалифицированным врачом-психиатром, а пациентом с тяжелой потологией, который с призрачными шансами на успех пытается преодолеть свой недуг.

Синдром дефицита внимания и гиперактивности

Нас 5-10% (в зависимости от региона). У большинства из нас после выравнивания гормонального фона в постпубертатный период патология становится менее выраженной. В этом случае нас отличает неряшливость, прокрастинация, шумность, безалаберность и непунктуальность. Мы отвратительные работники, если выбранное нами дело требует системного подхода и длительной концентрации. Вообще-то, честно говоря, почти любое дело требует системного подхода и концентрации. Даже маркетинг и продажи в 21 веке это десятки методик и сотни талмудов. Ну, а программирование, инженерное дело — это вообще не для нас. Продажи и коммуникации — это те сферы, где мы обычно оседаем. Мы быстры и болтливы, к тому же часто очень эмпатичны, поэтому кажемся сами себе менеджерами-суперменами в сравнению с остальными увальнями. Но штука в том, что в этой сфере занято много некомпетентных идиотов. В России нас спасает повальный непрофессионализм и дичайшая некомпетентность серой массы работников этой сферы.

Ах да, еще мы убеждены, что мы не серая масса.
Читать дальше →
Всего голосов 80: ↑70 и ↓10+60
Комментарии261

Согласование импедансов: как сломать и как починить

Время на прочтение8 мин
Количество просмотров36K

Рано или поздно в руки любителей, начинавших с Ардуино, попадают куда более быстрые устройства. Накинув щупы осциллографа на навесные провода, они обнаруживают, что сигнал, который задумывался, как голубая линия на заглавной картинке на деле выглядит, как жёлтая. В поисках решения проблемы они приходят к весьма многогранной области знаний под названием «Целостность сигналов». И если такие её аспекты, как питание и возвратные токи относительно просты для понимания, то согласование импедансов содержит ряд контринтуитивных положений. В процессе освоения данной темы мне показалось, что материалы по ней разделены на три не слишком хорошо связанных блока:
1) теория с формулами и отсылками к 2 курсу ВУЗа
2) гипертрофированные примеры на симуляторах
3) применение на практике (с эмпирическими суевериями)

Данная статья является попыткой начать с конца. Я возьму работающую схему, выполненную в текстолите. Затем постараюсь ухудшить её характеристики так, чтобы рассогласование линий стало причиной сбоев в работе или хотя бы стало заметно на осциллографе. А затем постараюсь устранить возникшие проблемы.

Согласовать импедансы
Всего голосов 68: ↑67 и ↓1+88
Комментарии40

[Love is in the air] Ищу парня-программиста, Мск

Время на прочтение1 мин
Количество просмотров65K

Очень странный заголовок знаю. Прежде чем угорать и осуждать разложу все по полочкам . Модератор, не будь бессердечным, пожалей, не удаляяяй!

[Модератор не смог остаться бессердечным... ]

Читать далее
Всего голосов 212: ↑101 и ↓111+24
Комментарии395

Обзор отечественных микросхем, соответствующих 719 ПП РФ. Часть 2

Время на прочтение21 мин
Количество просмотров39K

В 2020 году я опубликовал статью про отечественные микросхемы, соответствующие 719 ПП РФ. Напомню, что это одна из мер правительства по поддержки отечественных производителей на регулируемых государством рынках. Например, при закупках в интересах государственных органов России приоритет отдается товарам из реестра продукции выпущенной в России. Что бы продукция попала в данных реестр, она должна соответствовать требованиям, описанным в 719 и 878 ПП РФ. И одним из требований к электронной техники является применение отечественных микросхем из этого же реестра, требования к которым так же описаны в данном постановлении.

В начале 2020 в реестре было всего 22 микросхемы. К концу 21 года в реестре находится уже более 70 записей. Попробуем их рассмотреть поподробней, какие новые микросхемы появились за последний год.

Читать далее
Всего голосов 25: ↑24 и ↓1+32
Комментарии85

System-on-Chip bus: AXI4 simplified and explained

Время на прочтение20 мин
Количество просмотров32K

Protocol AXI4 was developed for High-bandwidth and low latency applications. It is designed to allow communication between master and slave devices. Master is typically a DMA or CPU and slaves are DRAM controllers, or other specific protocol controllers: UART, SPI, and others. Sometimes one component can implement multiple instances of this protocol. Usually, a prefix is used to differentiate between multiple AXI4 interfaces.

For example, Ethernet MAC can integrate DMA and slave interface used to command MAC. MAC can accept commands on the slave interface that contain data about the location of the next ethernet packet and MAC can start fetching this packet using the separate master interface instance.

This article was motivated by common design mistakes AXI4 designers make when they are designing their Digital IP. (Looking at you Xilinx)

Read more
Всего голосов 10: ↑10 и ↓0+10
Комментарии1

Как разработать микросхему. Собственный процессор (почти)

Время на прочтение6 мин
Количество просмотров42K

Как же разработать свою микросхему. Задался я этим вопросом, когда я захотел создать собственный процессор. Пошёл я гуглить и ничего годного не нашёл. Ответы в основном два։ "Ты не сделаешь свой процессор, потому что слишком сложно" и "Забей и собери компьютер из комплектующих".

Очевидно что это меня не устаивает, поэтому я решил изучить вопрос серьезнее. Оказалось можно сделать свой процессор описав его с помощью Verilog и FPGA. Купил плату в Китае, 3 года спокойным темпами написал свой процессор, оттестировал, скомпилировал и залил на FPGA. Но мне этого не достаточно.

Читать далее
Всего голосов 66: ↑62 и ↓4+81
Комментарии28

OS1: примитивное ядро на Rust для x86. Часть 3. Карта памяти, Page fault exception, куча и аллокации

Время на прочтение18 мин
Количество просмотров4.8K

Первая часть
Вторая часть


Тема сегодняшнего разговора — работа с памятью. Я расскажу про инициализацию директории страниц, маппинг физической памяти, управление виртуальной и мою организацию кучи для аллокатора.


Как я уже говорил в первой статье, я решил использовать страницы размером 4 МБ, чтобы упростить себе жизнь и не иметь дела с иерархическими таблицами. В дальнейшем я надеюсь перейти на страницы размером 4 КБ, как большинство современных систем. Я мог бы использовать готовый (например, такой блочный аллокатор), но написать свой было чуть интереснее и хотелось чуть больше понять, как живет память, так что мне есть, что вам рассказать.

Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии12

The Snake game for FPGA Cyclone IV (with VGA & SPI joystick)

Время на прочтение8 мин
Количество просмотров10K

Introduction


Do you remember the snake game from childhood, where a snake runs on the screen trying to eat an apple? This article describes our implementation of the game on an FPGA1.


Gameplay.gif
Figure 1. Gameplay

Читать дальше →
Всего голосов 45: ↑39 и ↓6+33
Комментарии32

Эмулятор БК-0010 на FPGA

Время на прочтение8 мин
Количество просмотров18K


Большинство любительских проектов FPGA, опубликованных на Хабре, сделаны на оборудовании фирмы Altera (теперь Intel). Давайте для разнообразия посмотрим, что можно сделать на продукции его основного конкурента – Xilinx. Мы возьмём и сделаем достаточно большой и сложный проект, в процессе реализации которого нам понадобится:

  • Выбрать Development board и необходимые PMOD к ней
  • Определиться с дизайном проекта, выбрать clock domains и правила перехода между ними
  • Освоить основные функции Xilinx Vivado – создание проекта, работу с блочными схемами, компиляцию, симуляцию, отладку
  • Сделать несколько IP с интерфейсом AXI4
  • Поработать с внешними устройствами
  • Сделать с нуля собственный процессор с контроллером шины и обработкой прерываний
  • Написать модуль для верификации
  • Наконец собрать всё вместе и получить реализацию на FPGA легендарного (как минимум для тех, кто тогда жил) компьютера середины 80-х – БК-0010

Планируется цикл статей, в которых всё это будет подробно описано, сегодня первая из них. Проект написан на System Verilog с небольшими вставками Verilog и VHDL в тех местах, где это необходимо. От читателя требуется понимание базовых принципов языков Verilog/VHDL на уровне книжки Харрис&Харрис.
Читать дальше →
Всего голосов 56: ↑55 и ↓1+54
Комментарии45

У «Казаков» секретов нет

Время на прочтение4 мин
Количество просмотров37K
image

Думаю, многие из читателей с добрым словом вспомнят серию игр «Казаки», многочасовые баталии, военные хитрости и бесподобное звуковое сопровождение — отличная стратегия своего времени.

Спустя 15 лет они вернулись, и теперь уже в режиме онлайн, о проблемах и уязвимостях новой версии и пойдет речь в данной статье.
Читать дальше →
Всего голосов 52: ↑49 и ↓3+46
Комментарии14

Как я в одиночку сделал игру и выводы

Время на прочтение6 мин
Количество просмотров39K

История разработки одной фанатской компьютерной игры Fallout: The X-Project и попытки сделать из неё «конфетку»


Предупрежу сразу, вы не увидите в этой статье каких-то актуальных и современных знаний, да и в целом, я не стану в ней уделять много внимания техническим аспектам.

Объясню почему: сама по себе игра разрабатывалась в период с 1998 по 2008 год, а наиболее активно — где-то с 2004 по 2007. Если честно, то я и в 2005-м понимал, что будущего у игры нет. Но хотел просто её закончить. Иначе зачем столько времени и усилий потратил на проект? К тому же, я был не один, и нельзя допускать, чтобы чужие усилия были потрачены впустую. Ответственность.

Но не будем отходить в сторону. Кому будет полезна статья? В первую очередь таким же ребятам, каким я был сам, учась в институте. Мечтателям, желающим создать свою игру мечты.
Читать дальше →
Всего голосов 71: ↑66 и ↓5+61
Комментарии69

Собственная платформа. Часть 0.2 Теория. Интерпретатор CHIP8

Время на прочтение7 мин
Количество просмотров7.5K

Введение


Здравствуй, мир! Сегодня у нас перевод спецификации языка CHIP8. Это статья содержит только теоретическую часть.


*COSMAC ELF во всей красе*

COSMAC ELF


Что такое CHIP8?


CHIP8 это интерпретируемый язык программирования, который был разработан Джозефом Вейзбекером (прим. перевод Joseph Weisbecker) в семидесятых для использования в RCA COSMAC VIP. В дальнейшем был использован в COSMAC ELF, Telmac 1800, ETI 660, DREAM 6800. Тридцать одна (35?) инструкция давали возможности для вывода простого звука, монохромной графики в разрешении 64 на 32 пикселя, а также позволяло использовать 16 пользовательских кнопок. Сегодня CHIP-8 часто используется для обучения базовым навыком эмуляции (не интерпретации). Интерпретаторы CHIP-8, часто по ошибке называемые „эмуляторами“, существуют на все более расширяющемся множестве платформ. Это обилие интерпретаторов связано со сходством дизайна интерпретатора CHIP-8 и эмулятора системы. Те, кто хочет разобраться в эмуляторах, нередко начинают с написания интерпретатора CHIP-8.


Читать дальше →
Всего голосов 11: ↑10 и ↓1+9
Комментарии4

Реализация PCI Express v3.0 x16 на ПЛИС Virtex 7

Время на прочтение10 мин
Количество просмотров18K


В компьютерах уже давно есть шина PCI Express v3.0 x16; Тесты современных видеоадаптеров показывают на этой шине скорость около 12 Гбайт/с. Хотелось бы сделать модуль на ПЛИС который обладает такой же скоростью. Однако доступные ПЛИС имеют HARDWARE контроллер только для PCIe v3.0 x8; Реализации SOFT IP Core есть, но очень дорогие. Но выход есть.
Читать дальше →
Всего голосов 35: ↑35 и ↓0+35
Комментарии28

Делаем проект на Node.js с использованием Mongoose, Express, Cluster. Часть 2.1

Время на прочтение7 мин
Количество просмотров20K

Введение


Здраствуйте, дорогие хабровчане! Сегодня у нас в основном будут маленькие изменения, но изменений много. В этой части мы будем:


  • Создавать свой логгер
  • Записывать в лог запросы и время их обработки
  • Исправлять ошибки, которые мы допустили в первой части.
  • Разбираться с авторизациеей
  • Разбираться с некоторыми классами
  • Конфиги!
Читать дальше →
Всего голосов 19: ↑15 и ↓4+11
Комментарии8

Ваш язык программирования — отстой

Время на прочтение54 мин
Количество просмотров139K
1 Почему JavaScript отстой
• 1.1 Плохая конструкция
• 1.2 Система типов
• 1.3 Плохие функции
• 1.4 Отсутствующие функции
• 1.5 DOM
2 Почему Lua отстой
3 Почему PHP отстой
• 3.1 Исправлено в поддерживаемых в настоящее время версиях
4 Почему Perl 5 отстой
5 Почему Python отстой
• 5.1 Исправлено в Python 3
6 Почему Ruby отстой
7 Почему Flex/ActionScript отстой
8 Почему скриптовые языки отстой
9 Почему C отстой
10 Почему C++ отстой
11 Почему .NET отстой
12 Почему C# отстой
13 Почему VB.NET отстой
15 Почему Objective-C отстой
16 Почему Java отстой
• 16.1 Синтаксис
• 16.2 Исправлено в Java 7 (2011)
• 16.3 Модель
• 16.4 Библиотека
• 16.5 Обсуждение
17 Почему Backbase отстой
18 Почему XML отстой
19 Почему отстой XSLT/XPath
20 Почему CSS отстой
• 20.1 Исправлено в CSS3
21 Почему Scala отстой
22 Почему Haskell отстой
23 Почему Closure отстой
24 Почему Go отстой
• 24.1 Базовые средства программирования (базовый язык)
• 24.2 Взаимосовместимость
• 24.3 Стандартная библиотека
• 24.4 Набор инструментальных средств
• 24.5 Сообщество
25 Почему Rust отстой
• 25.1 Безопасность
• 25.2 Синтаксис
• 25.3 Конструкция API и система типов
• 25.4 Сообщество
• 25.5 Набор инструментальных средств

Почему JavaScript отстой


Учтите, что некоторые положения относятся не к самому JavaScript, а к программным интерфейсам веб-приложений (https://developer.mozilla.org/en/docs/Web/API).

Плохая конструкция

• Каждый скрипт исполняется в едином глобальном пространстве имён, доступ в которое возможен в браузерах с оконным объектом.
• Camel-регистр никуда не годится:

XMLHttpRequest
HTMLHRElement

Читать дальше →
Всего голосов 314: ↑167 и ↓147+20
Комментарии353

Хабр умирает?

Время на прочтение2 мин
Количество просмотров108K
Я люблю писать тексты по мотивам проектов, которыми занимаюсь. За последний год я разместил на Хабре больше 20 постов. Меня постоянно удивляло, как мало толковых комментариев удаётся здесь получить. Просмотров много, а комментариев мало и большинство не по делу. Недавно я начал замечать, натыкаясь на старинные посты за 2012, 2013 годы, что в них обсуждение, как будто, более содержательное. Решил проверить это количественно. Скачал инфу по всем постам за все годы и построил несколько простых графиков. То что я увидел меня удивило и даже немного испугало. Решил разместить наблюдения здесь, чтобы проверить правильные ли я делаю выводы и всё ли учёл.

Для всех опубликованных на Хабре постов я собрал даты публикаций, число просмотров, число лайков и дислайков, число звёздочек и комментариев, список хабов и названия блогов компаний. В ходе прокачки узнал, что число плюсиков и минусиков может быть дробным и даже отрицательным, пост может быть опубликовал в блоги нескольких компаний и может не иметь автора. Если что, таблицу можно скачать из репозитория: github.com/alexanderkuk/analyze-habr/blob/master/data/posts.csv



Первым делом я посмотрел как менялось общее число постов со временем. Оно перестало расти в 2013 и немного падает с 2014, что уже немного тревожно:



Потом я построил такой же график для суммарного числа просмотров и испугался. С 2014 оно упало в 3.5 раза:


Это серьёзное утверждение, поэтому я решил свериться с Similarweb.
Читать дальше →
Всего голосов 331: ↑311 и ↓20+291
Комментарии802

LLVM: компилятор своими руками. Введение

Время на прочтение14 мин
Количество просмотров58K
Представим себе, что в один прекрасный день вам пришла в голову идея процессора собственной, ни на что не похожей архитектуры, и вам очень захотелось эту идею реализовать «в железе». К счастью, в этом нет ничего невозможного. Немного верилога, и вот ваша идея реализована. Вам уже снятся прекрасные сны про то, как Intel разорилась, Microsoft спешно переписывает Windows под вашу архитектуру, а Linux-сообщество уже написало под ваш микропроцессор свежую версию системы с весьма нескучными обоями.
Однако, для всего этого не хватает одной мелочи: компилятора!
Да, я знаю, что многие не считают наличие компилятора чем-то важным, считая, что все должны программировать строго на ассемблере. Если вы тоже так считаете, я не буду с вами спорить, просто не читайте дальше.
Если вы хотите, чтобы для вашей оригинальной архитектуры был доступен хотя бы язык С, прошу под кат.
В статье будет рассматриваться применение инфраструктуры компиляторов LLVM для построения собственных решений на её основе.
Область применения LLVM не ограничивается разработкой компиляторов для новых процессоров, инфраструктура компиляторов LLVM также может применяться для разработки компиляторов новых языков программирования, новых алгоритмов оптимизации и специфических инструментов статического анализа программного кода (поиск ошибок, сбор статистики и т.п.).
Например, вы можете использовать какой-то стандартный процессор (например, ARM) в сочетании с специализированным сопроцессором (например, матричный FPU), в этом случае вам может понадобиться модифицировать существующий компилятор для ARM так, чтобы он мог генерировать код для вашего FPU.
Также интересным применением LLVM может быть генерация исходных текстов на языке высокого уровня («перевод» с одного языка на другой). Например, можно написать генератор кода на Verilog по исходному коду на С.



КДПВ

Читать дальше →
Всего голосов 58: ↑55 и ↓3+52
Комментарии55

Dota 2, или «Костяные фантазии». Моддинг флешки

Время на прочтение2 мин
Количество просмотров17K


Непонятно каким путем и измышлениями, но появилось у меня хобби — моддинг флешек. Путь был тернист и заковырист, примерно такой же, что привел меня из физики космоса и научного института в IT сферу. Но это лирика, поэтому давайте отправимся в путешествие по истории создания подарочной флешки из куска рога, пары деревяшек и донора Transcend.
Читать дальше →
Всего голосов 31: ↑27 и ↓4+23
Комментарии35
1

Информация

В рейтинге
Не участвует
Откуда
Yerevan, Yerevan, Армения
Работает в
Дата рождения
Зарегистрирован
Активность