Как стать автором
Обновить
4
0
Романов Роман @loudpiper

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

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

Подлинная сущность ящеролюдей

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


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

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

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

Вера в ящеролюдей не относится к тому же классу опасности. Тем не менее, она, наряду с верой в плоскую Землю и рядом подобных «безобидных» представлений, заслуживает подробного анализа хотя бы с точки зрения того, как и чем настолько бездоказательные теории могут привлекать своих сторонников. Крайности вроде этих могут открыть для нас некие механизмы, незаметные в обычных случаях.

И действительно, размышления о людях-ящерах, как мне кажется, помогли мне получить новые представления о психологии веры и о том, что на самом деле означает заговор ящеролюдей.
Читать дальше →
Всего голосов 80: ↑53 и ↓27+51
Комментарии378

Как развивались комментарии к коду с 1940-х до 2020 года

Время на прочтение4 мин
Количество просмотров10K
А никак они не развивались. С самых первых языков программирования и по сей день комментарии коду — это всего лишь статичный текст (за некоторыми исключениями, о которых я расскажу).

image

Ну а что там еще можно улучшить или придумать — спросите вы. Давайте поразмышляем на эту тему — можно ли как-то улучшить наш опыт взаимодействия с таким важным но так часто игнорируемым аспектом программирования как документация в коде, или по-простому комментарии.
Читать дальше →
Всего голосов 34: ↑22 и ↓12+21
Комментарии26

Визуальное руководство по диагностике неисправностей в Kubernetes

Время на прочтение11 мин
Количество просмотров48K
Прим. перев.: Эта статья входит в состав опубликованных в свободном доступе материалов проекта learnk8s, обучающего работе с Kubernetes компании и индивидуальных администраторов. В ней Daniele Polencic, руководитель проекта, делится наглядной инструкцией о том, какие шаги стоит предпринимать в случае возникновения проблем общего характера у приложений, запущенных в кластере K8s.



TL;DR: вот схема, которая поможет вам отладить deployment в Kubernetes:
Читать дальше →
Всего голосов 66: ↑66 и ↓0+66
Комментарии9

Гуляем по городу с умом — 2: ходим по городу кругами с помощью генетического алгоритма

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

В прошлой статье я описал алгоритм, позволяющий строить более интересные (в противовес более коротким, как делают всякие яндексы-гуглы) пешеходные маршруты между двумя точками. Алгоритм загружал достопримечательности, парки и прочие приятные и интересные для пешеходов объекты из Open Street Map и прокладывал маршрут через них. В итоге путь мог оказаться на 10-20% длиннее, но гораздо живописнее и интереснее.



Фото города — Alex 'Florstein' Fedorov


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


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

Читать дальше →
Всего голосов 56: ↑55 и ↓1+54
Комментарии71

Termux шаг за шагом (Часть 2)

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


В прошлой части мы с вами познакомились с базовыми командами Termux'а, настроили SSH соединение с ПК, научились создавать alias'ы и установили несколько полезных утилит. В этот раз нам предстоит шагнуть еще дальше, мы с вами:


  • узнаем про Termux:API
  • установим Python и nano, а также напишем "Hello, world!" на Python
  • узнаем про bash-скрипты, и напишем скрипт с использованием Termux:API
  • используя bash-скрипт, Termux:API и Python напишем простую программку
Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии13

Termux шаг за шагом (Часть 1)

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


При первом знакомстве Termux, а я далеко не линуксоид, вызвал в моей голове две мысли: «Круть несусветная!» и «Как им пользоваться?». Порывшись в инетах, я не нашел ни одной статьи в полной мере позволяющей начать пользоваться Termux'ом так чтобы это приносило больше удовольствия чем гемора. Будем это исправлять.
Читать дальше →
Всего голосов 32: ↑23 и ↓9+14
Комментарии27

Создаём максимально недоступный сайт с идеальной оценкой Lighthouse

Время на прочтение6 мин
Количество просмотров49K
Встроенный инструмент тестирования Google Lighthouse оценивает доступность (accessibility) сайтов по шкале от 0 до 100. Похвально стремиться к максимальной читаемости контента, но оценка 100 не означает, что сайт идеально доступен. Для доказательства я провёл небольшой эксперимент.

Всегда приятно видеть, как люди хвастаются в твиттере своими оценками Lighthouse: это значит, что они заботятся о качестве.



Lighthouse награждает лучшие сайты зелёным кружочком с цифрой 100, которую вы с гордостью показываете клиентам и друзьям.
Читать дальше →
Всего голосов 138: ↑137 и ↓1+136
Комментарии41

Магия SwiftUI или о Function builders

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


Вы пробовали добавить в VStack больше 10 вьюх?


