Search
Write a publication
Pull to refresh
27
0
Джони Дэп @Godless

Супермэн

Send message

Чистое зло Python

Reading time7 min
Views30K

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


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



Читать дальше →

Внимание! Сознание Homo. I

Reading time19 min
Views9.9K

1. Сознательное и бессознательное


1.1 Граница между черным и белым скрывает в себе бесконечное множество оттенков серого


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

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

Коронавирус 2019-nCoV. FAQ по защите органов дыхания и дезинфекции

Reading time16 min
Views584K
Китайский коронавирус, он же «пневмония Уханя» на неделе стал одной из самых горячих тем. В классической «кто виноват и что делать» меня, традиционно, волнует только вторая часть. Сегодня под катом — статья про дезинфекцию, маски и обеззараживание помещений. Объединил в одной статье несколько заметок из своего телеграм-канала. Кладем в закладки и шлем друзьям!


Стоп! 2019-nCoV

Карманная метеостанция

Reading time5 min
Views18K
Да, метеостанция — это про что-то, измеряющее огромное количество параметров от направления и силы ветра до уровня солнечной радиации, но более подходящего термина не нашлось, поэтому приходится вводить в заблуждение. А вот насчет размера, все по-честному.

Читать дальше →

People meet recommender systems. Factorization

Reading time11 min
Views24K

Машинное обучение довольно сильно проникло в нашу обыденную жизнь. Некоторые уже не удивляются, когда им рассказывают про нейронные сети в их смартфонах. Одной из больших областей в этой науке являются рекомендательные системы. Они есть везде: когда вы слушаете музыку, читаете книги, смотрите сериалы или видео. Развитие этой науки происходит в компаниях гигантах, таких как YouTube, Spotify и Netfilx. Конечно же, все научные достижения в этой области публикуются как на известных конференциях NeurIPS или ICML, так и на чуть менее известной RecSys, заточенной на эту тематику. И в этой статье мы поговорим, как развивалась эта наука, какие методы применяются в рекомендациях тогда и сейчас и какая математика за всем этим стоит.


Читать дальше →

Как повысить скорость декодирования видеопотока в FFmpeg

Level of difficultyMedium
Reading time7 min
Views28K



С приходом тяжеловесных видеоформатов, таких как 4K (Ultra HD), проблема эффективности декодирования видеопотока стала достаточно актуальной. На среднем компьютере приходится принимать специальные меры для того, чтобы можно было обработать такой видеопоток в реальном масштабе времени. В статье рассказывается о возможных способах увеличения скорости декодирования видеопотоков в решениях, основанных на FFmpeg, и приводятся результаты экспериментов по измерению скорости декодирования для 4K видеопотоков, закодированных в H264 и HEVC(H265).



Читать дальше →

Linux. Настройка клавиатуры

Reading time7 min
Views112K

Для чего вообще специально настраивать клавиатуру?


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


Почему я захотел изменить свою клавиатуру?


Во-первых, когда я начал использовать vim как основной редактор, я понял, что не хочу каждый раз тянуться к ESC. Кроме того, я писал в основном на питоне, поэтому ; нажимал сильно реже, чем :, а в vim разница стала более явной.


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

Читать дальше →

Зачем нужен eSIM. Как это работает и почему об этом так много говорят

Reading time8 min
Views118K

Мы стоим, как обычно, на пороге очередной технологической революции (я уже запутался какой там номер...). IoT или Интернет вещей принесет новые бизнес модели, новые сценарии использования и приведет к очередному переделу всего рынка телекома.


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


Есть несколько системных направлений разработки, как бы некая матрица потребностей, где решения ранжируются по скорости передачи данных и по расстоянию передачи данных. Есть NFC и BLE для платежей. Есть LoRa и ZigBee для датчиков, а есть решения на основе сотовой связи 4G&5G, например LTE-M и NB-IoT.



На мой взгляд (так как я работаю с сотовой связью) самый простой и готовый для развертывания сегмент IoT — это Интернет вещей на базе сотовой сети с использованием eSIM. Вот про это я и расскажу с точки зрения железа и софта, но на уровне "интересно знать".

Читать дальше →

Пишем генератор галереи изображений со встроенным слайдером

Reading time7 min
Views9K


Доброго времени суток, друзья!

Вместо введения (постановка задачи)


