Pull to refresh
-1
0
Send message

Загадочные субтитры на CNN

Reading time3 min
Views50K
Зрители CNN обратили внимание, что в выпуске новостей 12/11/2020 на их официальном YouTube-канале вместо субтитров какая-то каша из обрывков английских слов, сплошным капсом:


Как такое могло получиться? (По состоянию на 1/12/2020, субтитры на YouTube так и не исправлены.)

Stenotype


Американские стенографисты уже больше сотни лет как используют специальные устройства с минимальной 22-клавишной клавиатурой — по две клавиши под каждый палец, чтобы минимизировать движения кистей:



Сто лет назад стенотайп был вариантом печатной машинки, и каждая клавиша оставляла оттиск на бумаге. Каретки не было: после каждого «аккорда» из одной или нескольких одновременно нажатых клавиш, бумага проматывалась на одну строчку вниз. Оттиск каждой литеры приходился всегда на одно и то же место в строке. Клавиши P, R, S, T присутствуют в двух экземплярах каждая — под левой и под правой рукой.

Читать дальше →
Total votes 153: ↑153 and ↓0+153
Comments102

Смертельная палитра: токсикология красителей

Reading time11 min
Views27K

Сегодня мы знаем об окружающем нас мире достаточно много, но далеко не всё. Об этом вам с интересом расскажет любой генетик, астрофизик, микробиолог или химик. Возможно сейчас открытие, которое бы изменило наши представления о мире, перевернув всё, что мы знаем с ног на голову, сделать нелегко. Возможно, это практически невозможно. Но что если бы вам однажды сказали, что то, что вы знаете, - ложь. Что один из продуктов современной химии, который мы используем везде и во всём многие годы, убивает нас, а исследования, ученые статьи и всё, что мы наоткрывали, напридумывали, понаписали в книгах - всё это полный бред, а каждый второй предмет в вашей квартире отравлен. И так во всём мире - от главы государства до последнего бедняка с его скудным скарбом. Именно это однажды и произошло, и сегодня мы ненадолго погрузимся в историю токсикологии и удивительное открытие доктора Генри Летеби, в которое никто из его современников не поверил.

Изумрудно-зелёный.

Зелёный насыщенный цвет на самом деле не был таким уж прямо новым и необычным. С глубокой античности мы использовали истертый малахит или пигмент «зеленая земля» из разных соединений кремния. Цвета были бледноваты, и на полотнах до конца 18 столетия увидеть яркую сочную зелень у вас не выйдет. Всё изменилось, когда смогли добыть настоящий изумрудно-зеленый цвет. Он был получен в 1775 году из красителя «Зелень Шееле». Краситель назван в честь шведского ученого - Карла Вильгельма Шееля, того самого, который открыл молочную кислоту и хлор, и о которых я писал в статье про молоко. К несчастью, в те годы, описывая открытые вещества, нужно было указывать в том числе и вкус. К 1786 году исследования тяжёлых металлов и различных их соединений стали комбинироваться у Карла в симптомы. У него появились поражения кожи - потемнения эпителия дополнились утолщениями и язвами, появилась страшная комбинация диареи и сонливости. Вскоре талантливый химик умер. Предположительно, причиной смерти стало поражение почек.

Слева: фреска в церкви св.Франциско в Монтефалько, Италия, авторства Пьетро Ваннучи. Справа: автопортрет Пьетро. Начало 16 в., зеленые пигменты: малахит и кремний.

Читать далее
Total votes 80: ↑76 and ↓4+95
Comments63

Авалония для самых маленьких

Reading time8 min
Views32K
В свежем превью Rider, помимо прочего, появилась поддержка Авалонии. Авалония — это самый крупный .NET фреймворк для разработки кроссплатформенного UI, и его поддержка в IDE — отличный повод наконец разобраться, как писать десктопные приложения для любых платформ.

В этой статье я на примере простой задачи по реализации калькулятора покажу:

  • как управлять разметкой,
  • как связывать функциональность с компонентами,
  • как управлять стилями.


Читать дальше →
Total votes 43: ↑43 and ↓0+43
Comments34

Странный вкус, как симптом

Reading time11 min
Views63K

Вы когда-нибудь ловили себя или своих близких на странных вкусовых пристрастиях или излишествах? Не казалось ли вам, что 5 ложек сахара в чай уже не делают его сладким? Острый перец не такой уж и острый? А может быть вам нравится странное сочетание сладкого и соленого? Рыба с сиропом? Мороженное с пивом?

Читать далее
Total votes 91: ↑86 and ↓5+104
Comments59

Фристайлер ракомакофон! или почему иногда мы неправильно слышим слова песен на английском

Reading time6 min
Views77K


В 2000 году сингл финской группы Bomfunk MC’s просто взорвал радио и танцполы. Уверены, вы помните его — Freestyler.

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

Как оказалось, это вполне нормально. И таким ослышкам даже придумали собственное название — мондегрин. Что за непонятное чудовище и можно ли научиться понимать слова на слух без лишних фантазий, читайте в статье.
Total votes 95: ↑87 and ↓8+105
Comments349

BPF для самых маленьких, часть вторая: разнообразие типов программ BPF

Reading time26 min
Views14K

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


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


Если вы хотите узнать, как именно BPF помогает эффективно решать задачи защиты от DDoS атак, распределения нагрузки на серверы, реализации сетевого стека kubernetes, защиты систем от нападения, эффективной трассировки систем 24x7 прямо в проде и многие другие, то добро пожаловать под кат.


image

Читать дальше →
Total votes 31: ↑31 and ↓0+31
Comments8

Ключи от шкатулки Пандоры: нулевой пациент Эболы

Reading time9 min
Views42K

Погибли тысячи людей, были потрачены миллиарды долларов, ВОЗ неоднократно предупреждала мир о возможности глобальной пандемии. Невероятными усилиями вспышки останавливали каждый раз, привлекали военных, врачей со всего земного шара. Разворачивались операции по спасению мира с десантом и оцеплением в десятки километров. Сегодня в разработке вакцины участвует весь мир. А слово “Эбола” знает каждый. Но с чего всё началось? Откуда появилось одно из самых опасных и широко разрекламированных заболеваний на планете? Кто он - самый первый нулевой пациент болезни четвертого уровня биологической угрозы?

Читать далее
Total votes 106: ↑98 and ↓8+119
Comments39

Прощание с Аресибо

Reading time6 min
Views54K


Мировая астрофизика понесла тяжелую утрату — один из самых больших, и, пожалуй, самый известный радиотелескоп в мире — Arecibo, отключен навсегда и будет демонтирован. Он снимался в кино и отправлял сигнал потенциальным братьям по разуму, он искал инопланетян в программе SETI@home и нашел первую планету за пределами Солнечной системы, он картографировал Венеру и пролетающие астероиды, но усталость металла взяла свое через 57 лет после строительства. Первый трос оборвался в августе 2020-го, второй трос — в начале ноября, а вчера ученые приняли решение, что ремонт слишком опасен для рабочих и проще подорвать опоры телескопа самим, чем ждать его крушения.
Читать дальше →
Total votes 180: ↑180 and ↓0+180
Comments163

Уникальные тропы Death Stranding или гениальный левел-дизайн

Reading time4 min
Views35K
Привет, Хабр! Представляю вашему вниманию перевод статьи «Death Stranding — Level Design Tropes» автора Iuliu-Cosmin Oniscu.



Играл в Death Stranding и пытался сформулировать, чем она отличается от других игр с открытым миром по «классической» формуле. И пришел к выводу, что игра целится совсем в другое. Под катом — разбор оригинального левел-дизайна проекта Хидео Кодзимы.
Читать дальше →
Total votes 32: ↑26 and ↓6+35
Comments23

ВИЧ — нулевой пациент мировой пандемии

Reading time16 min
Views699K

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

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

Часть 1. Рождение мифа

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

Дело было так, Центр по контролю и профилактике заболеваний публиковал еженедельные отчеты о заболеваемости и смертности, и несколько недель подряд в них отображались необычно высокие данные по числу сарком, пневмонии Pneumocystis carinii pneumonia (PCP) и оппортунистических инфекций. То, чем обычно болеют достаточно редко. Общее состояние пациентов выделили в отдельный синдром, собрали рабочую группу и стали разбираться.

