Pull to refresh
1073
301.5
Анатолий Ализар @alizar

автор, фрилансер

Send message

Как передать потомкам исполняемый код? Задача сложнее, чем кажется

Level of difficultyEasy
Reading time5 min
Views11K
Стена в Мачу-Пикчу, древнем городе инков

Вы читали берестяные грамоты жителей Новгорода 11 века? Жёны писали записки мужьям типа «Не забудь в дорогу бутерброды, когда поедешь в Киев», девушки слали любовные записки, мужчины вели учёт долгов перед соседями. Но мы даже близко не можем представить, как жила эта богатая культура до завоевания Москвой.

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

И компьютеры будут другими. Практически наверняка в будущем придётся эмулировать программную и аппаратную среду современных ПК, поскольку работающие экземпляры станут редкостью, как сейчас работающие мейнфреймы 1950-х. Там будут другие процессоры на новой архитектуре, иные мониторы, ОС, софт, шрифты и т. д. Всё поменяется. Не говоря уже о том, что в худшем сценарии у потомков вообще не останется компьютеров и даже такого понятия, как «вычислительная машина».

Что же делать?
Читать дальше →
Total votes 89: ↑78 and ↓11+67
Comments99

Величайшие программисты XXI века. Юрки Алакуйяла — гений сжатия

Level of difficultyEasy
Reading time8 min
Views18K
Пару дней назад на Хабре обсуждали, что сжатие информации — главная концепция нашей жизни. И вот перед нами представитель этой самой индустрии. Человек, который видит мир через призму теории информации, энтропии, хаоса и закономерностей.

Мало кто слышал имя Юрки Алакуйяла (@jyzg), но все мы используем его разработки. Картинки JPEG частенько генерируются фантастическим JPEG-энкодером guetzli с применением психовизуальных моделей, а HTTP-трафик в интернете жмётся кодеком brotli, тоже лучшим в своём классе.

Д-р Юрки Алакуйяла — активный член опенсорсного сообщества и исследователь. Работает техлидом Google Research Europe (Швейцария). Среди последних разработок — алгоритмы сжатия JPEG XL, WebP lossless и др.
Читать дальше →
Total votes 88: ↑88 and ↓0+88
Comments5

Сжатие без потерь — главная концепция в нашей жизни

Level of difficultyEasy
Reading time7 min
Views17K

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

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

Все мы знаем и используем компьютерные архиваторы: ZIP, RAR, Brotli и т. д. Но мало кто видит в них модель интеллекта. Это даже как-то странно на первый взгляд. Хотя если подумать, то идеальное сжатие — это синоним понимания.
Читать дальше →
Total votes 79: ↑72 and ↓7+65
Comments47

Величайшие программисты XXI века. Марк Руссинович и его 65 системных утилит

Reading time9 min
Views46K
Кто из админов не знает утилиты SysInternals (Winternals) для администрирования и диагностики Windows? Кажется, они известны с незапамятных времён. Но не каждый в курсе, что эти незаменимые инструменты написаны вовсе не компанией Microsoft. Скорее наоборот, они написаны вопреки её желанию.

И здесь мы подходим к личности автора, талантливого и суперпродуктивного программиста Марка Руссиновича. Он показал, что один умный парень способен интеллектуально продавить мегакорпорацию. И той придётся заплатить ему огромные деньги, и даже взять на работу. Потому что повторить его программы она не сумела…
Читать дальше →
Total votes 121: ↑115 and ↓6+109
Comments62

Почему форумы продолжают жить

Reading time5 min
Views37K

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

Разгорячённые петухи и спокойные интеллектуалы — одни и те же люди, просто на разных сайтах. То есть сама платформа как бы вынуждает людей общаться тем или иным способом. В некоторых условиях неторопливое конструктивное общение практически невозможно, а в других — поощряется. Что это за условия?

Или спросим иначе: почему старые форумы продолжают существовать в 2023 году и там сохраняется своё коммьюнити (преимущественно, по специализированным темам)? Хотя, вы наверное уже догадались.
Читать дальше →
Total votes 145: ↑140 and ↓5+135
Comments414

Примеры кошмарного софта вокруг нас

Reading time5 min
Views55K
Источник: amansinghblog

В далёкие 90-е мы с нетерпением ждали релизов любимых программ с новыми фичами. Но с выходом MS Office 2000 (на скриншоте) стало ясно — что-то пошло не так. Оказалось, новые функции не только помогают, но и мешают…