Все началось с изучения чужих слайдеров (готовых решений в сети, типа bxslider, owlcarousel и slick). Когда-нибудь я напишу подробные руководства по работе с этими инструментами (sweet dreams). Появилось желание написать свой слайдер. Однако вскоре (в том числе, после прочтения нескольких статей на Хабре) пришло осознание, что просто слайдер — это для слабаков. Нужно что-то более радикальное.

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

Условия:

  • Возможность загружать любое количество изображений (из любого места на жестком диске).
  • Галерея состоит из загруженных изображений, разметка формируется «на лету» с соблюдением семантики HTML5.
  • Галерея одинаково хорошо смотрится на экранах с различным разрешением.
  • При клике на любом изображении генерируется слайдер.
  • При генерации слайдера затемняется фон.
  • Изображение, по которому кликнули — первый слайд.
  • Переключение слайдов реализовано через DOM.
  • Слайды переключаются плавно.
  • Возможность управлять переключением слайдов с помощью кнопок и клавиатуры.
  • Возможность вернуться к галерее при клике на текущем слайде и кнопке, а также с помощью клавиатуры.
  • Чистый JavaScript (вся разметка через JS).
  • Минимум кода.

Итак, поехали (как сказал Гагарин, отправляясь в космос).
Читать дальше →

GPS антенна своими руками за 5 минут

Reading time1 min
Views64K
Для приема GPS сигналов, можно изготовить несложную антенну, которая по своим возможностям будет соответствовать маленькой патч-антенне.

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

Принимаем центральную частоту GPS сигнала равной 1575.42 МГц, находим длину одного плеча антенны L/4 = 47.7 мм. Цифра справедлива для провода без изоляции. Провод в изоляции должен быть чуть короче. Длина плеч диполя и монополя отсчитывается от грани оплетки кабеля.

Если половинка диполя одна, то это уже монополь. Я подготовил диполь и монополь.



Антенны крепятся на короткий коаксиал с разъемом типа IPX.В качестве эталонной антенны используем активную маленькую патч-антенну. GPS-модуль NEO6.


Читать дальше →

Как настроить китайский левитрон

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

image

Ускоряем OpenVPN на роутере Openwrt. Альтернативная версия без паяльника и хардварного экстремизма

Reading time4 min
Views18K


Всем привет, недавно прочитал давнюю статью о том, как можно ускорить OpenVPN на роутере, перенеся шифрование на отдельную железку, которая припаивается внутри самого роутера. У меня аналогичный с автором случай — TP-Link WDR3500 с 128 мегабайтами оперативки и бедным процессором, который напрочь не справляется с шифрованием туннелей. Однако, лезть в роутер с паяльником мне категорически не хотелось. Под катом мой опыт выноса OpenVPN на отдельную железку с резервированием на роутере на случай аварии.
Читать дальше →

Микробраузеры повсюду. Но что мы о них знаем?

Reading time8 min
Views23K

Рис. 1. Превью одной и той же страницы в iMessage (слева), Hangouts и WhatsApp (справа)

Если упомянуть любой URL в твите, на Slack-канале, в Telegram или WhatsApp — ссылка развернётся в превью. Оно даёт примерное представление, как выглядит настоящая веб-страница.

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

Вот основные факты о микробраузерах, которые должен знать каждый веб-разработчик.
Читать дальше →

Как я учу детей Питону

Reading time7 min
Views36K
image

Моя основная работа связана с данными и программированием на R, но в этой статье я хочу рассказать про своё увлечение, которое даже приносит некий доход. Мне всегда было интересно рассказывать и объяснять что-то друзьям, одноклассникам и однокурсникам. Ещё мне всегда просто было находить общий язык с детьми, не знаю, почему. Вообще, я считаю, что воспитание и обучение детей это одно из важнейших занятий из всех, да и жена у меня педагог. В общем, примерно год назад я дал объявление в местной группе на фейсбуке, набрал группу и стал преподавать скратч и питон раз в неделю. Сейчас у меня пять групп, свой класс в доме и индивидуальные занятия. Как я дошёл до жизни такой и как именно я учу детей, я раскажу в этой статье.
Читать дальше →

PostgreSQL Antipatterns: редкая запись долетит до середины JOIN

Reading time3 min
Views20K
Если писать SQL-запросы без анализа алгоритма, который они должны реализовать, ни к чему хорошему с точки зрения производительности это обычно не приводит.

Такие запросы любят «кушать» процессорное время и активно почитывать данные практически на ровном месте. Причем, это вовсе не обязательно какие-то сложные запросы, наоборот — чем проще он написан, тем больше шансов получить проблемы. А уж если в дело вступает оператор JOIN…


