Как стать автором
Обновить
0
Филатов Артур @bybaread⁠-⁠only

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

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

Как хвост виляет собакой. Азбука пропаганды

Время на прочтение4 мин
Количество просмотров209K
Чем доступнее информация, тем больше её вокруг. Чем быстрее она распространяется, тем меньше остаётся времени на то, чтобы её проверить. Постепенно информационная среда превращается в некое подобие «белого шума». Всё труднее строить внутри себя новые информационные фильтры, чтобы отсеять лишнее: убрать в сторону лозунги, агитацию, пропаганду, а оставить только то, что на самом деле кроется за ними. А манипулировать нашими мыслями пытаются постоянно, и я говорю не о 25-ом кадре (он не работает), а о более земных вещах — приёмах пропаганды, которые так умело (а зачастую — очень топорно) используют политики, рекламщики и вообще, все, кому не лень. Об этих приёмах и пойдёт речь в статье.

Хвост виляет собакой. ("Wag the dog") — чтобы избежать большого скандала или «замять», оставить незамеченным какое-нибудь важное, но неприятное событие, часто используется простой, но хитрый и ловкий приём, который англоязычные политтехнологи называют «Wag the dog», а русскоязычные — «Хвост виляет собакой». Он заключается в том, чтобы вовремя поднять волну обсуждения вокруг вопроса второстепенной важности, на фоне которой другое, более важное событие или действие пройдёт незаметно.
Примеры таких вопросов: Отмена перехода на зимнее время, российское гражданство Депардье, поездка Путина или Саши Грей на Ладе Калине по России, полёты со стерхами и т.д.
Своё название этот приём получил в честь английского выражения tail wagging the dog, который, в свою очередь, появился из следующего народного пассажа:
— Почему собака виляет хвостом?
— Потому, что собака умнее, чем хвост. Если бы хвост был умнее, он вилял бы собакой.

Ещё 7 приёмов - под катом
Всего голосов 402: ↑352 и ↓50+302
Комментарии183

CMake и C++ — братья навек

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

Дружба навек


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


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


В данной заметке я хочу рассказать, как достаточно просто организовать заголовочную библиотеку на языке C++ в системе CMake, чтобы получить следующую функциональность:


  1. Сборку;
  2. Автозапуск тестов;
  3. Замер покрытия кода;
  4. Установку;
  5. Автодокументирование;
  6. Генерацию онлайн-песочницы;
  7. Статический анализ.

Кто и так разбирается в плюсах и си-мейке может просто скачать шаблон проекта и начать им пользоваться.
Читать дальше →
Всего голосов 52: ↑49 и ↓3+46
Комментарии51

Температура и давление фантастики — часть 1/3

Время на прочтение13 мин
Количество просмотров58K
Предлагаемая вашему вниманию заметка рассказывает про пространство состояний материи. Которое, в некотором смысле, обширнее, чем пространство расстояний между объектами в космосе, и иногда так же трудно преодолевается.

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

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

Часть 1. pT-диаграмма

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

Эксперимент по учету времени, или Что я узнала, проанализировав целый месяц своей жизни

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


«То, как мы проводим свои дни, определяет то, как мы проводим свою жизнь. То, чем мы занимаемся в конкретную минуту — это как раз то, чем мы занимаемся вообще».
— Энни Диллард (Annie Dillard)

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

В одном дне довольно много минут — 1 440, чтобы быть точной. Даже если учесть нужные здоровому организму восемь часов сна, то получается, что на то, чем мы хотим заниматься, остается почти 1000 минут. И все же в конце дня мне часто казалось, что на самое важное времени не хватило. Должно было быть что-то, что занимало больше времени, чем заслуживало, и чтобы прекратить тратить жизнь на пустяки и проводить время с бо́льшим смыслом, я решила выяснить, что же это.

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

Переведено в Alconost
Читать дальше →
Всего голосов 31: ↑25 и ↓6+19
Комментарии66

Нотной грамоте учат неправильно*

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

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


Предполагается, что студент должен страдать самостоятельно освоить ноты, путем многократного повторения. И вообще, если «ниасилил», значит у тебя нет Таланта — иди мести двор.


Представьте что было бы, если бы обычной грамоте учили так же. Но мы, почему-то, в большинстве своем читать и писать таки научились.


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


* Дисклеймер

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


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


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


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

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

Создание камней для игр с помощью фотограмметрии

Время на прочтение11 мин
Количество просмотров22K
Себастьян ван Элвердинге рассказывает о своём подходе к созданию потрясающих трёхмерных камней и скал с помощью множества фотографий. Более подробно о нём можно узнать в туториале на gumroad.com/sebvhe.


Введение


Привет, меня зовут Себастьян, я живу в Брюсселе, на родине лучшего картофеля фри, пива и шоколада! Сейчас я работаю художником по окружениям в Starbreeze Studios (Стокгольм). раньше я работал в Playground Games над игрой Forza Horizon 3, которая стала для меня отличной возможностью применения фотограмметрии в игре AAA-класса.



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

Хотя с момента написания мой рабочий процесс немного поменялся, туториал всё равно применим к тому, что собираюсь рассказать. Если вам будет что-то непонятно в этом интервью, то, скорее всего, вы найдёте подробное объяснение в туториале.
Всего голосов 41: ↑41 и ↓0+41
Комментарии8

Внутренняя структура игры Contra

Время на прочтение22 мин
Количество просмотров50K
image

Как и многие из тех, кто программирует видеоигры, в детстве я часто играл в игры для NES. Меня всегда поражало, как разработчики смогли добиться столь многого минимальными усилиями, поэтому я потратил кучу времени на анализ внутренней работы некоторых игр. Сегодня я начинаю серию постов, в котором буду документировать то, чему научился, с точки зрения программиста игр. Я постараюсь сосредоточиться на работе систем игры на уровне движка, а не на аппаратном уровне (то есть буду говорить о том, как игра решает, что нужно отрисовать в текущем кадре, а не о том, как работают спрайты на NES). Также я постараюсь добавить любые крупицы информации об играх, которые мне покажутся интересными, например, неочевидное с точки зрения игрока поведение или примеры багов в логике игры.
Читать дальше →
Всего голосов 113: ↑112 и ↓1+111
Комментарии32

Квалификация коллег-программистов: ожидание и реальность

Время на прочтение5 мин
Количество просмотров47K
«Лучшие программисты не чуть-чуть лучше хороших. Они на порядок лучше по любым меркам: концептуальное мышление, скорость, изобразительность и способность находить решения. »
– Rendall E.Stross

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


Далее рассмотрим (с жизненными примерами), на что нужно обращать внимание, чтобы приблизиться к цели стать «лучшим» программистом.
Читать дальше →
Всего голосов 66: ↑42 и ↓24+18
Комментарии116

Небольшой логгер стека вызовов для C++

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

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

Будет рассмотрен небольшой, но иногда довольно полезный класс, плюс небольшой трюк с макросами, позволяющие проводить первичный анализ стека вызовов (call stack) прямо в stdout, в процессе работы программы. Разумеется, на stdout свет клином не сошёлся, и можете перенаправить хоть в файл, хоть куда-нибудь ещё — я лишь демонстрирую общий принцип.

Сразу договоримся:
  1. злоупотребление макросами — зло
  2. ничего нового и сверхъестественного в данной статье нет, она будет понятна даже новичку (на них и рассчитана)
  3. данный приём мало применим (или вообще не применим) в многопоточной среде
  4. реализация не претендует на идеальность, полноту, и уж тем более уникальность
  5. данный приём ни в коем случае не заменяет, а лишь дополняет дебаггер

Но если при написании программы вы не раз писали что-то вроде printf(«Entering Foo()\n»); для мониторинга входа в ту или иную функцию, то вы пришли как раз по адресу.
Поехали!
Всего голосов 63: ↑56 и ↓7+49
Комментарии38

Прочь из моей головы. GTD в разработке

Время на прочтение10 мин
Количество просмотров45K
Если на вашем столе стоит чашка остывшего желанного кофе или чая, значит, что-то не так. Во всяком случае, так наверняка подумал бы Дэвид Аллен, автор знаменитого метода GTD (Getting Things Done). Мы хватаемся за тысячу дел, пытаясь попутно не забыть про бытовые мелочи, часто забываем о цели, но помним о неотвратимо приближающихся дедлайнах. Порой страх перед лавиной задач буквально парализует мозг и наступают апатия, прокрастинация, депрессия. Работа в такие моменты движется медленно, кажется, даже курсор мыши еле ползёт по монитору. Такая ситуация тем опаснее, чем больше человек работает в команде, особенно, если речь идёт о команде разработчиков.


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

Аудиокодек своими руками — это просто

Время на прочтение5 мин
Количество просмотров33K
актуальная редакция статьи на сайте Makeloft

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

Пора снять завесу, отворить дверцу и воочию взглянуть на таинственный алгоритм будоражащий умы и сердца, добро пожаловать на сеанс с разоблачением!


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

Deconvolutional Neural Network

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

Свёрточная нейронная сеть (англ. convolutional neural network, CNN) — специальная архитектура искусственных нейронных сетей, предложенная Яном Лекуном и нацеленная на эффективное распознавание изображений, входит в состав технологий глубокого обучения (англ. deep leaning). Эта технология построена по аналогии с принципами работы зрительной коры головного мозга, в которой были открыты так называемые простые клетки, реагирующие на прямые линии под разными углами, и сложные клетки, реакция которых связана с активацией определённого набора простых клеток. Таким образом, идея сверточных нейронных сетей заключается в чередовании сверточных слоев (англ. convolution layers) и субдискретизирующих слоев (англ. subsampling layers, слоёв подвыборки).[6]

image
Рис 1. Архитектура сверточной нейронной сети