var body: some View {
        VStack {
            Text("Placeholder1")
            Text("Placeholder2")
            // ... тут вьюшки с 3 по 10 . . .
            Text("Placeholder11")
        }
    }

Я попробовал — это не компилируется. Да, я тоже сначала был удивлен и погрузился в изучение форума Swift и гитхаба. Результатом моего изучения стало — "все равно не компилируется ¯\_(ツ)_/¯ ". Но подождите, давайте разберемся почему.

Читать дальше →
Всего голосов 23: ↑21 и ↓2+19
Комментарии15

Легендарный Intel Core i7-2600K: тестирование Sandy Bridge в 2019 году (часть 1)

Время на прочтение17 мин
Количество просмотров95K
Часть 1>> Часть 2 >> Часть 3



Одним из самых популярных процессоров уходящего десятилетия стал Intel Core i7-2600K. Дизайн был революционным, так как он предлагал значительный скачок в производительности и эффективности одноядерного процессора, а сам процессор еще и хорошо поддавался разгону. Следующие несколько поколений процессоров Intel выглядели уже не такими интересными, и часто не давали пользователям повода для апгрейда, поэтому фраза «Я останусь с моим 2600К» стала повсеместной на форумах и звучит даже сегодня. В этом обзоре мы стряхнули пыль с коробки со старыми процессорами и прогнали ветерана через набор бенчмарков 2019 года, как на заводских параметрах, так и в разгоне, чтобы убедиться, что он по-прежнему является чемпионом.
Читать дальше →
Всего голосов 61: ↑52 и ↓9+43
Комментарии91

Shazam: алгоритмы распознавания музыки, сигнатуры, обработка данных

Время на прочтение13 мин
Количество просмотров160K
В ресторане заиграла почти забытая песня. Вы слушали её в далёком прошлом. Сколько трогательных воспоминаний способны вызвать аккорды и слова… Вы отчаянно хотите послушать эту песню снова, но вот её название напрочь вылетело из головы! Как быть? К счастью, в нашем фантастическом высокотехнологичном мире есть ответ на этот вопрос.

У вас в кармане лежит смартфон, на котором установлена программа для распознавания музыкальных произведений. Эта программа – ваш спаситель. Для того чтобы узнать название песни, не придётся ходить из угла в угол в попытках выудить из собственной памяти заветную строчку. И ведь не факт, что это получится. Программа, если дать ей «послушать» музыку, тут же сообщит название композиции. После этого можно будет слушать милые сердцу звуки снова и снова. До тех пор, пока они не станут с вами единым целым, или – до тех пор, пока вам всё это не надоест.


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

Как же всё это работает?
Читать дальше →
Всего голосов 64: ↑58 и ↓6+52
Комментарии22

Как я организовал хранение фотографий

Время на прочтение9 мин
Количество просмотров137K
Привет Хабр! Каждый из нас хранит какую-нибудь информацию, некоторые для этого используют секретики и лайфхаки. Лично я люблю понажимать кнопку фоторужья и сегодня хотел бы поделиться своим опытом хранения информации, к которому я шёл-шёл и пришёл.



Сразу предупрежу: под катом нет «серебряной пули», которая умножит на 0 проблему хаоса в файлах на ваших устройствах. И даже ни строчки про нейросети, распознавание чего-либо кем-либо и прочие нанотехнологии. Под катом — немного текста и дубовая табличка, которую ещё и заполнять придётся вручную =) Но которая работает.
Читать дальше →
Всего голосов 96: ↑89 и ↓7+82
Комментарии276

Последствия переписывания компонентов Firefox на Rust

Время на прочтение5 мин
Количество просмотров22K
В прошлых статьях цикла мы обсудили безопасность памяти и безопасность потоков в Rust. В этой последней статье посмотрим на последствия реального применения Rust на примере проекта Quantum CSS.

Движок CSS применяет правила CSS на странице. Это нисходящий процесс, который спускается по дереву DOM, после расчёта родительского CSS дочерние стили можно вычислять независимо: идеальный вариант для параллельных вычислений. К 2017 году Mozilla предприняла две попытки распараллелить систему стилей с помощью C++. Обе провалились.

Разработка Quantum CSS началась, чтобы повысить производительность. Улучшение безопасности — просто удачный побочный эффект.

Читать дальше →
Всего голосов 55: ↑53 и ↓2+51
Комментарии63

OS1: примитивное ядро на Rust для x86. Часть 2. VGA, GDT, IDT

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

Первая часть


Первая статья еще не успела остыть, а я решил не держать вас в интриге и написать продолжение.


