Как стать автором
Обновить
0
@MacInread⁠-⁠only

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

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

Байт-кодовые VM в неожиданных местах

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров10K

Отвечая на вопрос в Twitter, Ричард Хипп написал, почему SQLite использует байт-кодовую VM для исполнения операторов SQL.

Вероятно, большинство людей ассоциирует байт-кодовые VM с языками программирования общего назначения, например, с JavaScript или Python. Но иногда их можно встретить в неожиданных местах! В статье я расскажу о тех, которые знаю.
Читать дальше →
Всего голосов 52: ↑50 и ↓2+70
Комментарии16

Играем в крестики-нолики c RPN калькулятором

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров3.4K

Когда я разбирался с программируемыми калькуляторами, то думал, как бы элегантнее протестировать функциональность устройства. Один из известных способов проверки – это реализация какой-либо игры.

Игр для калькуляторов, как на просторах бывшего СССР, так и за рубежом громадное количество, остаётся только выбрать. Наиболее популярная — это «Посадка на Луну». Однако, для меня она показалась скучной и неинтересной, а сам код сложным и запутанным. Поэтому мой выбор пал на крестики-нолики, так как все мы играли в них в школе, и мне стало интересно сыграть в неё с калькулятором.

Реализовать игру решил на модели HP-32S, поскольку он мне очень полюбился за красоту архитектурной реализации и удобство программирования.
Читать дальше →
Всего голосов 38: ↑37 и ↓1+58
Комментарии20

Библиотечка электровакуумщика-кустаря

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров7.4K

Интересуясь историей и практикой электровакуумных приборов (ЭВП) и идя по пути к их самостоятельному изготовлению в домашней лаборатории-мастерской, с течением времени накопил массу полезной литературы. От изданий академических до описаний любительских экспериментов коллег и фото раритетных ЭВП, литературе по азам в смежных областях — кустарные работы широкопрофильны и многогранны. Некоторые старые технические книги просто приятно иметь, как летописи отважных и романтичных пионеров-первопроходцев. Здесь, приведу профильные книги к которым при работе приходится обращаться чаще всего и выглядящие наиболее перспективно. Издания по возможности будут снабжаться комментариями в смысле полезности для основного направления деятельности.
Читать дальше →
Всего голосов 74: ↑74 и ↓0+88
Комментарии61

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

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров38K

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

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

Читать далее
Всего голосов 38: ↑32 и ↓6+36
Комментарии153

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

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров21K


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


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


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

Читать дальше →
Всего голосов 45: ↑38 и ↓7+35
Комментарии80

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

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

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

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

Читать далее
Всего голосов 43: ↑42 и ↓1+53
Комментарии112

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

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

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

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

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

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

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

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

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

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

Читать далее
Всего голосов 65: ↑61 и ↓4+66
Комментарии173

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

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

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

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

Читать далее
Всего голосов 19: ↑16 и ↓3+17
Комментарии0

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

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

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

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

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

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

Уровень сложностиСложный
Время на прочтение28 мин
Количество просмотров10K

Немного о bfc


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


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

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

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

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

Уровень сложностиСредний
Время на прочтение24 мин
Количество просмотров6.9K

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

Читать далее
Всего голосов 21: ↑20 и ↓1+24
Комментарии34

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

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров2.9K

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

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

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

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

Читать далее
Всего голосов 14: ↑13 и ↓1+18
Комментарии20

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

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров40K

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

Читать далее
Всего голосов 154: ↑153 и ↓1+195
Комментарии176

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

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров12K
Приветствую всех!
С появлением электронных замков было создано огромное количество типов ключей для них, от совсем экзотических до прижившихся и используемых повсеместно и сейчас.
И если магнитные экземпляры всё же были редкостью, то вот предмет сегодняшнего обзора, думаю, успели застать многие из вас.



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

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

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров113K

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

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

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

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

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

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

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

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

Не согласен! ...
Всего голосов 395: ↑332 и ↓63+339
Комментарии730

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

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров29K

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

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

Читать далее
Всего голосов 166: ↑165 и ↓1+218
Комментарии51

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

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров4.3K

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

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

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

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

Читать далее
Всего голосов 8: ↑7 и ↓1+10
Комментарии17

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

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров38K

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

На этапе планирования нагрузок мы обнаружили существенные траты памяти, о причинах которых я бы хотел рассказать в этой статье.
Читать дальше →
Всего голосов 39: ↑34 и ↓5+41
Комментарии67

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

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

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


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

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


На рисунке выше приведено общее число подтвержденных случаев COVID-19 в логарифмическом масштабе для России и трех европейских стран, входящих в топ-5 по числу зараженных. Объяснение далее в тексте.
Читать дальше →
Всего голосов 46: ↑41 и ↓5+53
Комментарии156
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность