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

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

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

Взлом старого ZIP-файла с криптопрограммами подпольщиков ЮАР

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

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

Недавно я заинтересовался защищёнными коммуникациями, которые использовались Африканским национальным конгрессом в рамках операции «Вула», проводившейся в конце 1980-х годов. Операция «Вула» заключалась в проникновении лидеров АНК (и передаче снаряжения) в ЮАР для подготовки тайной сети, реализующей различные элементы политической активности АНК внутри страны.

Для успеха операции требовались защищённые коммуникации, организованные на основе 8-битных компьютеров, DTMF-сигналов, акустических преобразователей и различного другого оборудования для обмена сообщений с одноразовым шифрованием, использующих программы, написанные на PowerBASIC.
Читать дальше →
Всего голосов 23: ↑23 и ↓0+36
Комментарии8

Почему плохо быть слишком умным

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


Если невежество – это благословление, значит ли это, что высокий IQ приравнивается к страданию? В массовом представлении это так и есть – гениев обычно представляют, как людей, страдающих от страхов, неудовлетворённости и одиночества. Вспомните Вирджинию Вулф, Алана Тьюринга и Лизу Симпсон – одинокие звёзды, изолированные в своей яркости. По словам Хемингуэя: «Счастье у умных людей – самое редкое явление из всех, что я знаю».

Вопрос вроде бы затрагивает не так много людей – но если разобраться в нём, то оказывается, что он влечёт сложные последствия для многих людей. Система образования направлена в основном на улучшение академических знаний. Хотя ограничения системы IQ известны, это всё ещё основной способ измерения когнитивных способностей, и мы тратим кучу денег на тренировки мозга, стараясь улучшить эти показатели. Но что, если поиск гения – это бесполезное дело?

Первые шаги в поисках ответа на этот вопрос сделали ещё 100 лет назад, в эпоху джаза. В то время инновационный тест на IQ набирал популярность, после того, как оправдал себя в вербовочных центрах Первой Мировой. В 1926 году психолог Льюис Терман решил использовать его для проверки группы одарённых детей. Собрав сливки учащихся с калифорнийских школ, он отобрал 1500 учеников с IQ не менее 140. 80 из них имели IQ более 170. Их назвали «Термитами», и истории их жизней изучают по сей день.

Конечно, многие Термиты достигли богатства и успеха. Например, Джесс Оппенгеймер, написавший классический ситком 50-х «I Love Lucy». В те времена, когда его крутили на CBS, средняя зарплата у Термитов вдвое превышала среднюю зарплату тогдашних «белых воротничков». Но не все люди из этой группы оправдали ожидания – многие занялись более скромным делом, стали полицейскими, моряками и машинистками. Поэтому Терман заключил, что «интеллект и достижения очень слабо коррелируют». Их выдающийся ум не гарантировал им личного счастья. Количество разводов, алкоголизма и самоубийств в их среде совпадало со средними уровнями.
Читать дальше →
Всего голосов 43: ↑38 и ↓5+33
Комментарии45

Почему кошки ненавидят закрытые двери: что выяснили ученые

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

Привет, жители Хабра! Это Даша Фролова из команды спецпроектов МТС Диджитал. Ворвемся в новую рабочую неделю… с котиков!

Если вы близко знакомы с кошками, то в курсе, как их триггерят закрытые двери. Одни пытаются выцарапать в закрытой двери портал во внешний мир, другие просто истошно вопят, третьи, не жалея себя, просовывают лапы в щель и пытаются просочиться за ними. И это не предел: мой рыжий Кокс (привет фанатам «Клиники») еще и прыгает на дверную ручку, а потом висит на ней, пока дверь не откроется. Прикол в том, что когда проход будет открыт, кот может никуда и не пойти: ему сам факт закрытой двери не нравится.

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

Читать далее
Всего голосов 91: ↑78 и ↓13+91
Комментарии122

PostgreSQL Antipatterns: «вращаем» JSON

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

Принимать сложные параметры запроса в виде JSON - полезно, хранить его в базе - удобно, но работа с ним в рамках SQL-запроса зачастую вызывает затруднения.

Сегодня столкнулся с очередным нетипичным вариантом использования - "перекладыванием" значений из JSON-строк в столбцы.

Давайте сделаем это попроще.

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

Ошибаться и учиться на реальных задачах: как студенты получают опыт работы с FPGA и процессорными ядрами

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

