Pull to refresh
0
0
Send message

Германия — достоинства, недостатки и неповторимое, часть 1

Reading time7 min
Views74K

Живу в Германии с 2014ого.

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

Зарплаты программистов

Ну как же без этого? Решил вопрос оплаты вынести в самое начало, ведь если он вас разочарует, то ваш интерес к стране может сразу угаснуть.

Читать дальше ->
Total votes 125: ↑116 and ↓9+135
Comments591

Реверс-инжиниринг исходного кода коронавирусной вакцины от компаний BioNTech/Pfizer

Reading time11 min
Views105K
Добро пожаловать. В данном посте мы посимвольно разберём исходный код вакцины BioNTech/Pfizer SARS-CoV-2 мРНК.

Да, такое заявление может вас удивить. Вакцина – это ведь жидкость, которую вводят человеку в руку. При чём тут какой-то исходный код?

Хороший вопрос. Начнём мы с небольшой части того самого исходного кода вакцины BioNTech/Pfizer, также известной, как BNT162b2, также известной, как Tozinameran, также известной, как Comirnaty.


Первые 500 символов мРНК BNT162b2.

В сердце вакцины находится вот такой цифровой код. Его длина составляет 4284 символа, так что его вполне можно уместить в несколько твитов. В самом начале процесса производства вакцины кто-то закачал этот код в ДНК-принтер (ага), который, в свою очередь, превратил байты с накопителя в реальные молекулы ДНК.
Total votes 238: ↑232 and ↓6+304
Comments366

Программист учится рисовать. Дневник Емели

Reading time16 min
Views35K
Так получилось, что моим основным хобби на лихой 2020-й год стало освоение ремесла рисования.

Еще в январе я дал себе некое обещание в виде цели к концу года — прокачать навык рисования (звучит конечно абстрактно и совсем не по SMART-у, я думаю, это и повлияло в дальнейшем на то, как я развивал этот навык весь год и что получилось в итоге).

spoiler
В конце года я остался доволен собой и окончательно понял, что я хотел бы прокачиваться и дальше!

image
Так выглядел мой уровень изобразительных навыков в ноябре предыдущего (2019-го) года

Формат подачи данной статьи — это на 95% личный дневник, который я вел в гугл-доке, записывая, что я делал каждый месяц, свои ощущения и как-то фиксируя собственный прогресс — смотрел, сколько работ мне удалось нарисовать и какого они были качества — нравились ли они мне лично или были совсем так себе по исполнению.
Читать дальше →
Total votes 105: ↑104 and ↓1+142
Comments123

Анализ зашифрованного трафика без его расшифровки

Reading time15 min
Views11K

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


Total votes 12: ↑3 and ↓9-3
Comments7

Flow-протоколы как инструмент мониторинга безопасности внутренней сети

Reading time17 min
Views34K
Когда речь заходит о мониторинге безопасности внутренней корпоративной или ведомственной сети, то у многих возникает ассоциация с контролем утечек информации и внедрением DLP-решений. А если попробовать уточнить вопрос и спросить, как вы обнаруживаете атаки во внутренней сети, то ответом будет, как правило, упоминание систем обнаружения атак (intrusion detection systems, IDS). И то, что было единственным вариантом еще лет 10-20 назад, то сегодня становится анахронизмом. Существует более эффективный, а местами и единственно возможный вариант мониторинга внутренней сети — использовать flow-протоколов, изначально предназначенных для поиска сетевых проблем (troubleshooting), но со временем трансформировавшихся в очень интересный инструмент безопасности. Вот о том, какие flow-протоколы бывают и какие из них лучше помогают обнаруживать сетевые атаки, где лучше всего внедрять мониторинг flow, на что обратить внимание при развертывании такой схемы, и даже как это все “поднять” на отечественном оборудовании, мы и поговорим в рамках данной статьи.
Total votes 12: ↑11 and ↓1+10
Comments3

Сравнение структур разделов GPT и MBR

Reading time11 min
Views680K
Вы когда-нибудь задумывались о том, как загружается компьютер? Независимо от аппаратуры и операционной системы, все компьютеры при загрузке используют или традиционный метод BIOS-MBR, или более современный UEFI-GPT, реализованный в последних версиях ОС.

