Pull to refresh
0
@MacInread⁠-⁠only

User

Send message

Переезд на Астра Линукс

Level of difficultyEasy
Reading time8 min
Views37K

Бывает ситуация, когда вот стоит нормальный, не ветхий дом с жильцами, с работающими коммуникациями. И простоял бы он так еще много лет. Но принято решение проложить новую магистраль и дом ей мешает. Можно снести дом, недалеко построить новый и жильцов туда переселить. А можно переместить в нужное место сам этот дом прямо вместе с жильцами и тараканами.

Такая аналогия приходит на ум после принятия решения о переходе с платформы Windows на пока единственную сертифицированную альтернативу – ОС Астра Линукс. Как жильцы гипотетического дома не могли отменить решение о магистрали, так и мы не можем отменить это решение. Придется переходить. Однако легко сказать «перейти». Когда я познакомился с IBM-PC/XT, какой-нибудь Торвальдс еще школу не кончил. За эти годы (чего уж там годы - десятилетия) появилось много привычек, приемов, навыков. Жалко все это оставлять ради принудительного перехода в другую среду. И приходит мысль – попытаться переехать, так сказать, всем домом, а не строить новый.

Читать далее
Total votes 48: ↑42 and ↓6+36
Comments153

Размышления о структурном программировании

Level of difficultyMedium
Reading time3 min
Views20K


Изначально я хотел назвать статью как нибудь вызывающе, например, "Как наука может превращаться в религию", "В ловушке искажений смыслов структурного программирования" или "О чем вам забыли рассказать про структурное программирование", но в результате все же оставил текущее название и надеюсь, оно не вызывает раздражения у читателей. И хотя другие заголовки являются более кликбейтными, тем не менее они все же в больше степени отражают смысл статьи, чем нейтральные "размышления".


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


Все наверно помнят, что любой алгоритм можно представить в виде трех видов алгоритмических конструкций, следование, ветвление и повторения? А иногда еще добавляют, что эту теорему выдвинул и доказал Э. Дейкстра в 70-х гг. прошлого века, в том числе, включая широко распиаренный якобы запрет на использование операторов goto.

Читать дальше →
Total votes 49: ↑42 and ↓7+35
Comments79

Когда программы были маленькими, а деревья пиксельными. Простота и минимализм TreePad

Reading time4 min
Views12K

У многих из нас есть любимые программы, которые годами путешествуют с компьютера на компьютер, от одной версии операционной системы к другой. И продолжают служить нам верой и правдой — привычные и надёжные, как старые друзья.

Для меня таким старым надёжным другом стала программа TreePad Lite. Она со мной уже без малого 30 лет. Мне очень близок минимализм TreePad: простота интерфейса, отсутствие необходимости установки, нетребовательность к ресурсам, открытый формат файлов, отсутствие каких-либо зависимостей от сторонних библиотек и интернета.

Читать далее
Total votes 56: ↑55 and ↓1+54
Comments112

Двухтрубные системы отопления тупикового и попутного типа. Мнимая магия «петли Тихельмана»

Reading time21 min
Views47K

Двухтрубные системы отопления тупикового и попутного типа. В чём разница и что об этом говорят современные строительные нормы.

Ранее в одной из статей я уже рассказывал об однотрубных системах отопления.

Теперь настала очередь рассмотреть особенности проектирования и эксплуатации двухтрубных систем, которые крайне популярны у частных домовладельцев в ИЖС.

Так же двухтрубные вертикально-стояковые системы отопления пытаются применять и в многоквартирных домах.

Далее мы рассмотрим гидравлический расчёт систем для одного этажа частного дома с периметром в те же 50м для дом 10х15м по внутренним стенам (150м.кв на этаж).

А позже попытаемся применить те же подходы для максимальной высоты 50м в стояковой системе высотного дома.

Тупиковая система

Тупиковой схемой системы отопления называют такую схему, где трубы подачи и обратки выходят из одной начально точки, а сами трубы идут параллельно друг другу.

