Pull to refresh
2
0

User

Send message

Более 13 млн рассекреченных документов ЦРУ в онлайне: полнотекстовый поиск

Reading time4 min
Views50K

Рассекреченный архив документов ЦРУ (справа) и всего четыре компьютера, с которых можно было получить доступ к информации (слева)

Некоторые законы очень неудобны для жуликов, которые хотят скрыть информацию. Поэтому они выполняют требования закона, но прибегают к «невинному саботажу», чтобы свести ущерб к минимуму. Например, в России информацию о тендерах вносили в открытый реестр с заменой кириллических символов на латинские, чтобы их трудно было найти обычным поиском. Спецслужбы в США тоже мастера на творческий уход от выполнения законов, формально соблюдая их. Только оцените талант сотрудников ЦРУ. По закону Freedom of Information Act Центральное разведывательное управление с 31 декабря 2006 года обязано снимать гриф секретности с документов старше 25 лет и обеспечивать свободный доступ к ним. ЦРУ формально выполнило требование закона: оно создало базу рассекреченных документов CREST (CIA Records Search Tool) и организовало «свободный» доступ к ней через… четыре компьютера в здании филиала Национального архива в городе Колледж-Парк, шт. Мэриленд, который открыт для публики с 9:00 до 17:00. Здесь у разведчиков явное упущение: по логике ЦРУ, надо было ограничить время работы архива, например, с 7:00 до 7:10 на один день в неделю.

Такой беспредел продолжался до настоящего времени. В конце концов справедливость восторжествовала. С января 2017 года вся база рассекреченных документов CREST открыта в интернете c полнотекстовым поиском — проверьте поиск по городам и райцентрам России, фамилиям учёных, названиям наркотиков и т.д. Теперь всё действительно работает как положено. Вся информация открыта.
Читать дальше →
Total votes 51: ↑49 and ↓2+47
Comments172

Получение участников сообщества vk.com за считанные секунды

Reading time2 min
Views114K
Ни для кого не секрет, что VK API возвращает за один запрос к методу groups.getMembers не более 1 000 участников. В одну секунду вы можете получить максимум 3 000 участников, так как установлено ограничение на количество запросов в секунду до 3. Эту проблему решает метод execute, с помощью которого вы можете получить более 100 000 участников за одну секунду и до 25 000 участников за один запрос. В этой статье я расскажу Вам, как я это реализовал.
Читать дальше →
Total votes 57: ↑43 and ↓14+29
Comments26

Model-View в QML. Часть нулевая, вводная

Reading time6 min
Views75K
Одним из наиболее распространенных и эффективных приемов проектирования программ является использование шаблона программирования MVC (Model-View-Controller) — Модель-Представление-Контроль. MVC позволяет разделить части программы, отвечающие за хранение и доступ к данным, отображение данных и за взаимодействие с пользователем на отдельные слабо связанные модули. Подобное разделение ответственности упрощает структуру программы и позволяет вносить изменения в одну из этих частей не затрагивая остальные.

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

Model-View в QML:
  1. Model-View в QML. Часть нулевая, вводная
  2. Model-View в QML. Часть первая: Представления на основе готовых компонентов
  3. Model-View в QML. Часть вторая: Кастомные представления
  4. Model-View в QML. Часть третья: Модели в QML и JavaScript
  5. Model-View в QML. Часть четвертая: C++-модели

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

Биологические предпосылки деградации компаний

Reading time25 min
Views90K


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

  • на личном уровне подталкивают к прокастинации;
  • в стартапе по мере его успеха и роста приводят к потере прежней творческой «внутренней атмосферы» и нарастанию бюрократии;
  • в больших компаниях приводят к «иерархическому регрессу».

Благодаря этим особенностям мышления человека, среднее время нормальной жизни коммерческих компаний составляет 15 лет, а изначальные «Империи добра», типа Гугл и Яндекс, неумолимо со временем приобретают черты «Империй зла».

Некоторые компании сопротивляются этому, а некоторые даже и не понимают, почему приходит в упадок их внутренняя корпоративная культура. Почему попытки привить хорошие и правильные принципы и практики организации бизнеса не дают ожидаемых результатов…
Читать дальше →
Total votes 86: ↑81 and ↓5+76
Comments160

Машинное обучение — это легко

Reading time7 min
Views344K
В данной статье речь пойдёт о машинном обучении в целом и взаимодействии с датасетами. Если вы начинающий, не знаете с чего начать изучение и вам интересно узнать, что такое «датасет», а также зачем вообще нужен Machine Learning и почему в последнее время он набирает все большую популярность, прошу под кат. Мы будем использовать Python 3, так это как достаточно простой инструмент для изучения машинного обучения.
Читать дальше →
Total votes 51: ↑44 and ↓7+37
Comments20

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

Reading time20 min
Views62K


Занимаясь программированием рендеринга графики, мы живём в мире, в котором обязательны низкоуровневые оптимизации, чтобы добиться GPU-фреймов длиной 30 мс. Для этого мы используем различные методики и разработанные с нуля новые проходы рендеринга с повышенной производительностью (атрибуты геометрии, текстурный кеш, экспорт и так далее), GPR-сжатие, скрывание задержки (latency hiding), ROP…

В сфере повышения производительности CPU в своё время применялись разные трюки, и примечательно то, что сегодня они используются для современных видеокарт ради ускорения вычислений ALU (Низкоуровневая оптимизация для AMD GCN, Быстрый обратный квадратный корень в Quake).


Быстрый обратный квадратный корень в Quake

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

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

В статье мы рассмотрим кеширование, векторное программирование, чтение и понимание ассемблерного кода, а также написание кода, удобного для компилятора.
Читать дальше →
Total votes 141: ↑133 and ↓8+125
Comments103

«Парадокс инспекции» встречается повсюду

Reading time3 min
Views46K
Многим известен так называемый «парадокс дружбы» (friendship paradox) в социальных сетях, впервые упомянутый в научной работе 1991 года, когда социальные сети были только в офлайне. Этот парадокс применим и к современным социальным сетям в интернете.

Если взять любого пользователя Facebook и случайным образом выбрать любого из его друзей, то с вероятностью 80% у друга будет больше «френдов». Люди, которые плохо знакомы с математической статистикой, очень огорчает тот факт, что почти все френды более «успешны» в общении, чем они сами. Но здесь нет причины для депрессии: так и должно быть, в соответствии с наукой и здравым смыслом.

Парадокс дружбы — одна из форм «парадокса инспекции» (Inspection Paradox), который встречается буквально повсюду и частенько вводит в заблуждение обывателей.
Читать дальше →
Total votes 71: ↑68 and ↓3+65
Comments36

«Хардкор» и его технологии

Reading time10 min
Views36K
Главного героя реанимируют в помещениях научно-фантастической лаборатории. На экране дорогая аниматроника создаёт иллюзию того, что человека собирают по частям. Персонаж не помнит ничего, но приводящая его в чувство красотка представляется женой. За этим следуют её похищение, демонстрация отрицательных персонажей, постановка цели и череда кровавых сцен с большой долей насилия.

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

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


Total votes 45: ↑45 and ↓0+45
Comments35

Иллюзии мозга. Когнитивные искажения из-за переизбытка информации

Reading time9 min
Views115K


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

В работе с широкими массами профессионалы используют способы обхода механизма цензуры, который в мозге фильтрует информацию, поступающего из внешнего мира. Например, если усилить информацию эмоционально, то вербальное или невербальное послание легче пройдёт встроенные фильтры сознания и надолго сохранится в памяти потребителя информации.
Читать дальше →
Total votes 34: ↑32 and ↓2+30
Comments32

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

Reading time17 min
Views120K
imageКто-то считает музыку уделом избранных талантов, кто-то — набором физических закономерностей. Автор материала делает попытку объяснить знакомые каждому музыкальные термины, такие как тон, интервал, амплитуда, нота, октава, партитура, аккорд и так далее с помощью расчетов и технических обоснований. Ниже перевод оригинального текста.

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

Все остальные правила для меня выглядят совершенно, ну просто абсолютно произвольно. Почему у нас есть 12 нот, но для их обозначения применяются только 7 букв? Откуда взялись знаки при ключе? Почему ни одну статью по музыке в Википедии просто невозможно понять, не прочитав сперва все остальные?
Читать дальше →
Total votes 107: ↑104 and ↓3+101
Comments99

Использование метаклассов в Python

Reading time11 min
Views42K
Некоторые средства метапрограммирования не так часто используются в ежедневной
работе, как обычные в ООП классы или те же декораторы. Для понимания же целей
введения подобных средств в язык требуются конкретные примеры промышленного
применения, некоторые из которых и приведены ниже.

Читать дальше →
Total votes 72: ↑69 and ↓3+66
Comments29

Метаклассы в Python

Reading time10 min
Views188K
Как сказал один из пользователей StackOverflow, «using SO is like doing lookups with a hashtable instead of a linked list». Мы снова обращаемся к этому замечательному ресурсу, на котором попадаются чрезвычайно подробные и понятные ответы на самые различные вопросы.

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

Читать дальше →
Total votes 91: ↑88 and ↓3+85
Comments17

Руководство по магическим методам в Питоне

Reading time28 min
Views571K
Это перевод 1.17 версии руководства от Rafe Kettler.


Содержание


  1. Вступление
  2. Конструирование и инициализация
  3. Переопределение операторов на произвольных классах
  4. Представление своих классов
  5. Контроль доступа к атрибутам
  6. Создание произвольных последовательностей
  7. Отражение
  8. Вызываемые объекты
  9. Менеджеры контекста
  10. Абстрактные базовые классы
  11. Построение дескрипторов
  12. Копирование
  13. Использование модуля pickle на своих объектах
  14. Заключение
  15. Приложение 1: Как вызывать магические методы
  16. Приложение 2: Изменения в Питоне 3