Пока одни студенты готовятся к сессии и сдают долги, другие разрабатывают системы на кристалле и тестируют клиентские устройства. Герои этой статьи — молодые инженеры, выпускники стажировки YADRO Импульс 2024. Два месяца они стажировались в компании, а затем получили предложения о работе и продолжили работу над начатыми проектами. 

В каком вузе учиться, чтобы в 20 лет стать младшим инженером в крупной компании, как за два месяца разобраться в запуске тестов на FPGA-платах и какие навыки приобретают стажеры в YADRO — узнаете в статье.

Читать далее
Всего голосов 28: ↑26 и ↓2+30
Комментарии3

История Git: на этот раз не так весело

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

Линус Торвальдс как-то написал в своей книге, что создавал Linux для развлечения, но в итоге это привело к революции. Git, его второе творение, также оказалось «случайной революцией» — и сегодня это стандартный инструмент для людей в ИТ. Однако процесс его создания был уже не таким «весёлым» — по крайней мере, для самого Линуса. 

Читать далее
Всего голосов 96: ↑95 и ↓1+111
Комментарии41

Учимся читать QR-коды без компьютера

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

Задавались ли вы когда-нибудь вопросом, как работают QR-коды? Если да, то эта статья для вас. Здесь вас ждёт интерактивное объяснение*, которое мы составили для семинара, проводившегося в рамках Всемирного конгресса хакеров 37C3, но вы также можете использовать его самостоятельно.

Прочитав статью, вы узнаете:

  • Из чего состоят QR-коды.
  • Как декодировать QR-коды вручную (используя нашу шпаргалку).
Читать дальше →
Всего голосов 96: ↑93 и ↓3+116
Комментарии33

Почему GitHub на самом деле победил: история глазами сооснователя

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

Недавно мы опубликовали в блоге перевод статьи о том, как GitHub заменил SourceForge в роли доминирующей платформы для хостинга кода. Но, как справедливо отметил автор оригинала, его мнение основано на открытых источниках и интервью с коллегами. А потом своим ви́дением поделился один из сооснователей GitHub, Скотт Чакон, который «действительно был там». Под катом — перевод его ответной статьи о реальных причинах победы GitHub. 

Читать далее
Всего голосов 42: ↑39 и ↓3+45
Комментарии7

«Мы вступаем на неизведанную территорию математики» — Теренс Тао, математик, обладатель Филдсовской премии

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

У Теренса Тао, одного из величайших из ныне живущих математиков, есть свой взгляд на искусственный интеллект.

Перевод интервью из издания The Atlantic

Читать далее
Всего голосов 32: ↑27 и ↓5+26
Комментарии13

MVP, остановись

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

MVP — как много в этом звуке для сердца продакта слилось. Концепция, которая может выручить вначале, позже может уничтожить ваш продукт.

Читать далее
Всего голосов 41: ↑38 и ↓3+45
Комментарии16

Дайджест научпоп-новостей за неделю, о которых мы ничего не писали

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

• НАСА продвигает создание отдельного часового пояса для Луны

• Великобритания покончила с угольной энергетикой спустя 142 года

• Учёные обнаружили планету на орбите ближайшей к нашему Солнцу одиночной звезды

• Таинственная тихоокеанская мегаструктура может оказаться морским дном времён динозавров

• Ткани сердца на МКС сокращаются в два раза слабее, чем на Земле

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

Регулярные выражения простыми словами. Часть 1

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

Разработчики делятся на два типа: тех, кто уже понимает регулярные выражения и порой решает сложные задачи одной строкой, и тех, кто все еще боится и всячески их избегает. Эта статья специально для вторых, чтобы им было проще стать первыми. Она либо поможет преодолеть «регекспофобию», либо усугубит ее. В любом случае, добро пожаловать под кат.
Читать дальше →
Всего голосов 150: ↑149 и ↓1+174
Комментарии54

Сортировка слиянием через рекурсию

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

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

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

Алгоритм внешней сортировки слиянием

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

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

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

Сортировки слиянием

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

Сортировки слиянием работают по такому принципу:

  1. Ищутся (как вариант — формируются) упорядоченные подмассивы.
  2. Упорядоченные подмассивы соединяются в общий упорядоченный подмассив.
Траффик
Всего голосов 11: ↑11 и ↓0+11
Комментарии15

Производство: как это делают в Китае

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

image

Это был бизнес-тур: мы посещали лекции в Фуданьском университете (Шанхай), а потом поехали по нескольким городам, чтобы погрузиться в мир китайского производства. Были в таких городах, как Вэньчжоу, Юэцин, Ханчжоу, а потом доехали ещё и до Гонконга.