Итак, в предыдущей статье мы поговорили о линковке, загрузке файла ядра и первичной инициализации. Я дал несколько полезных ссылок, рассказал, как размещается загруженное ядро в памяти, как соотносятся виртуальные и физические адреса при загрузке, а так же как включить поддержку механизма страниц. В последнюю очередь управление перешло в функцию kmain моего ядра, написанного на Rust. Пришло время двигаться дальше и узнать, насколько глубока кроличья нора!


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

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

Разработка плагинов для Atlassian JIRA

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


Все мы в IT сталкивались с системами отслеживания ошибок — с так называемыми баг-трекерами, с issue-трекерами. Один из популярных продуктов такого рода — Atlassian JIRA.

На самом деле, Atlassian JIRA — это больше, чем просто система отслеживания ошибок. JIRA может использоваться довольно широко — в том числе и для управления проектами. Можно сказать, что JIRA — это система для отслеживания статуса задач. Задачи могут быть разными: это сбор требований, тестирование, непосредственно разработка и т. д. Я видел даже попытки подсадить на JIRA бухгалтеров — а что, мол, будет у нас agile-бухгалтерия!

На официальном же сайте JIRA описывается следующим образом:
JIRA is the tracker for teams planning and building great products. Thousands of teams choose JIRA to capture and organize issues, assign work, and follow team activity. At your desk or on the go with the new mobile interface, JIRA helps your team get the job done. В общем, основная идея JIRA в том, что она позволяет планировать работу.

В этой статье я расскажу о том, как разрабатывать дополнения к этой программе. Впрочем, может возникнуть вопрос — а зачем разрабатывать дополнения для JIRA. Поэтому давайте рассмотрим, какие дополнения бывают.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии3

Ядро Linux 5.1 — что известно об изменениях

Время на прочтение3 мин
Количество просмотров45K
Юбилейная версия ядра Linux 5.0 вышла в начале марта. Но работа над kernel 5.1 уже ведется. В этом материале мы рассмотрим ряд нововведений, которые стоит ждать в этой версии.

Читать дальше →
Всего голосов 47: ↑44 и ↓3+41
Комментарии32

Фракталы в иррациональных числах

Время на прочтение9 мин
Количество просмотров19K
Статья является продолжением моей первой статьи «Фракталы в простых числах».

Следующая статья: Фракталы в иррациональных числах. Часть 2.



В предыдущей статье мы научились рисовать самоподобные паттерны с помощью взаимно простых чисел. В этой статье покажу фрактальную природу числа $\sqrt{2}$.
Без предисловия. Под кат.
Читать дальше →
Всего голосов 87: ↑86 и ↓1+85
Комментарии14

Красивые точные часы из старого смартфона

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


Речь в статье пойдёт о том, как старый ненужный мобильник переделать в отличные настенные часы с крупными цифрами, всегда точным временем и резервным питанием.

Я расскажу о некоторых выясненных особенностях сихронизации времени в ОС Андроид, а также о разных электрических хитростях в системе питания смартфона. Опишу пример схемы на несложных аналоговых компонентах, которая осуществляет автоматическое резервное питание. И конечно речь будет о программной части андроид – как и с помощью чего можно самому сделать из смартфона красивые часы на любой вкус.
Читать дальше →
Всего голосов 150: ↑147 и ↓3+144
Комментарии137

О сколько нам открытий чудных готовит Office Microsoft

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


По сообщениям в комментариях к статье про блокнот, во всех версиях Microsoft Excel, начиная по крайней мере с '97 и до самых новых, в имени листа не всегда можно ввести большую букву Ж. Данная проблема обсуждается в сети уже давно, например на этом форуме забавно наблюдать, как некоторые утверждают, что у них проблемы нет, а у других есть, но не всегда, и никто не понимает, почему так. На первый взгляд можно подумать, что это просто недоработка программистов: они хотели не дать пользователю ввести символ ':', и просто не подумали о том, что Ж находится на той же кнопке.

На деле оказалось всё гораздо хуже. Описать нормальными словами то, что происходит в excel, когда вы просто нажимаете кнопку 'Ж', практически невозможно. Поэтому я попытаюсь обрисовать в целом процесс исследования, сократив его где возможно, и не слишком перегружая статью ассемблерным кодом. В итоге мы узнаем, почему получается так, что не любые символы можно ввести, и как это можно исправить.
Читать дальше →
Всего голосов 235: ↑230 и ↓5+225
Комментарии89

Устройство компилятора Swift. Часть 3

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

Продолжаем изучать компилятор Swift. Эта часть посвящена Swift Intermediate Language.


Если вы не видели предыдущие, рекомендую перейти по ссылке и прочитать:


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

Устройство компилятора Swift. Часть 2

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

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

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

Информация

В рейтинге
Не участвует
Откуда
Пермский край, Россия
Дата рождения
Зарегистрирован
Активность