И сейчас главная задача — отключить обновления во всех программах. Дошло до того, что приходится копаться в многолетних архивах того же uTorrent, чтобы найти версию без рекламы, которая работала нормально, пока не пришли бодрые менеджеры и не испортили программу на годы вперёд… То же самое по остальным инструментам, которые обрастают фичами и реально деградируют.
Читать дальше →
Total votes 178: ↑130 and ↓48+82
Comments882

Величайшие программисты 21 века. Джон-Движок Кармак

Level of difficultyEasy
Reading time9 min
Views47K

Джон Кармак вместе с тёзкой Джоном Ромеро стали родоначальниками игрового жанра FPS. На слабеньких 486SX, без видеокарт (!) они выдали настоящий 3D-шутер без лагов с эффектом присутствия, что стало бомбой для 1993 года — в эпоху пошаговых стратегий и отсутствия скроллинга. Казалось, тут вмешалась чёрная магия…

В принципе, примерно так и есть. В разработке Wolfenstein 3D, Doom и движка Quake Джон Кармак действительно использовал кучу нестандартных приёмов вроде конверсии указателей или выхода за границы объектов, чтобы в циклах получать доступ к другому объекту, который гарантированно идёт следом.

Уровень программирования Doom и Quake до сих пор считается непревзойдённым образцом хакерских оптимизаций, а сам Джон Кармак — эталон сверхэффективного разработчика. Благодаря высочайшему качеству программирования Doom стал феноменом, который изменил мир.
Читать дальше →
Total votes 121: ↑117 and ↓4+113
Comments63

Упс и опаньки… Юмору не место в сообщениях об ошибках

Reading time5 min
Views29K

Сообщения об ошибках — чуть ли не единственное место, где пользователь программы может напрямую пообщаться с её автором. Ну как пообщаться… Ответить он всё равно ничего не сможет. Даже если сильно хочется. А иногда в сообщениях об ошибках такой треш, что действительно очень хочется ответить. Или просто взглянуть в глаза того инженера, который это сочинил.
Читать дальше →
Total votes 133: ↑110 and ↓23+87
Comments131

Как оценить реальную производительность своего кода

Reading time9 min
Views13K

Код, который мы пишем, и который будет исполнен процессором, — две разные вещи. На уровне ассемблера существует миллион вариантов, в каком виде интерпретировать и запустить высокоуровневые команды. Более того, современные компиляторы сильно оптимизируют код, а результат этой оптимизации похож на магию.
Читать дальше →
Total votes 68: ↑65 and ↓3+62
Comments3

Как портят софт ради обратной совместимости

Reading time6 min
Views23K

«Ожирение софта» — известная беда современной разработки. Повышение производительности железа зачастую воспринимается менеджерами как возможность игнорировать рефакторинг, всё равно никто не заметит тормозов. Проще докупить железа, чем тратить время на оптимизацию.

Но есть ещё одна серьёзная причина, по которой ожирение софта и тормоза увеличиваются с каждой версией — это легаси. Накопление старого балласта ради сохранения обратной совместимости. Хуже того, иногда происходят поистине вопиющие случаи, когда баги умышленно вводят в кодовую базу, чтобы сохранить совместимость со старыми программами.
Читать дальше →
Total votes 89: ↑85 and ↓4+81
Comments85

От взлома Firefox до подготовки к Апокалипсису. Как польский хакер Михал Залевски попал в «Матрицу»

Level of difficultyEasy
Reading time7 min
Views16K

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

К ним относится хакер-самоучка Михал Залевски (Michal Zalewski), который входит в список самых влиятельных представителей индустрии ИБ. Он построил успешную карьеру от технического специалиста польского интернет-провайдера до директора по информационной безопасности Google, а в своей недавней книге даёт практические советы, как подготовиться к наступающему концу света. В общем, это разносторонняя и талантливая личность. На рисунке из Твиттера (вверху) Михал изображён с женой и собакой.
Читать дальше →
Total votes 55: ↑54 and ↓1+53
Comments16

Тайм-капсула. Архив со сжатием файловой системы

Reading time7 min
Views11K


Тайм-капсула — слепок файловой системы (ФС), желательно с максимальным сжатием, на заданную дату/время. Используется для долговременного хранения в архиве, резервного копирования и восстановления в случае сбоя/потери данных. Нас интересует, как делать такие слепки самостоятельно и какие файлы получаются при этом.

Кто-то привык к обычному tar cvzf output.tar.gz /source/path для клонирования дисков, но есть более универсальный инструмент FSArchiver, который сохраняет файловые атрибуты, несколько файловых систем в одном архиве и контрольные суммы файлов с хорошим уровнем сжатия.
Читать дальше →
Total votes 44: ↑43 and ↓1+42
Comments19