В этой статье мы сравним структуры разделов GPT и MBR; GPT означает GUID Partition Table, а MBR — Master Boot Record. Начнём с того, что разберём сам процесс загрузки.

В следующих главах выделяются различия между стилями разделов GPT и MBR, в том числе приводятся инструкции, как осуществить преобразование между двумя стилями, и советы, какой из них выбрать.
Читать дальше →
Total votes 26: ↑23 and ↓3+20
Comments38

Собственные игровые движки: небольшое исследование

Reading time12 min
Views42K

Пару недель назад я играл в A Plague Tale студии Asobo Studio (и прошёл её). Меня очень захватила эта игра, благодаря не только красивой графике, но и сюжету с локациями. Я решил немного изучить технологии, использовавшиеся при её разработке, и был удивлён, обнаружив, что игра создавалась на собственном движке относительно небольшой студии. Я знаю, что некоторые компании используют собственные движки, но очень сложно найти подробное маркетинговое исследование с подобной информацией. Поэтому я написал эту статью.

Сегодня многие компании выбирают для разработки игр такие движки, как Unreal или Unity (или, по крайней мере, так думают многие люди), потому что для разработки собственного движка AAA-уровня требуется множество ресурсов. Поэтому я решил составить список некоторых из самых популярных самописных движков с указанием размеров студий и значимых игр, выпущенных на этих движках.

Большинство представленных здесь движков разрабатывалось на протяжении многих лет, множества итераций и для множества видеоигр, эти движки имели несколько версий или даже полностью (частично) переписывались с нуля с последующей сменой названия. Кроме того, важно заметить, что большинство этих движков для реализации определённой функциональности (совместимость с платформами, физика, сеть, растительность, UI, рендеринг, звук...) использует всевозможное промежуточное ПО.
Читать дальше →
Total votes 30: ↑30 and ↓0+30
Comments46

Как работает видеокодек. Часть 1. Основы

Reading time11 min
Views46K

Вторая часть: Принципы работы видеокодека




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

Если рассматривать итоговый цвет как комбинацию т.н. основных цветов (красного, зеленого и синего), в нашей трёхмерной матрице определяем три плоскости: первая для красного цвета, вторая для зеленого и последняя для синего.
3D матрица RGB

Будем называть каждую точку в этой матрице пикселем (элементом изображения). Каждый пиксель содержит информацию об интенсивности (обычно в виде числового значение) каждого цвета. Например, красный пиксель означает, что в нём 0 зеленого цвета, 0 синего и максимум красного. Пиксель розового цвета может быть сформирован с помощью комбинации трех цветов. Используя числовой диапазон от 0 до 255, розовый пиксель определяется как Красный = 255, Зелёный = 192 и Синий = 203.
Total votes 58: ↑58 and ↓0+58
Comments13

Во что поиграть от топографического кретинизма: игры на зрительно-пространственную функцию

Reading time27 min
Views25K


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

У некоторых детей освоение ориентировки на плоскости, а потом и в пространстве вызывает больше затруднений, чем у других. Например, она труднее дается левшам и девочкам, причем по одной и той же причине – из-за особенностей межполушарного взаимодействия. Когда женщина говорит, что надо повернуть налево, имея в виду, что надо повернуть направо, то это как раз про то, что у нее есть небольшой дефицит зрительно-пространственной функции. Многим женщинам из-за этого трудно читать карты, и чтобы понять, в какую сторону идти, им вначале нужно сориентировать карту так, чтобы она совпадала с местностью.
Читать дальше →
Total votes 43: ↑43 and ↓0+43
Comments29

Оптимизация кода: процессор

Reading time18 min
Views115K
Все программы должны быть правильными, но некоторые программы должны быть быстрыми. Если программа обрабатывает видео-фреймы или сетевые пакеты в реальном времени, производительность является ключевым фактором. Недостаточно использовать эффективные алгоритмы и структуры данных. Нужно писать такой код, который компилятор легко оптимизирует и транслирует в быстрый исполняемый код.

image