Ключевым моментом в понимании сверточных нейронных сетей является понятие так называемых «разделяемых» весов, т.е. часть нейронов некоторого рассматриваемого слоя нейронной сети может использовать одни и те же весовые коэффициенты. Нейроны, использующие одни и те же веса, объединяются в карты признаков (feature maps), а каждый нейрон карты признаков связан с частью нейронов предыдущего слоя. При вычислении сети получается, что каждый нейрон выполняет свертку (операцию конволюции) некоторой области предыдущего слоя (определяемой множеством нейронов, связанных с данным нейроном). Слои нейронной сети, построенные описанным образом, называются сверточными слоями. Помимо, сверточных слоев в сверточной нейронной сети могут быть слои субдискретизации (выполняющие функции уменьшения размерности пространства карт признаков) и полносвязные слои (выходной слой, как правило, всегда полносвязный). Все три вида слоев могут чередоваться в произвольном порядке, что позволяет составлять карты признаков из карт признаков, а это на практике означает способность распознавания сложных иерархий признаков [3].

Что же именно влияет на качество распознавания образов при обучении сверточных нейронных сетей? Озадачившись данным вопросом, наткнулись на статью Мэттью Зайлера (Matthew Zeiler).
Читать дальше →
Всего голосов 20: ↑18 и ↓2+16
Комментарии0

Простая установка сервера GIT на Windows

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

Предисловие или от куда взялась «бредовая» идея ставить Git на Windows

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

А теперь внимание! Только мы одни во всей фирме работаем на Линуксе, а все остальные сидят исключительно на Windows и сервера у нас тоже под управлением серверных редакций ОС от Билла Гейтса. И если перенос базы Redmine не вызывает особых вопросов, то задача поднять на сервере Windows сервер для Git меня сразу поставила в тупик. Но несколько часов потраченных на поиски дали мне простое работающее решение.

Читать дальше →
Всего голосов 27: ↑18 и ↓9+9
Комментарии18

Архитектурный дизайн мобильных приложений

Время на прочтение9 мин
Количество просмотров98K
Признак плохого дизайна №1:
Наличие объекта-«бога» с именем, содержащим «Manager», «Processor» или «API»


Ведущий iOS-разработчик Redmadrobot Егор BepTep Тафланиди — о том, как добиться стройного архитектурного дизайна мобильного приложения, используя классические шаблоны проектирования и логическое разделение исходного кода на модули.

Читать дальше →
Всего голосов 43: ↑33 и ↓10+23
Комментарии26

На волосок от смерти: Почти случившиеся космические катастрофы

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


Читать про произошедшие космические катастрофы, прямо скажем, печально. Очень жалко людей, а понимание, что старания конструкторов с резервированием важных систем, работа ЦУПа по контролю и управлению ситуацией, подготовка и героизм самих космонавтов — всё это не смогло предотвратить катастрофу, портит настроение. В этом смысле гораздо позитивнее катастрофы, которые могли произойти, но были предотвращены талантом конструкторов, трудом ЦУПа, решительными и умелыми действиями экипажей или простой удачей.
Читать дальше →
Всего голосов 254: ↑253 и ↓1+252
Комментарии54

Собственные впечатления и обзор NAS Synology DS214

Время на прочтение11 мин
Количество просмотров161K
Здравствуйте, уважаемые хабражители. Сегодня я хотел бы поделиться с вами своими впечатлениями от использования NAS Synology DS214.


Читать дальше →
Всего голосов 49: ↑44 и ↓5+39
Комментарии120

Военный космос

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

Нынешний космос вполне себе мирный. Совместные экипажи МКС, невооруженные космические корабли. Но могло сложиться и по-другому. О различном космическом вооружении, от личного оружия до космических линкоров, этот пост.
Читать дальше →
Всего голосов 183: ↑179 и ↓4+175
Комментарии69

Youtube

Время на прочтение1 мин
Количество просмотров223K
Приходится ждать загрузки видео >360p по несколько секунд, обрывы на середине просмотра стало уже обыденным делом и это с достаточно широким каналом.

image

Причина в занижении провайдерами скорости к серверам кеширующим видео, всё что нужно сделать это заблокировать доступ к ним.

Для того чтобы запрос шел мимо cdn серверов ютуба надо заблокировать диапазон ip адресов (в роутере или на компьютере).

173.194.55.0/24 и 206.111.0.0/16
Читать дальше →
Всего голосов 205: ↑147 и ↓58+89
Комментарии179

Солнечный коллаж от NASA

Время на прочтение1 мин
Количество просмотров18K
Наука показывает свою красоту: на сайте NASA появился коллаж «добра и света» — 48 фотографий Солнца, снятые с помощью спектральных камер в космических аппаратах-обсерваториях SDO и SOHO. Кадры представляют собой различные температурные слои. Снимки сделаны в различных цветовых спектрах для анализа структуры звезды.

image
В полном размере.
Читать дальше →
Всего голосов 50: ↑49 и ↓1+48
Комментарии25

Информация

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