Читать далее
Total votes 74: ↑70 and ↓4+66
Comments173

Шпаргалка по модели памяти С++11

Reading time9 min
Views14K

Модель памяти представляет из себя спецификацию допустимого поведения многопоточных программ, работающих с разделяемой памятью (shared memory) [1]. Наиболее примитивной моделью является последовательная согласованность (sequential consistency), где все инструкции из всех потоков образуют общий порядок (или, по крайней мере, его видимость), согласованный с порядком выполнения программы в каждом потоке [2].

Одной из наиболее важных фич C++11 является модель памяти, поддерживающая параллелизм, которая позволяет писать многопоточные программы, не полагаясь на различные расширения для конкретных целевых платформ.

Читать далее
Total votes 23: ↑20 and ↓3+17
Comments0

Как процессоры x86 декодировали инструкции в RISC-форму: история легенды

Reading time8 min
Views9.5K

Распространено мнение, будто современные высокопроизводительные процессоры x86 работают так: декодируют «сложные» инструкции x86 в «простые» RISC-подобные инструкции, которые затем обрабатываются в оставшейся части конвейера. Но насколько эта идея на самом деле отражает, как именно устроен внутри процессор?

Чтобы ответить на этот вопрос, давайте проанализируем, как следующий простой цикл обрабатывают различные процессоры x86, от P6 (первой микроархитектуры Intel «современного» типа до современных конфигураций). Код сделан 32-разрядным лишь для того, чтобы можно было затронуть и очень старые процессоры с архитектурой x86.

Читать далее
Total votes 53: ↑49 and ↓4+45
Comments6

Ломаем хаскелем Brainfuck

Level of difficultyHard
Reading time28 min
Views10K

Немного о bfc


Brainfuck — очень глупый язык. Там есть лента из 30к ячеек, по байту каждая. Команды bfc это:


  • Передвижение по ленте влево и вправо (символы < и >)
  • Увеличение и уменьшение значения в ячейке (символы + и -)
  • Ввод и вывод текущей ячейки (символы . и ,)
  • И цикл while, который продолжается пока значение в текущей ячейке не ноль. [ и ] это начало и конец цикла соответственно

Программировать на bfc сложно. Но, как известно, любую проблему можно решить добавлением слоя абстракции (кроме проблемы большого количества абстракций).

Читать дальше →
Total votes 84: ↑84 and ↓0+84
Comments17

Процессор ЭВМ ЕС-1020. Микропрограммное управление

Level of difficultyMedium
Reading time24 min
Views6.7K

Продолжение серии статей, посвящённых устройству процессора ЭВМ ЕС-1020. На сей раз речь пойдёт о блоке микропрограммного управления — в первую очередь, о формате и назначении отдельных полей микрокоманды.

Читать далее
Total votes 26: ↑25 and ↓1+24
Comments34

Процессор ЭВМ ЕС-1020. Блок регистров

Level of difficultyMedium
Reading time17 min
Views2.7K

Эта небольшая статья продолжает цикл публикаций о внутреннем устройстве процессора ЕС-1020 и описывает его блок регистров. Предыдущие статьи:

* общая структура и система синхронизации;

* микропрограммное управление;

* оперативная память.

Читать далее
Total votes 20: ↑19 and ↓1+18
Comments20

Деньги или репутация

Level of difficultyEasy
Reading time8 min
Views40K

История произошла в 2018 году в одном из новых и современных кардиологических центров Казахстана. Дорогое оборудование, исключительный доступ к его обслуживанию только сертифицированных специалистов вызывает нездоровый, низменный интерес охотников полакомиться. Есть вероятность, что история может повториться и сегодня, спустя пять лет, в любой другой медицинской клинике.

Читать далее
Total votes 197: ↑196 and ↓1+195
Comments176

Наследники перфокарт в мире электронных ключей

Level of difficultyMedium
Reading time11 min
Views11K
Приветствую всех!
С появлением электронных замков было создано огромное количество типов ключей для них, от совсем экзотических до прижившихся и используемых повсеместно и сейчас.
И если магнитные экземпляры всё же были редкостью, то вот предмет сегодняшнего обзора, думаю, успели застать многие из вас.



Итак, в данной статье поговорим об оптических домофонных ключах. Узнаем, как они работали, разберём и разберёмся с конструкцией и схемотехникой считывателей. Традиционно будет много интересного.
Читать дальше →
Total votes 101: ↑101 and ↓0+101
Comments15

Дайте крудошлепа

Level of difficultyMedium
Reading time7 min
Views112K

Я устроился в небольшую компанию, которая сделал круд‑приложуху на 20 таблиц типа «заметки» и активно ее продавала госорганам за невменяемый бабос.

У нас был 3(три) Т‑Р-И статуса юзера. Anonym → Logined → Phone_Confirmed. Молодой талант до меня увидел в этом граф, и написал класс на 200+ строк, реализующий алгоритм Флойда‑Уоршелла, прикрутил стейт‑машину и не найдя интересных задач, c блеском прошел собес в Яндекс и свалил.

Меня наняли сеньором, и я каюсь ничерта не понял, алгоритм прекрасно работал на первой ступени, на второй давал сбои, тоскливо погуглил этот алгоритм, стер все к черту и написал: if(status==Logined & phone!=null){status=Phone_Confirmed}.

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

Это было вступление.

Уважаемый Яндекс, Сбер и прочая! Я умею быстро решать задачи и кратно увеличивать выхлоп простыми решениями. Я самый умный программист, среди всех ваших работников! Я — НадНадсеньор! Сейчас докажу.

Потому что, только я могу решить задачку, которую вы уже 10 лет решить не можете, когда прилетает пуш‑уведомление или смс и в твоем всплывающем окне написано:

«Ваш шестизначный пароль доступа в наше приложение: 123...»

Не согласен! ...
Total votes 465: ↑402 and ↓63+339
Comments727

Я написал книгу

Level of difficultyEasy
Reading time2 min
Views29K

Я написал книгу и назвал ее "Электрообереги". Она рассказывает про те замечательные устройства в электрощитке, что спасают нас от погибели. Начиная от предохранителей, которые существуют более века, заканчивая новейшими устройствами защиты от дугового пробоя. (Включая АВ, АВДТ, ВДТ, УЗО, РН, УЗИП, СГД и т.д.) Рассказ построен так, чтобы даже блондинке стало ясно как эти устройства устроены и зачем они нужны. Кто давно на меня подписан подобные посты уже видел - книжка представляет собой собранные воедино и причесанные публикации за последние два года. Еще я перерисовал все сторонние иллюстрации и теперь книжка лицензионно чиста - ни один мерзкий копираст не подкопается.

А еще сегодня у меня день рождения. И это хороший повод сделать подарок миру - книжка публикуется под открытой лицензией CC BY-NC-SA, тоесть ее можно распространять совершенно свободно.

Читать далее
Total votes 220: ↑219 and ↓1+218
Comments51

Облако с государственной аттестацией: как пользоваться гибкостью виртуализации и соответствовать приказам ФСТЭК

Level of difficultyEasy
Reading time4 min
Views4K

Миграция в облако для госструктур и бизнеса, работающего с государственными проектами, — задача с большим числом неизвестных. Таким компаниям хочется использовать облака из-за гибкого масштабирования ресурсов и быстрого развертывания сервисов. Решение также не требует капитальных затрат, если сравнивать его с построением собственной инфраструктуры. Но преимущества облака часто ломаются о перечень требований безопасности к государственным информационным системам (ГИС).
Читать дальше →
Total votes 40: ↑38 and ↓2+36
Comments8

SQL-инъекции для самых маленьких. Часть 3

Reading time5 min
Views11K

И это заключительная часть цикла статей про SQL-инъекции. В ней мы с вами узнаем, как можно собирать информацию о БД путем применения инъекций и затронем тему слепых SQL-инъекций.

Читать далее
Total votes 12: ↑11 and ↓1+10
Comments17