И вот спустя пару месяцев, в марте 1984 года в Центре по контролю и профилактике заболеваний в США уже вовсю тщательному анализу и исследованию подвергались сексуальные связи нескольких геев и бисексуальных мужчин. По странному стечению обстоятельств из всех заболевших мужчин, женщин и детей именно эта группа была наиболее многочисленной. Одним из подопытных «содомитов» стал канадский бортпроводник Гаэтан Дугас. Он работал в Эйр Кэнада и умер в 1984-м от почечной недостаточности, вызванной оппортунистической инфекцией на фоне ослабленного иммунитета. Множество журналистов и публицистов 80-х впоследствии опишут Дугаса, как очаровательного и сексуального спортсмена с необъёмным гомосексуальным либидо. Ошибочно определённый как пациент «Ноль», Гаэтан на самом деле не были ни «пациентом О», ни нулевым как таковым. Касательно канадского бортпроводника, его случай числился за номером 57, а обозначение «О» относилось к слову «outside» - то есть, прибывшим из-за пределов США. Именно с Дугаса вообще начинается использование термина «нулевой пациент» в эпидемиологии. Но, как часто бывает, это всего лишь опечатка, вернее, неправильно воспринятая аббревиатура. 57-й пациент был ответственнен за, по меньшей мере, 40 из 248 случаев заражения ВИЧ в 1983 году (исследования Уильяма Дароу в Центре контроля заболеваний). Многие нити на нарисованной эпидемиологами схеме распространения вируса сводились к Гаэтану. Но ,во-первых, далеко не все из них и, во-вторых, на нем они не заканчивались. Молодой человек был продуктом своей эпохи, ВИЧ в его случае и его положении был скорее вопросом времени.Чтобы вы понимали, что за радужные времена в Канаде были в эти годы, нужно упомянуть, что к 1970-м ЛГБТ сообщество игривой походкой праздновало свои победы. В 1971 году в Оттаве состоялся первый в Канаде марш за права геев. Стала выпускаться первая Канадская газета на тему освобождения гомосексуалистов - The body politic - в Торонто. Вышел документальный ЛГБТ сериал «Выход» («каминг аут»). В 73-м году сразу несколько городов в Канаде провели масштабные мероприятия по защите прав геев, назвав это всё «неделей гордости» («прайд вик»). В 74-м году молодому Дугасу было 22 года, быть геем было дерзко и даже немного модно. Во время полётов в самолётах всё ещё курили и подавали крепкий алкоголь крупными порциями, небо пахло романтикой и приключениями. Дугас рос в небольшой семье в пригороде Квебека L’ansien-lorette, возле пригородного аэропорта, он учился на парикмахера и с восторгом наблюдал за пролетающими самолётами. Как только авиакомпании вслед за волной всеобщей либерализации сняли запрет на работу мужчин на борту самолётов, Дугас понял, что всю жизнь мечтал стать стюардессой: белоснежная рубашка с длинными лацканами воротника, голубые обтягивающие штаны и платочек на поясе. Он делился советами по макияжу с коллегами-женщинами и был на острие хипстерской моды 80-х, крутил романы, посещал гей бары и жил полной активной жизнью гейской стюардессы.

Читать далее
Total votes 188: ↑168 and ↓20+198
Comments228

Создание устройства качания детских кроваток с дугообразным полозом

Reading time7 min
Views18K

В предыдущих статьях (раз, два) я описывал устройство качания детской кроватки с маятниковым механизмом. Прошло всего каких-то пять лет – и теперь вашему вниманию хочу представить следующую разработку – устройство качания для кроватки с дугообразным полозом. Ах, да! Предвидя вопросы: «а зачем качать?», «а качать-то, наверное, вредно?», «а вот у меня дети никогда в кроватке не качались – и выросли достойными людьми!», «не нужно приучать детей к качанию, в Спарте таких вообще не любили!» и т.д. – отвечаю: это не предмет рассмотрения данной статьи. Если звезды зажигают – сами понимаете. Всегда качали – это в культуре, причем разных народов. Люльки, колыбели, «бешики» – вот это вот всё. И сейчас тоже – кроватки-качалки, кроватки с маятниковым механизмом. Качали, качают и качать будут. И мы с женой – тоже качали, конечно.

А раз так – будем автоматизировать!
Total votes 49: ↑47 and ↓2+70
Comments127

Монады как паттерн переиспользования кода

Reading time24 min
Views71K