В этой статье мы рассмотрим базовые техники оптимизации кода, которые могут увеличить производительность вашей программы во много раз. Мы также коснёмся устройства процессора. Понимание как работает процессор необходимо для написания эффективных программ.
Читать дальше →
Total votes 107: ↑102 and ↓5+97
Comments142

Менеджмент памяти или как реже стрелять себе в ногу

Reading time20 min
Views30K

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


Зачем это необходимо? Программа — это последовательность команд по обработке данных (в самом общем случае). Эти данные необходимо некоторым образом хранить, загружать, передавать и т.д. Все эти операции не происходят мгновенно, следовательно, они непосредственно влияют на скорость работы вашего конечного приложения. Умение оптимально управлять данными в процессе работы позволит вам создавать весьма нетривиальные и очень требовательные к ресурсам программы.


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



Невозможно все держать в памяти. Но если не успел подгрузить, то получишь мыло

Читать дальше →
Total votes 63: ↑62 and ↓1+61
Comments49

Apple в 2019 году — это Linux в 2000 году

Reading time3 min
Views144K
Примечание: этот пост — ироничное наблюдение на тему цикличности истории. Это самое наблюдение не несет какой-либо практической пользы, но в сути своей — весьма меткое, так что я решил, что им стоит поделиться с аудиторией. Ну и конечно же, встретимся в комментариях.



На прошлой неделе ноут, который я использую для разработки под MacOS, сообщил, что доступно обновление XCode. Я попытался его установить, но система сообщила, что ей недостаточно свободного места на диске для запуска программы установки. Окей, я удалил кучу файлов и попробовал снова. Все та же ошибка. Я пошел дальше и удалил еще кучу файлов и в довесок несколько неиспользуемых образов виртуальных машин. Эти манипуляции освободили на диске несколько десятков гигабайт, так что все должно было заработать. Я даже вычистил корзину, чтобы там ничего не «зависло», как это обычно бывает.

Но даже это не помогло: я получил все ту же ошибку.
Читать дальше →
Total votes 478: ↑439 and ↓39+400
Comments811

Тест для проверки цветового разрешения монитора или телевизора при подключении к компьютеру по цифровому видеоинтерфейсу

Reading time7 min
Views165K
«Кто нам мешает, тот нам поможет»
к/ф «Кавказская пленница»


Телевизор в качестве монитора?


В последние годы все более популярным становится использование телевизора в качестве домашнего компьютерного монитора.
И действительно — если еще несколько лет назад типичным для компьютерных мониторов Full HD разрешением (1920x1080) могли похвастаться лишь телевизоры с диагональю 40" и более, слишком большие для настольного монитора, то сейчас нетрудно найти телевизор с Full HD разрешением и с вполне «мониторной» диагональю 32" и меньше. Соответственно и размер пикселя при этом получается близким к «типовому» для настольных мониторов 0,28 мм ± 10% (ну, может быть чуть больше). А если кому-то такой пиксель покажется великоват, то с появлением доступных по цене бытовых телевизоров с разрешением 4k Ultra HD (3840x2160) размер пикселя вполне может конкурировать и с Retina.
К тому же широко распространенные в бытовых телевизорах IPS матрицы по компьютерным меркам считаются весьма «продвинутыми», и ими обычно оснащаются весьма дорогие «профессиональные» мониторы.
Казалось бы вот оно, идеальное решение для экономного домашнего пользователя — купить на грош пятаков небольшой (по телевизионным меркам) относительно недорогой 26"-37" бытовой телевизор с Full HD или Ultra HD разрешением, и в результате получить «компьютерный монитор» с большим (по компьютерным меркам) «профессиональным» IPS дисплеем, который к тому же без дополнительных вложений может быть использован и по прямому «телевизионному» назначению (что для дома тоже немаловажно!).
Однако иной раз результатом такого приобретения становится полное разочарование: компьютерная картинка на экране телевизора оказывается намного хуже, чем на простеньком старом мониторе, вместо которого этот телевизор собственно и приобретался.
Причин этого может быть множество, начиная от несоответствия разрешения соединяющего компьютер с телевизором видеоинтерфейса разрешению телевизионной матрицы, способности телевизора выводить картинку «пиксель-в-пиксель», настроек видеокарты (в частности, Overscan), настроек самого телевизора (например, резкости), проблем с кабелем, и так далее.
В данной статье мы рассмотрим только одну из возможных причин, а именно способность видеоинтерфейса, которым подключен телевизор или монитор к компьютеру, передать полное цветовое разрешение 4:4:4.