Строка на 1,5 гигабайта

Level of difficultyMedium
Reading time4 min
Views37K

На своей предыдущей работе я занимался поддержкой Java-сервиса, обеспечивавшего удалённую функциональность UI подобно RDP или Citrix. Этот сервис был устроен на основе сессий, состоявших из взаимосвязанных объектов Java, которые должны были очищаться или после выхода пользователя, или после истечения заданного таймаута.

На этапе планирования нагрузок мы обнаружили существенные траты памяти, о причинах которых я бы хотел рассказать в этой статье.
Читать дальше →
Total votes 51: ↑46 and ↓5+41
Comments67

Пандемия COVID-19 глазами математика, или почему классическая модель SEIRD не работает

Reading time11 min
Views41K

Аннотация, или о досуге молодых ученых


Последние несколько недель мы с коллегами заканчиваем рабочий день тем, что соревнуемся в точности прогноза развития эпидемии COVID-19 в России, используя различные методы нелинейной регрессии. И если прогноз на завтрашний день неизбежно оказывается хорош, то предсказание на срок больше одной недели отражает реальность лишь в общих чертах. Казалось бы, все понятно: есть эпидемиологические модели, есть методы оптимизации, есть достаточно подробные данные, — достаточно совместить это воедино и получить точный прогноз на месяц, а то и полгода, вперед. В этой статье я поделюсь своими соображениями, что не так с классической моделью SEIRD и как это исправить. И, конечно, приоткрою завесу тайны, окутывающую наше с вами будущее.

Усаживайтесь поудобнее, нас ждет зубодробительный матан для тех, кто знает, что такое дифференциальные уравнения (для остальных красивые картинки прилагаются).


На рисунке выше приведено общее число подтвержденных случаев COVID-19 в логарифмическом масштабе для России и трех европейских стран, входящих в топ-5 по числу зараженных. Объяснение далее в тексте.
Читать дальше →
Total votes 63: ↑58 and ↓5+53
Comments156

Реверс инжиниринг для самых маленьких на практике

Reading time11 min
Views32K

Скомпилированное приложение является «чёрным ящиком». Чтобы туда заглянуть, восстановить алгоритм работы применяется реверс‑инжиниринг. Это непростой навык с высоким порогом входа. В статье мы попробуем взять дизассемблер, несложную задачку и пойдём в бой. Материал будет полезен тем, кому хочется с чего-то начать и погрузиться в тему реверса.

В ходе нашего погружения разберем, какие инструменты использовать, с какой стороны подходить к решению подобных задач, разберём различные теоретические моменты. Для углублённого изучения будут ссылки на дополнительную литературу.

Читать далее
Total votes 47: ↑47 and ↓0+47
Comments19

ChatGPT провалил тест на ручник

Level of difficultyEasy
Reading time3 min
Views101K

Сегодня мы повсеместно читаем оды т.н. «искусственному интеллекту» под которым почти неизменно и безальтернативно предлагается понимать ChatGPT. Сам ChatGPT называет себя «искусственным интеллектом» (если спросить его об этом).

Читать далее
Total votes 341: ↑301 and ↓40+261
Comments780

Сколько получают российские разработчики: наше исследование

Level of difficultyMedium
Reading time8 min
Views83K


У нас тут накопилось очень много цифр о состоянии российского IT, и мы решили их как-то оформить. Получилось 27 таблиц, но надеюсь, каждый сможет найти ту, которая ему релевантна.


Будет полезно тем, кто хочет быть в курсе рынка. Или иметь лишний повод обратиться к своему работодателю за повышением. Мы знаем, что подобные исследования проводит сам Хабр, но вряд ли дополнительная информация из других источников кому-то помешает.


Эта статья — с цифрами для разработчиков. Как до, так и после 21 сентября. Исследование по HR, менеджерам и дизайнерам выйдет позже, если этот пост вам понравится.

Читать дальше →
Total votes 144: ↑140 and ↓4+136
Comments253
1
23 ...

Information

Rating
Does not participate
Registered
Activity