В предыдущей статье мы обсуждали, почему функциональное программирование это совсем не то, что распиарено, и что оно совершенно не противоречит ООП, так, что даже сам "Дядя Боб" пишет про хороший ФП дизайн порождающий хороший ООП дизайн программы (и наоборот).


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


Но ведь в интернете буквально сотни статей про ФП и монады, зачем писать еще одну?


Дело в том, что все их (по крайней мере те что я читал) можно поделить условно на две категории: с одной стороны это статьи где вам объяснят что монада это моноид в категории эндофункторов, и что если монада T над неким топосом имеет правый сопряжённый, то категория T-алгебр над этой монадой — топос. На другой стороне располагаются статьи, где вам рассказывают, что монады — это коробки, в которых живут собачки, кошечки, и вот они из одних коробок перепрыгивают в другие, размножаются, исчезают… В итоге за горой аналогий понять что-то содержательное решительно невозможно.


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


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

Читать дальше →
Total votes 89: ↑85 and ↓4+100
Comments256

Функторы, аппликативные функторы и монады в картинках

Reading time5 min
Views192K
Вот некое простое значение:


И мы знаем, как к нему можно применить функцию:


Элементарно. Так что теперь усложним задание — пусть наше значение имеет контекст. Пока что вы можете думать о контексте просто как о ящике, куда можно положить значение:


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


data Maybe a = Nothing | Just a

Позже мы увидим разницу в поведении функции для Just a против Nothing. Но сначала поговорим о функторах!
Читать дальше →
Total votes 184: ↑175 and ↓9+166
Comments60

Наследование грамматик в Sprache (или еще один настраиваемый калькулятор выражений для .NET)

Reading time13 min
Views13K
Статья демонстрирует технику создания парсеров с использованием наследования грамматик. Наследование позволяет описывать новые грамматики на основе уже существующих путем добавления новых правил или переопределения унаследованных, что существенно упрощает реализацию новых парсеров. Изменения в базовой грамматике автоматически становятся доступными во всех порожденных грамматиках. Основная область применения такой техники — поддержка нескольких диалектов или версий языков.
Читать дальше →
Total votes 19: ↑18 and ↓1+17
Comments2

Как мы «разогнали» команду QA, и что из этого получилось

Reading time9 min
Views29K
Или как получить неочевидные последствия, если отказаться от команды тестирования. Полтора года назад мы разрушили команду тестирования: отказались от регресса, передали E2E автотесты на Selenium в поддержку разработчикам и разошлись по командам, которые пилят фичи, чтобы предотвращать ошибки «в зародыше». В розовых мечтах нам казалось, что так будет больше пользы: QA работают над качеством, тестирование начинается рано, а разработчики пишут автотесты сами и никто им не мешает.



Но не фартануло получилось не совсем так. Розовые мечты окрасились дополнительными оттенками: никто не думает о качестве, автотесты всё хуже, а у разработчиков без команды QA (внезапно) стало больше работы. Так проявились последствия второго порядка, к которым мы не были готовы. Сейчас мы их исправляем и можем рассказать, что это за последствия, как они возникают, какой урон наносят и как попробовать их предугадать, чтобы не было так больно.

Читать дальше →
Total votes 36: ↑27 and ↓9+30
Comments104

Охотничьи зоонозы: когда утка опасней ружья

Reading time19 min
Views35K
Представьте такую картину. Вы сезелень, гордый и своенравный, со своими планами на жизнь, женой-уткой, парой яичек там, парой сям (о которых жена не знает), и двумя своими под хвостом. Ваша жизнь это полеты, небо, пруды, бабульки, батоны и климат. Летом вы в Москве весело крякаете среди засранных лужиц, любуясь бордюрами, подбираете недоеденные жвачки, жрете на спор хот-доги в парках, охотитесь за рожками из-под мороженного и путаетесь в использованных тканевых масках. Осенью вы летите в Турцию через страны Восточной Европы. В Стамбуле гораздо теплее, чем в Москве, там можно нарезать круги вокруг донерных, летать среди окрестных холмов, нюхая запахи кебабов. У вас от такой жизни нет-нет, да и понос, паразиты, клещи, иногда вы кашляете птичьим гриппом на надоедливых туристов с детьми. Ну а что поделать — глобализация. Короче, вы виду не подаете, но в душе сами знаете, что вы птица уже давно помоечная, а никакая не гордая перелетная гусиная. И ладно вы тут, в центральной части России, а не за Уралом. Те вообще в Китай летают.