Почему электроника выгорает перед грозой

Reading time6 min
Views25K

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

Но в чём именно заключается причина выгорания, если гроза так и не началась, дождя не было, молнию никто не видел? Почему выгорают сетевые карты в выключенных компьютерах?

TL;DR: проблема заключается в заряде статического электричества, который накапливается перед грозой, во время грозового положения. А молния действует как «дистанционный» спусковой крючок. То есть даже далёкая молния на расстоянии в несколько километров может повредить компьютерное оборудование.
Читать дальше →
Total votes 80: ↑77 and ↓3+74
Comments104

14 КБ это слишком много. Делаем сайты меньше 1 КБ

Reading time6 min
Views31K

Минимализм хорош во всех отношениях. Во-первых, это красиво. Во-вторых, эффективно. Разница в скорости загрузки сайтов особенно заметна на фоне монструозных корпоративных приложений с мегабайтами скриптов, тормозящих практически на любом устройстве. Поразительно, что за годы компьютеры ускорились в десятки раз, а сайты грузятся медленнее, чем раньше (график на КДПВ за 2011–2019 гг, статистика по скорости от Httparchive.org). Только подумайте, на сколько же сайтам нужно жиреть каждый год, чтобы сохранить эти тормоза!

Известно, что для минимизации задержки важным рубежом является 14 КБ. Если ужать веб-страницу или её первую часть в меньший объём, загрузка сильно ускоряется из-за спецификации TCP, которая определяет максимальный размер пакета в 1500 байт (из них 1460 полезных) и алгоритма медленного старта TCP, ограниченного десятью пакетами.

Но 14 КБ — не предел оптимизации. Далеко не предел.
Читать дальше →
Total votes 72: ↑71 and ↓1+70
Comments73

Новая волна ARM-процессоров. Серверы на старте

Reading time6 min
Views10K

Судя по всему, процессоры на одном кристалле достигли своего предела. Законы физики и математики не позволяют дальше уменьшать транзисторы. Но это не значит, что развитие электроники остановится, а закону Мура конец. Ничего подобного.

Последние новинки AMD, Apple и Nvidia показывают, что будущее CPU — за чиплетами, которые «склеиваются» из нескольких кристаллов. Например, новый процессор Apple M1 Ultra физически состоит из двух чипов (на фото вверху). То же самое мы видим в суперчипе Nvidia Grace CPU. Хотя и нацеленные на абсолютно разные рынки, но это вестники наступающего будущего.
Читать дальше →
Total votes 46: ↑45 and ↓1+44
Comments20

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

Level of difficultyEasy
Reading time6 min
Views12K

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

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

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

Reading time6 min
Views14K

Не первый год специалисты задаются вопросом, как обнаружить аппаратные закладки в микросхемах. Но никто не видел таких закладок и не представляет, как они выглядят. Это может быть посторонний артефакт, добавленный на этапе корпусировки микросхемы или сборки устройства. Но самый простой и логичный вариант — спроектировать в дизайне микросхемы недокументированную функцию, которую даже в случае обнаружения посчитают просто ошибкой или неизбежным «компромиссом» дизайна, как уязвимости Spectre и Meltdown.
Читать дальше →
Total votes 53: ↑52 and ↓1+51
Comments7

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

Reading time6 min
Views12K

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

Одно дело, если пишешь для души, а другое дело, когда на тебя наваливают груз ответственности за миллионы потенциально уязвимых систем. Какой человек это вынесет?
Читать дальше →
Total votes 62: ↑57 and ↓5+52
Comments42

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

Reading time6 min
Views40K

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

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

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

Reading time6 min
Views38K

Недавно учёные из фармацевтической компании Collaborations Pharmaceuticals с коллегами из европейских научных институтов провели концептуальный эксперимент. Вместо синтеза новых лекарств они задали нейросети MegaSyn AI обратную задачу — найти вещества, максимально токсичные для человеческого организма. Нейросеть корректно поняла условие и менее чем за шесть часов сгенерировала список 40 000 веществ, которые наилучшим образом подходят для химического и биологического оружия.

Научная статья «Поиск лекарств с помощью искусственного интеллекта — технология двойного назначения» опубликована 7 марта 2022 года в журнале Nature Machine Intelligence (doi: 10.1038/s42256-022-00465-9).

Получается, что если поставить задачу нанести вред человеку, то ИИ быстро найдёт максимально эффективное решение.
Читать дальше →
Total votes 81: ↑71 and ↓10+61
Comments158

Information

Rating
7-th
Location
Кипр
Works in
Registered
Activity