Search
Write a publication
Pull to refresh
77
0
Send message

Жизнь выдающихся программистов. Джей Фриман (saurik)

Level of difficultyEasy
Reading time6 min
Views13K

Прошлая серия про талантливую программистку Джастин Танни не оставила равнодушной хабрасообщество. Поэтому продолжаем заполнять нижние строчки хит-парада выдающихся программистов 21 века. Это особенные личности, которым карьера как будто не важна. В силу высокого IQ, врождённой любознательности и особого характера они не способны выполнять скучные, рядовые задания. Только интересные или важные. И только по своей воле, не по указанию сверху.

Следующий герой — более публичный и известный персонаж, про него даже есть статья в Википедии. Гений реверс-инжиниринга Джей Фриман известен под ником saurik, а славу ему принёс каталог «запрещённых» приложений Cydia (для взломанных айфонов).
Читать дальше →

Развёртываем инфраструктуру распространения пакетов и обновлений RH-based дистрибутивов в корпоративной сети

Reading time7 min
Views4.1K

Все уже порядком устали от импортозамещения, однако до заветных показателей отечественных ОС на десктопах ещё далековато. Пришло время обсудить схему распространения обновлений/дополнений и прочего софта.

И нет, я не буду смотреть на вас как дядька на КДПВ, да и парой минут тут явно не обойтись. Будем неспешно продвигаться от локальной машины к захвату вселенной корпоративной сети.
Читать дальше →

Бэкдоры в микросхемах — оценка рисков

Reading time6 min
Views15K

Не первый год специалисты задаются вопросом, как обнаружить аппаратные закладки в микросхемах. Но никто не видел таких закладок и не представляет, как они выглядят. Это может быть посторонний артефакт, добавленный на этапе корпусировки микросхемы или сборки устройства. Но самый простой и логичный вариант — спроектировать в дизайне микросхемы недокументированную функцию, которую даже в случае обнаружения посчитают просто ошибкой или неизбежным «компромиссом» дизайна, как уязвимости Spectre и Meltdown.
Читать дальше →

Самые известные и странные олдовые компьютерные вирусы: Creeper, Elk Cloner и другие

Reading time9 min
Views21K

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

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

Начнём с олдов и опишем их и их историю чуть подробнее, чем большинство обзоров.
Читать дальше →

Пособие по программированию модулей ядра Linux. Ч.6

Reading time9 min
Views11K

Очередная часть последней версии пособия по созданию модулей ядра от 2 июля 2022 года. В ней мы познакомимся с понятием tty, представляющим альтернативу макросу print, напишем модуль для мигания светодиодами клавиатуры, а также разберем тему планирования задач с помощью тасклетов и очередей заданий.
Читать дальше →

О самодельном тепловизоре

Reading time8 min
Views43K

Периодически для разных целей возникает потребность в измерении диапазона температур. Достичь этой цели можно разными средствами, но лучше всего для этого подходит тепловизор. Одна проблема, — подобное устройство не отличается низкой ценой. А реально ли его построить самому? Об этом мы и поговорим в этой статье.

Читать дальше →

Создание IoT-приложения с использованием HTTP API

Reading time10 min
Views5K
Фото: kwan fung на сайте Unsplash

Уже несколько лет не снижается ажиотаж вокруг IoT-устройств. Эти устройства могут быть почти чем угодно: от будильника, показывающего погоду, до холодильника, сообщающего о ценах в ближайших продуктовых магазинах. Какой бы ни была реализация, для общения с источниками данных эти устройства используют API. Но как конкретно подключаются сообщения, данные и устройства?

В этом посте мы покажем пример проектирования и моделирования данных для IoT-устройства. Для этого будет использовано M5Stack — небольшое модульное IoT-устройство с экраном, и подключение к API Metropolitan Transportation Authority Нью-Йорка (MTA) для получения актуального графика движения поездов на разных станциях.
Читать дальше →

Добровольцы поддерживают критические части опенсорса. Но продолжают выгорать и срываться

Reading time6 min
Views12K

За пару десятилетий важность опенсорса (FOSS) кардинально выросла. Сейчас от «любительских» библиотек зачастую зависят важные части инфраструктуры, как в классическом xkcd. И эти проекты неожиданно стали критически важными для индустрии, что брутально продемонстрировал инцидент с Log4j.

Одно дело, если пишешь для души, а другое дело, когда на тебя наваливают груз ответственности за миллионы потенциально уязвимых систем. Какой человек это вынесет?
Читать дальше →

Как работает DALL-E

Level of difficultyMedium
Reading time9 min
Views22K

В Январе 2021 года Open AI показали DALL-E, генерирующую любые изображения по текстовому описанию, на хабре уже успели разобрать тему генерации изображений нейросетями, но мне захотелось разобраться в теме более детально и показать всё в коде.

Сейчас мы разберём, как работает Text2Image нейросеть DALL-E, посмотрим на хардкор математики, а также убедимся, что это сможет повторить каждый, написав реализацию DALL-E почти с нуля.
Читать дальше →

Блок удаленного выключения зажигания двухтактных ДВС

Reading time6 min
Views8.7K
Не уверен, что данная тематика подойдёт для Хабра, но я попробую, вдруг будут интересны статьи подобного плана. Начнём с предыстории. Став обладателем техники в масштабе 1\5 с ДВС, я задумался о безопасности. Дело в том, что встроенной в приёмник функции защиты от сбоя (fail-safe) недостаточно и при выходе из строя приёмника или АКБ машина просто уедет дальше в закат, т. к. модель оснащена двухтактным ДВС с независимым зажиганием. Получается, что у нас двигатель живёт сам по себе и нужно придумать независимую систему его выключения в случае сбоя.
Читать дальше →

Программисты 2022: кто они?