image
Читать дальше →
Total votes 94: ↑88 and ↓6+119
Comments62

Линукс-порт Far Manager: прогресс за 4 года

Reading time5 min
Views69K
Первая публикация исходников far2l, порта Far Manager под Линукс — штуки, которая когда-то считалась принципиально невозможной — состоялась 10 августа 2016го. Поскольку главный разработчик поговаривает о переходе проекта в статус беты, решил написать обзорный пост, как там идут дела и чего удалось добиться за прошедшие четыре года.

Консольная версия


Первый же вопрос, который все задавали и здесь, и на опеннете, и на лоре — а чего не в консоли? Изначально far2l действительно работал только в графическом режиме, через wxWidgets. Это оказалось самым простым способом быстро получить работающий порт со всеми пользовательскими удобствами: иксовым буфером обмена и всеми сочетаниями клавиш, причем с поддержкой событий не только KeyDown, но и KeyUp.

Сейчас это ограничение в прошлом: far2l прекрасно себя чувствует в консоли. Более того, там появились так называемые расширения терминала far2l, поэтому если запускать консольный far2l внутри графического (например, зайдя куда-нибудь по ssh), они «сконнектятся» между собой, и внутренний far2l тоже будет видеть и буфер обмена (с разрешения пользователя, конечно), и все возможные горячие клавиши. Более того, сделана даже специальная сборка putty, позволяющая наслаждаться всеми этими фишками из Windows.

Вот, смотрите, это far2l в GNOME Terminal


Читать дальше →
Total votes 178: ↑177 and ↓1+234
Comments585

Сложение двух чисел с плавающей запятой без потери точности

Reading time9 min
Views81K
Здравствуйте, друзья, как вы думаете, если мы напишем такой код:

s = a+b;
z = s-a;
t = b-z;

то не кажется ли вам, что в результате его выполнения получится, что t=0? С точки зрения привычной математики действительных чисел это и правда так, а вот с точки зрения двоичной арифметики с плавающей запятой в переменной t будет кое-что другое. Там будет то, что спасает нас от потери точности при сложении чисел $a$ и $b$. Кого интересует данная тема, прошу под кат.

Total votes 99: ↑97 and ↓2+135
Comments172

3D Secure, или что скрывают механизмы безопасности онлайн-платежей

Reading time11 min
Views45K


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


Один из протоколов, используемых для увеличения безопасности онлайн-платежей — 3D Secure. Это протокол, который был разработан на основе XML в качестве дополнительного уровня безопасности платежей, проводящихся без физического участия карты (card not present payment). VISA создала первую версию этого протокола, но вскоре его начали использовать и другие компании (Master Card, JCB International, AmEx, Мир), впоследствии объединившиеся с VISA в содружество EMV. EMV занимается поддержкой и развитием протокола 3DS.

Читать дальше →
Total votes 23: ↑23 and ↓0+23
Comments31

Про новинки в .NET 5 и C# 9.0

Reading time21 min
Views86K
Добрый день.

В нашей компании .NET используется с самого его рождения. У нас в продуктиве работают решения, написанные на всех версиях фреймворка: от самой первой и до последней на сегодняшний день .NET Core 3.1.

История .NET, за которой мы пристально следим всё это время, творится на глазах: версия .NET 5, которую планируют релизить в ноябре, только что вышла в виде Release Candidate 2. Нас давно предупреждали, что пятая версия будет эпохальной: с нею закончится .NET-шизофрения, когда существовали две ветки фреймворка: классический и Core. Теперь они сольются в экстазе, и будет один сплошной .NET.

Вышедший RC2 уже можно начинать полноценно использовать – никаких новых изменений перед релизом больше не ожидается, будет только фикс найденных багов. Более того: на RC2 уже работает официальный сайт, посвящённый .NET.

А мы представляем вам обзор новшеств в .NET 5 и C# 9. Вся информация с примерами кода взята из официального блога разработчиков платформы .NET (а также ещё из массы источников) и проверена лично.
Читать дальше →
Total votes 131: ↑131 and ↓0+131
Comments152

Information

Rating
Does not participate
Registered
Activity