Я хотел понять китайский подход к работе, к реализации проектов, насколько быстро технологически развивается страна и насколько она продвинулась в этом развитии. Оказалось, что они решают задачи целостно и системно в масштабах всей страны, у них есть (и выполняется!) стратегия по модернизации промышленности и переходу к высокотехнологичной экономике. И стиль работы у них своеобразный, непохожий на наш.

Было много поводов удивиться, например, контрасту. Если на Wenzhou Huajia Electrical Equipment мы видели собираемые вручную трудолюбивыми китайскими работниками электроустройства, то на Taibang Motor Industry Group, где производятся электрические двигатели, всё очень продвинуто и современно: сенсоры и устройства, подключённые к Интернету, мониторят оборудование и процессы в реальном времени, сборочные линии автоматизированы, роботы — на сборке, упаковке и контроле качества, а для управления используется самостоятельно написанная MES. Зачастую программы работают на неактивированных Windows, видел такое в Китае несколько раз.
Читать дальше →
Всего голосов 29: ↑26 и ↓3+29
Комментарии55

Вирус бешенства. Беспощадная непостижимость

Уровень сложностиСредний
Время на прочтение19 мин
Количество просмотров36K
Мой первый урок по бешенству начался с инструктора который молча вышел и нарисовал на доске огромные «100%» © LAB-66

Про бешенство говорится много и часто. В массовом сознании существует огромное количество слухов, домыслов, страхов. Все это до поры до времени сосуществовало где-то параллельно относительно меня. Но вот недавно на родственника бросилась (внезапно) домовая мышь и прокусила ему до крови палец. Несмотря на очевидность ситуации, пришлось потратить значительную часть времени на объяснение человеку того, чем все это чревато, перебрать в Интернет кучу ссылок. В итоге пострадавший все-таки отправился к врачу, а я понял, что пора браться за клавиатуру и писать себе туториал для таких случаев.

Про бешенство. Под катом


Что он такое? Вирус бешенства
Всего голосов 204: ↑197 и ↓7+235
Комментарии227

Строим ETL-конвейер для машинного обучения с помощью Kafka, Clickhouse и Go

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

В этой статье я поделюсь с вами своим опытом использования Golang, Kafka и Clickhouse на примере простого ETL-конвейера для параллельной передачи JSON-данных в базу данных с последующим прогнозированием температуры на основе машинного обучения.

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

Писать код для компьютеров сложно, ещё сложнее — писать код для людей

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

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

А теперь немного усложним задачу. Будем писать код для людей!

Объясню, что я имею в виду: я говорю о коде, с которым смогут взаимодействовать другие люди. В частности, я имею в виду искусство создания удобных фреймворков, библиотек, API, SDK, DSL, встроенных DSL или даже языков программирования.

Писать такой код гораздо сложнее, потому что ты не только говоришь компьютеру, что делать, но и вступаешь в борьбу с ментальной моделью твоего кода в глазах другого пользователя. Это в равной степени computer science и психология мышления. Как сделать так, чтобы этот человек понял твой код?

Ричард Фейнман как-то сказал: «Представьте, насколько сложнее была бы физика, если бы электроны имели чувства». Он говорил это в другом контексте, но мне кажется, это частично описывает и программирование для людей. У человека, интерпретирующего твой код, есть чувства!

Давайте поговорим о том, как упростить ему задачу.
Читать дальше →
Всего голосов 42: ↑39 и ↓3+56
Комментарии6

Подсчет уникальных значений поля в ClickHouse

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

Привет, Хабр! Существуют разные задачи в IT, многие решаются алгоритмически или условно за счет архитектурных решений. Среди всего многообразия задач также интересны задачи, решаемые с применением статистических методов.

Одной из таких задач является приближенный расчет количества уникальных значений в поле таблицы (или кардинальности). Казалось бы, практическая польза от быстрого расчета количества уникальных значений поля без больших затрат памяти невелика, однако это позволяет, например, построить оптимальный с точки зрения производительности SQL запрос с этим полем, или использовать это поле в UI (например, элемент с бесконечной прокруткой или элемент с поиском при значительном количестве уникальных значений, а не отображение конечного списка) и т.д. Задача может быть эффективно решена в СУБД, обладающей соответствующими инструментами, поэтому будет рассмотрен ClickHouse.

Интересно решение задачи расчета количества уникальных значений столбца в ClickHouse? Добро пожаловать :)

Читать далее
Всего голосов 6: ↑6 и ↓0+8
Комментарии0
1
23 ...

Информация

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