Для начала собственно тест:



Если на экране Вам отчетливо видна появляющаяся надпись 4:4:4, и лишь слегка угадывается 4:2:2, то значит видеоинтерфейс компьютер-монитор передает полное цветовое разрешение, и на этом собственно можно закончить тест и чтение статьи.
Тем же, кому интересно, как действует этот тест, а также тем, кто видит 4:2:2 и не видит 4:4:4 (или видит примерно одинаково и 4:4:4, и 4:2:2), и при этом хочет попробовать исправить ситуацию добро пожаловать под кат
Читать дальше →
Total votes 35: ↑35 and ↓0+35
Comments63

Для дикой природы человек оказался страшнее радиации: Чернобыль превращается в естественный заповедник

Reading time2 min
Views47K
image

После самой крупной техногенной катастрофы в истории человечества, произошедшей 26 апреля 1986 года на Чернобыльской АЭС, тысячи жителей были вынуждены покинуть свои дома. Целый регион стал непригоден для жизни людей на ближайшие несколько сотен лет. Но природа не терпит пустоты — после исхода человека из Чернобыля, зона отчуждения стала естественным заповедником для лосей, косуль, оленей, кабанов, волков и многих других видов животных, чье жизненное пространство было захвачено людьми.

Данную информацию 5 октября опубликовал журнал Current Biology, что еще раз подтверждает стойкость живой природы и ее способность к адаптации. Также эта информация дает важный урок и понимание того, как будут развиваться области более поздних техногенных катастроф, например, в японской Фукусиме.
Читать дальше →
Total votes 46: ↑46 and ↓0+46
Comments80

Сериал «Чернобыль»: смотреть и думать

Reading time9 min
Views200K
Горький опыт сериалов, которые хорошо начинаются и разочаровывающе заканчиваются, удерживал меня от написания восторженного обзора на сериал «Чернобыль» до этой недели. И сейчас, когда вышла последняя, пятая серия, к сожалению, я вынужден сказать, что это отличный сериал, это прекрасный повод узнать больше о чернобыльской катастрофе, его обязательно стоит посмотреть, если вы еще не, но, если первые три серии, на мой взгляд, поднимаются до уровня моего самого любимого фильма «Аполлон-13», то две последние, опять же, по моему мнению, оказываются заметно похуже.


Кадр из сериала

Под катом спойлеры, как бы странно это не звучало для базирующегося на реальной истории сериала.
Total votes 189: ↑164 and ↓25+139
Comments797

Про Гауди — разработчика из девятнадцатого века, добившегося всего, чего может добиться разработчик

Reading time8 min
Views101K
Вот что строил испанский архитектор Антонио Гауди:



Его здания описывают как «бионические дома», некоторые говорят о «летящей пластичной материи». За морем восторгов художников и дизайнеров, как мне показалось, упущена некоторая невероятная рационализация и прагматичность. Гауди был в первую очередь отличным разработчиком, математиком и геометром. Но чтобы объяснить это, сначала я покажу другую картинку:


Это два крепления. Первое производится серийно — оно просто в проектировании, просто в изготовлении, дёшево и невероятно уродливо. Второе красивое, и требует на 25% меньше материала для того, чтобы выдержать тот же вес (то есть — куда прочнее). Только его трудно рассчитать, оно будет дороже в серии — и придётся подумать.

Примерно то же самое делал Гауди. Ему пришлось обойтись без математического аппарата и современных материалов. И ещё действовать в рамках строго ограниченного бюджета. Он, фактически, заложил новые принципы всего от фасада до последней дверной ручки, создал шедевры оптимизации — в общем смёл все стереотипы как сухие листья, создал с нуля теорию и воплотил её. В девятнадцатом веке всё то, что он делал, было просто диким. Некоторые даже считали его сумасшедшим.
Читать дальше →
Total votes 228: ↑225 and ↓3+222
Comments136