Reading time8 min
Views36K
С Днём программиста, друзья!

Программисты — это в прямом смысле культовые люди современности. В 80-90-е их представляли как парней в растянутых свитерах и роговых очках, в 2000-х как интровертных гиков, в 2020-х как новых миллионеров. Стереотипов было много.

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

Версия 7000*4000
Читать дальше →

Дизайн дискет. Краткая история легендарного предмета из 80х

Reading time5 min
Views16K

В 80-90е годы дискеты были самым популярным средством для хранения и обмена информацией. Их можно назвать ностальгическими иконами ретро-эстетики того периода, которые по-прежнему не теряют своей актуальности в современном дизайне музыкальных носителей. С чего же началась их история, и в какой форме они продолжают существовать сегодня?
Читать дальше →

Клонируем сами, своими руками

Reading time7 min
Views13K
Картина маслом: Опытный сисадмин ищет четырёхлетний бэкап на файл-сервере

Задача: Вася летел на самолёте. Из-за неисправности двигателя самолёт упал на необитаемом острове. Вася был единственным выжившим. После осмотра уцелевшего багажа Вася понял, что в его распоряжении есть несколько лаптопов и Wi-Fi роутер. Теперь для того, чтобы выжить, Вася решил поднять ЦОД. Для нормальной работы ЦОДа Васе нужно уметь клонировать Debian Linux. Но под рукой нет никаких средств клонирования. Даже старый диск Clone Zilla куда-то запропастился. Что делать Васе?

Итак, для начала посмотрим на кое-какие условия ТЗ, не описанные в первом абзаце.
Читать дальше →

Пособие по программированию модулей ядра Linux. Ч.5

Reading time15 min
Views7.6K

Пятая часть последней версии руководства по написанию модулей ядра от 2 июля 2022 года. В ней мы разберемся, как в ядре реализована совместная работа процессов и потоков, узнаем, какую роль в этом играет режим ожидания (sleep), рассмотрим возможные способы избежания коллизий и взаимных блокировок, а также познакомимся с назначением и использованием атомарных операций.
Читать дальше →

Космический компьютер. На чем летали американские шаттлы?

Reading time9 min
Views16K

Четверг, 4 августа 1988 года. На мысе Канаверал царит обычная суета: на стартовом комплексе 39В к космическому полету готовится миссия STS-26, в которую должен отправиться шаттл «Дискавери». В тот день работники космодрома и члены обеспечивающей запуск команды казались взволнованными чуть больше обычного: это был первый полет челнока после трагической катастрофы «Челленджера», в которой погибли 7 астронавтов. Начался предстартовый отсчет. Напряжение растет. Всего за несколько секунд до запуска бортовой компьютер шаттла останавливает тестирование двигателя «Дискавери» и прерывает предстартовую процедуру. Компьютерные датчики челнока определили, что один из клапанов в двигателе закрывается недостаточно быстро, и послали команду о неисправности этого компонента всем трем силовым установкам, отменив старт корабля. Новое программное обеспечение бортового компьютера, новое оборудование и сложная предстартовая процедура проверки всех систем стали частью усилий НАСА по обеспечению безопасности «Дискавери» после взрыва «Челленджера» в 1986 году. Американские челноки до появления советского «Бурана» и без того обладали самыми мощными электронными вычислительными системами среди космических аппаратов своего времени, но трагедия «Челленджера» заставила усовершенствовать и модифицировать их.
Читать дальше →

Амплитудная модуляция на примере гитарного тремоло

Reading time8 min
Views5.1K

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

Для этого понадобится генератор медленных колебаний, то есть низкой частоты, low frequency oscillator, LFO. В электронной музыке низкой частотой называют не звуковую, как повсеместно принято в технике вообще, а очень низкую. Несколько колебаний в секунду или даже одно за несколько секунд. Это единицы герц и доли герца.
Изучим, соберём и послушаем

Примеры кошмарного программирования вокруг нас. Выученная беспомощность

Reading time6 min
Views40K

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

Возьмём классический пример — реестр Windows. Этот странный артефакт инженерной мысли представляет некое подобие иерархической БД для хранения абсолютно всех настроек — и системных, и приложений, и драйверов. Центральное бинарное хранилище заменило массу файлов .ini, разбросанных по всей системе и должно было упростить жизнь. Но вышло наоборот. И глядя на монструозный тормозящий конструкт, возникает только один вопрос: как это исправить? Ответ тоже простой: «Если вкратце, то никак». И так во всём. Мы создаём монстров, а потом не можем от них избавиться.
Читать дальше →

REST API на основе Snake (Python, Mamba, Hydra и Fast API)

Reading time7 min
Views11K

Сегодня я хочу попробовать что-то новое и начну исследовать мир Python. В этой статье представлен пошаговый туториал по реализации простого REST API при помощи Python, Fast API, Hydra и Mamba. Более того, я вкратце опишу, как упаковать всех этих змей в один образ Docker и заставить их работать вместе. Весь код выложен на моём GitHub.

Давайте начнём с кратного объяснения того, почему я решил выбрать эту тему.
Читать дальше →

Ускоряем разработку

Reading time6 min
Views10K

Любая работа java-программиста опирается на базис, под которым подразумевается не только непосредственно знание самого языка программирования, но также и знание дополнительных компонентов, без которых программирование в чистом виде, становится достаточно затруднительным либо неконкурентоспособным по времени. Именно об этом мы поговорим в этой статье.
Читать дальше →

Вторая жизнь старого железа. Продакшн

Reading time7 min
Views65K

У вас есть отработавшие смартфоны, планшеты, ноутбуки, мониторы? Наконец-то можно проявить смекалку и найти применение старым гаджетам, и перестать выбрасывать их и загрязнять планету.

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

Information

Rating
Does not participate
Works in
Registered
Activity