Вступление


Что такое магические методы? Они всё в объектно-ориентированном Питоне. Это специальные методы, с помощью которых вы можете добавить в ваши классы «магию». Они всегда обрамлены двумя нижними подчеркиваниями (например, __init__ или __lt__). Ещё, они не так хорошо документированны, как хотелось бы. Все магические методы описаны в документации, но весьма беспорядочно и почти безо всякой организации. Поэтому, чтобы исправить то, что я воспринимаю как недостаток документации Питона, я собираюсь предоставить больше информации о магических методах, написанной на понятном языке и обильно снабжённой примерами. Надеюсь, это руководство вам понравится. Используйте его как обучающий материал, памятку или полное описание. Я просто постарался как можно понятнее описать магические методы.
Читать дальше
Total votes 143: ↑139 and ↓4+135
Comments59

Пользовательские атрибуты в Python

Reading time11 min
Views184K
Вы когда нибудь задумывались о том, что происходит, когда вы ставите точку в python? Что скрывает за собой символ str(“\u002E”)? Какие тайны он хранит? Если без мистики, вы знаете как происходит поиск и установка значений пользовательских атрибутов в python? Хотели бы узнать? Тогда… добро пожаловать!
Читать дальше →
Total votes 101: ↑96 and ↓5+91
Comments20

Госдума приняла весь пакет «антитеррористических» законов Яровой-Озерова

Reading time4 min
Views57K
Теперь операторы связи, мессенджеры и соцсети будут обязаны хранить переписку и голосовые сообщения пользователей полгода



Сегодня Госдума приняла во втором и третьем чтениях весь пакет антитеррористических законов, предложенных ранее председателем думского комитета по безопасности Ириной Яровой и главой комитета Совфеда по обороне и безопасности Виктором Озеровым. Поправки будут внесены в Уголовный и Уголовно-процессуальный кодексы, а также в 10 отдельных законов, пишет «РИА». Поправки изложены в двух законопроектах (первый, второй).

Принятие пакета поправок может оказать сильное влияние на будущее телекоммуникационной сферы России. Это касается как компаний, работающих в этой сфере, так и рядовых граждан. К примеру, за публичные призывы к терроризму в интернете или оправданию терроризма вводится наказание в виде лишения свободы от пяти до семи лет или предусматривается штраф размером от 300 тысяч до 1 миллиона рублей.
Читать дальше →
Total votes 42: ↑39 and ↓3+36
Comments464

Создание сверхдлинных плоских панорамных изображений из видео

Reading time6 min
Views34K


Предыстория


Пару лет назад на Хабре была статья, посвящённая Адаму Мадьяру Камера Эйнштейна: как один фотограф изображает время. Мне она показалась очень интересной, но, если честно, то я так и не понял технологию для съёмки видео Stainless. Особенно меня восхитили его фотографии поезда метро. После чего я задался мыслью: а могу ли я сам создать нечто подобное?
Читать дальше →
Total votes 66: ↑63 and ↓3+60
Comments69

Щелевая съёмка: реализация на bash (ffmpeg + imagemagick)

Reading time3 min
Views26K
Не помню что и почему я искал в интернете несколько дней назад, но я наткнулся на интересную статью с необычными фотографиями. А позже на еще одну статью, где описывалась реализация алгоритма создания таких фотографий на python. После прочтения меня заинтересовала эта тема и я решил провести вечера майских праздников с пользой для себя, а именно реализовать алгоритм «конвертирования» видео в щелевое фото. Правда, не на питоне, но подручными средствами на bash'е. Но обо всем по порядку.
Читать дальше →
Total votes 26: ↑26 and ↓0+26
Comments56

Щелевая съёмка: сжатие времени по горизонтали

Reading time2 min
Views127K

Фото: Jay Mark Johnson

Перед вами оригинальный снимок, без обработки в фоторедакторе или применения каких-то художественных эффектов. Исключительно точное документальное фото. Только это не картина одного момента, как в обычной фотографии. В кадре вместились события, которые происходили в течение около 30 секунд на промежутке пространства шириной 1 пиксел. Снимок сделан методом щелевой фотографии.
Читать дальше →
Total votes 150: ↑144 and ↓6+138
Comments74

Поддержание положения в сервоприводе: подчинённое регулирование vs шаговый режим

Reading time22 min
Views75K

После выхода предыдущих статьей о векторном управлении электродвигателями поступило много вопросов о позиционном приводе – как приводом отрабатывать заданное положение? Как работает сервопривод в современных станках, как использовать сигнал с датчика положения, чем отличается шаговый привод от сервопривода с подчиненным регулированием? Давайте всё покажу в виде картинок и видео.
Читать дальше →
Total votes 26: ↑26 and ↓0+26
Comments63
1

Information

Rating
Does not participate
Registered
Activity