Зубы мудрости: удалить нельзя оставить

Reading time6 min
Views351K
image

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

Издавна с восьмёрками (третьими молярами или «зубами мудрости») связано очень много анекдотов, суеверий, легенд и историй, в том числе весьма страшных. И распространена вся эта мифология не только среди обычных людей, но и в медицинском сообществе. Постепенно, в ходе обсуждения, я попробую их развенчать и показать, что зубы мудрости — не такая уж проблема, как в плане диагностики, так и в плане удаления. Тем более, если речь идёт о современном докторе и современной клинике.
Читать дальше →
Total votes 149: ↑142 and ↓7+135
Comments254

Кипр — минутка мягкого психодела

Reading time10 min
Views46K

Фламинго в Ларнаке на Кипре. Поселение, кстати, по-нашему будет «Гробово», потому что «ларнака» — это саркофаг, а их тут в окрестностях нашли немало. Так город и назвали.

Первое впечатление от Кипра или «острова айтишников» — остров невероятно добрых раздолбаев. Здесь тепло, приятно, рядом море, вокруг солнце, небо — ну как в таких обстоятельствах можно делать что-то серьёзное? Вот, например, для владельца кафе нормально увидеть большой поток клиентов, решить, что это слишком утомительно, закрыть заведение, сказать всем «Расслабьтесь!» и пойти через дорогу пить кофе. Чтобы отдохнуть. Что характерно, все расслабятся и уйдут по своим делам.

С другой стороны, модерация от государства тоже почти не чувствуется. Везде граффити (и очень удачно вписанные в городскую среду), паспортный контроль я в обе стороны прошёл за 15 секунд (быстрее нельзя, это время поиска свободного места под штемпель в паспорте), в музеях нет смотрителей (и всё целое), а на дорогах можно ехать слегка под градусом, все превышают и перестраиваются через сплошную даже перед полицией.
— Тут все нарушают, смотри! — сообщил мне водитель по дороге из аэропорта.
— Эээ… А вас не смущает, что мы сейчас превышаем на 40 километров в час?

В общем, чудо-остров. И при этом интересный с точки зрения инфраструктуры. И с фламинго.
Читать дальше →
Total votes 132: ↑132 and ↓0+132
Comments122

Особенности рендеринга в игре Metro: Exodus c raytracing

Reading time11 min
Views23K
image

Предисловие


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

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

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

Первые шаги


На поиск среды, способной работать с этой игрой, у меня ушло несколько дней. Протестировав несколько версий RenderDoc и PIX, я остановился на изучении результатов трассировки лучей с помощью Nvidia NSight. Я хотел изучать рендеринг без функций raytracing, но NSight позволял исследовать подробности и этой функции, поэтому я решил оставить её включённой. Для всего остального рендеринга вполне подошёл PIX. Скриншоты сделаны с помощью обоих приложений.
Читать дальше →
Total votes 39: ↑37 and ↓2+35
Comments9

Развёрнутый ответ на комментарий, а также немного о жизни провайдеров в РФ

Reading time7 min
Views82K
Сподвиг меня на этот пост вот этот вот комментарий.

Привожу его здесь:
kaleman сегодня в 18:53

Меня сегодня порадовал провайдер. Вместе с обновление системы блокирования сайтов, у него под бан попал почтовик mail.ru. С утра дергаю техподдержку, ничего сделать не могут. Провайдер маленький, и блокируют видимо вышестоящие провайдеры. Еще заметил замедление открытие всех сайтов, может какое-то кривое DLP навесили? Раньше никаких проблем с доступом не было. Уничтожение рунета идет прямо на моих глазах…
Дело в том, что, похоже, мы и есть тот самый провайдер :(

И действительно, kaleman почти угадал с причиной проблем с mail.ru (хотя мы долго отказывались верить в подобное).

Дальнейшее будет разделено на две части:

  1. причины наших сегодняшних проблем с mail.ru и увлекательный квест по их поиску
  2. существование ISP в сегодняшних реалиях, стабильность суверенного рунета.
Читать дальше →
Total votes 291: ↑290 and ↓1+289
Comments387

Information

Rating
Does not participate
Registered
Activity