Само по себе соединение таблиц не вредно и не полезно — это просто инструмент, но и пользоваться им надо уметь.
Читать дальше →

Обработка персональных данных для мелкого интернет-магазина

Reading time4 min
Views12K
Знакомые впечатлились новым штрафом в КоАП в миллион рублей:
Статья 13.11. Нарушение законодательства Российской Федерации в области персональных данных
8. Невыполнение оператором при сборе персональных данных… обязанности по обеспечению записи, систематизации, накопления, хранения, уточнения… или извлечения персональных данных граждан Российской Федерации с использованием баз данных, находящихся на территории Российской Федерации, — … на юридических лиц (и ИП) — от одного миллиона до шести миллионов рублей.
Сервер, на котором сидит их магазин, за границей. Интересуются, что делать, надо ли сильно напрягаться. Сразу оговорюсь, что магазин на самописной системе управления, в которую заложены вещи для соответствия 152-ФЗ «О персональных данных». Из моего текста будет понятно, что придется править другим.

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

Все, что я пишу – это ни в коем случае не истина в последней инстанции. Я обозначаю только позицию, которой необходимо придерживаться в общении с Роскомнадзором и при плохом стечении обстоятельств в суде.
Читать дальше →

Состояние доменной зоны Польши .pl за 2019 год

Reading time2 min
Views4.3K
Хотим предоставить вам публикацию аналитики о состоянии Польского сегмента интернета на основе результатов нашего продукта.

Аналитика собрана была в конце прошлого года.

Перед этим мы публиковали отчет: по Прибалтике и Казахстану.

Для анализа был выбран список доменной зоны .PL.

Количество доменов — 1 148 036.
Читать дальше →

Шпаргалка для сисадмина по SELinux: 42 ответа на важные вопросы

Reading time6 min
Views35K
Перевод статьи подготовлен специально для студентов курса «Администратор Linux».




Здесь вы получите ответы на важные вопросы о жизни, вселенной и всем таком в Linux с улучшенной безопасностью.

«Важная истина, что вещи не всегда являются тем, чем кажутся, общеизвестна…»

―Дуглас Адамс, Автостопом по Галактике

Безопасность. Повышение надежности. Соответствие. Политика. Четыре Всадника Апокалипсиса сисадмина. В дополнение к нашим ежедневным задачам — мониторингу, резервному копированию, внедрению, настройке, обновлению и т. д. — мы также отвечаем за безопасность наших систем. Даже тех систем, где сторонний провайдер рекомендует нам отключить усиленную безопасность. Это похоже на работу Этана Ханта из “Миссия невыполнима”.
Читать дальше →

Пишем драйвер для ноутбука for fun and profit, или как закоммитить в ядро даже если ты дурак

Reading time5 min
Views38K

С чего всё началось


Начнём с постановки проблемы. Дано: один ноутбук. Новый ноутбук, геймерский. С RGB-подсветкой. Вот такой примерно ноутбук:

image
Картинка взята с lenovo.com

Есть ещё программа к этому ноутбуку. Программа как раз этой подсветкой и управляет.

Одна только проблема – программа под Windows, а хочется чтоб в любимом линуксе всё работало. И лампочки чтоб светились, и чтоб цвета красивые мелькали. Да вот только как это сделать, чтоб без реверс-инжиниринга и без написания своих драйверов? Простой ответ пришёл быстро – никак. Ну что ж, пошли писать драйвер.
Читать дальше →

Nginx-log-collector утилита от Авито для отправки логов nginx в Clickhouse

Reading time6 min
Views13K

Я из компании Luxoft.
В этой статье будет рассматриваться проект nginx-log-collector, который будет читать логи nginx, отправлять их в кластер Clickhouse. Обычно для логов используют ElasticSearch. Для Clickhouse требуется меньше ресурсов (дисковое пространство, ОЗУ, ЦПУ). Clickhouse быстрее записывает данные. Clickhouse сжимает данные, что делает данные на диске еще компактнее. Преимущества Clickhouse видны по 2 слайдам с доклада Как VK вставляет данные в ClickHouse с десятков тысяч серверов.




При этом за счёт сжатия данных «Кликхаус» использует в 11 раз меньше на жёстком диске и делает примерно в 30 раз меньше дисковых операций (из поста https://habr.com/ru/company/ua-hosting/blog/486540/):



Для просмотра аналитики по логам создадим дашборд для Grafana.


Кому интересно, добро пожаловать под кат.

Читать дальше →

Information

Rating
8,576-th
Location
Россия
Registered
Activity