Как стать автором
Обновить
4
0

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

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

Борщевик Сосновского. В МО ввели штрафы за распространение

Время на прочтение20 мин
Количество просмотров109K
Изображение с pixabay. Автор YvonneH1 ноября 2018 года Московская Область без объявления войны (объявленной парой лет ранее), ввела финансовые санкции. Против собственников территорий, предоставляющих плацдарм для распространения борщевика Сосновского. Ура!

Мне, правда, интересно, кто будет платить за титаническую плантацию борщевика между Шереметьево и ниткой Аэроэкспресса. Плантацию, встречающую гостей и жителей Москву сразу по прилёту в белокаменную. Там растут просто миллионы штрафа.

Что же такое борщевик Сосновского и почему с ним надо бороться. Как это делать. Как это делать не нужно. А так же научные и псевдонаучные факты в нескучно-популярном изложении.
Читать дальше →
Всего голосов 289: ↑268 и ↓21+247
Комментарии684

Стековая машина на моноидах

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

Не так давно на Хабре появилась отличная и вдохновляющая статья про компиляторы и стековые машины. В ней показывается путь от простой реализации исполнителя байт-кода ко всё более и более эффективным версиям. Мне захотелось показать на примере разработки стековой машины, как это можно сделать Haskell-way.


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


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

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

Создание GIF-анимации с помощью OpenCV

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


Из этого туториала вы узнаете, как создавать анимированные GIF-файлы с помощью OpenCV, Python и ImageMagick. Затем объедините эти методы, чтобы создать генератор мемов с OpenCV!

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

  • Лягушка Кермит: «Но это не мое дело»
  • Сварливый кот
  • Эпик фейл
  • Хороший парень Грег

Но лично для меня ни один из этих мемов не сравнится с мемом ”Deal With It" («Смирись с этим» или «Разбирайся сам»), пример которого приведён в начале статьи.
Читать дальше →
Всего голосов 14: ↑12 и ↓2+10
Комментарии1

Получение ссылок на аудио без VKApi

Время на прочтение3 мин
Количество просмотров43K
Данная страница будет полезной для тех, кто решил взять заказ на парсер аудио-треков VK и резко понял, что ничего не понял.

В чем проблема


Знакомо?

https://m.vk.com/mp3/audio_api_unavailable.mp3?extra=AeL2rMfFyZzlD3HkyvfnvNvLx1KOqw5UDfuXCOTvttm4ts1OBJnYELvHyxvODI9fnM9YztD5A3iOyI14sxv2mNiXt3iTzdLInduXzvG9C2uVr3b5mezinfj2lJbpDhGYC25rDxbwsOPQmg1eu2Pbyxr3ntPowNLhDMrrDs8XnKu2sOuOyO8XzMf1otDmBtL6BNvllNjZx3aZuLHpq3aOBvvhzenJnZKTzKnMuwfKBI4TquffrtzKv2nymMyVDu1LzJnuwMLxwMm/BeTcserWlun3ExLVBG#AqSZntu

Если да — то вы пытались парсить мобильную версию сайта и успешно доставали ссылки. Неверные ссылки. Ссылки на 25-секундный голос, сообщающий что все идет не по плану.
Читать дальше →
Всего голосов 51: ↑49 и ↓2+47
Комментарии41

Пишем чат бота для ВКонтакте на python с помощью longpoll

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

Нам понадобятся:

  1. Python
  2. VK Api
  3. Желание
Читать дальше →
Всего голосов 23: ↑20 и ↓3+17
Комментарии24

Как стать датасайнтистом, если тебе за 40 и ты не программист

Время на прочтение8 мин
Количество просмотров149K
Бытует мнение, что стать датасайентистом можно только имея соответствующее высшее образование, а лучше ученую степень.

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

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



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

Итак, обо всем по порядку.
Читать дальше →
Всего голосов 124: ↑118 и ↓6+112
Комментарии98

Mikrotik RoS, полезные мелочи

Время на прочтение5 мин
Количество просмотров177K
Распространенность оборудования Mikrotik растет с каждым днем, все больше устройств, а значит и RoS, появляется не только в корпоративном секторе, но и у обычных, домашних пользователей.
К сожалению, не смотря на вполне нормальные настройки по умолчанию, которые можно сделать через Quick Set, в интернете можно встретить множество советов очистить конфигурацию, и сделать как-то по «особому», с «нуля». В этой статье я хочу поделится своим опытом и дать рекомендации, как изменить конфигурацию из Quick Set под свои нужды, при этом сохранив достаточный уровень защищенности.
Читать дальше →
Всего голосов 25: ↑25 и ↓0+25
Комментарии28

Python: как уменьшить расход памяти вдвое, добавив всего одну строчку кода?

Время на прочтение5 мин
Количество просмотров71K
Привет habr.

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


Как это работает, продолжение под катом.
Читать дальше →
Всего голосов 117: ↑107 и ↓10+97
Комментарии58

Открытый вебинар «Как не нужно писать на Python»

Время на прочтение4 мин
Количество просмотров15K
Всем привет! В рамках нашего курса «Разработчик Python» мы провели ещё один открытый урок на тему «Как не нужно писать на Python». Занятие вёл преподаватель и создатель курса Станислав Ступников, имеющий большой опыт промышленной и научной разработки. Рассматривались антипаттерны программирования, bad practice и прочее зло, о котором нужно знать и которого следует избегать в процессе написания кода.

Подробности смотрите в видео и кратком изложении. Внимание: некоторые примеры кода не рекомендуется запускать на своём компьютере!

Всего голосов 19: ↑15 и ↓4+11
Комментарии10

Двадцать задачек (по безумной, восхитительной геометрии)

Время на прочтение6 мин
Количество просмотров133K
Предупреждение врача. Остерегайтесь этих головоломок. Побочные эффекты могут включать потерянное послеобеденное время, скомканные волосы и восклицания «А-а-а-х, вот как это делается» настолько громкие, что могут треснуть оконные стёкла.

Несколько месяцев назад я наткнулся в твиттере на математические головоломки Катрионы Ширер. Они сразу меня увлекли: каждая головоломка такая осязаемая, ручной работы, словно просит её решить. И на каждую вы можете легко потратить час времени, а то и больше.

Катриона разрешила мне подвесить вас на эти задачки — и поделилась 20 своими любимыми головоломками. Она даже удовлетворила моё любопытство и восхищение, дав интервью (см. в конце статьи).

Наслаждайтесь. И не говорите, что врач не предупреждал.
Читать дальше →
Всего голосов 54: ↑52 и ↓2+50
Комментарии65

Настройка MikroTik hAP mini для IPTV Билайн

Время на прочтение4 мин
Количество просмотров28K
На последнем MUM в Москве, мне, как и всем остальным, вручили маршрутизатор MikroTik hAP mini.

Я решил им заменить старенький, постоянно зависающий, маршрутизатор у родителей.
Чтобы получить максимальную производительность решил задействовать чип коммутации (switch chip). На просторах интернета не нашел подходящей инструкции, где было бы описание настроек и проводной и беспроводной части, поэтому решил поделиться своим опытом.
Забегая немного вперед скажу, что hAP mini прекрасно справился с задачей.
Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии11

Парсим Википедию для задач NLP в 4 команды

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

Суть


Оказывается для этого достаточно запуcтить всего лишь такой набор команд:


git clone https://github.com/attardi/wikiextractor.git
cd wikiextractor
wget http://dumps.wikimedia.org/ruwiki/latest/ruwiki-latest-pages-articles.xml.bz2
python3 WikiExtractor.py -o ../data/wiki/ --no-templates --processes 8 ../data/ruwiki-latest-pages-articles.xml.bz2

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


python3 process_wikipedia.py

Результат — готовый .csv файл с вашим корпусом.

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

Интерпретаторы байт-кодов своими руками

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


Виртуальные машины языков программирования в последние десятилетия получили весьма широкое распространение. С презентации Java Virtual Machine во второй половине 90-х прошло уже достаточно много времени, и можно с уверенностью сказать, что интерпретаторы байт-кодов — не будущее, а настоящее.


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


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

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

Пасхалка-текстовая RPG в коде поисковика Google

Время на прочтение2 мин
Количество просмотров37K
Пользователь Reddit (attempt_number_1) поделился на форуме очень необычной находкой — он смог запустить в коде сайта google.com текстовую RPG.


Читать дальше →
Всего голосов 55: ↑51 и ↓4+47
Комментарии30

Как из фрилансера создать работника

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

image

А что такое эти ваши трудовые отношения


Читать дальше →
Всего голосов 37: ↑35 и ↓2+33
Комментарии2

Символьные вычисления средствами Python. Часть1. Основы

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

При решении задач математического моделирования процессов и объектов часто очень практично использовать алгоритмы на языке Python с использованием символьных вычислений. Основываясь на библиотеке SymPy, Python с успехом справляется с решением уравнений и систем, интегрированием и дифференцированием, вычислением пределов, разложением в ряд и суммированием рядов, упрощением выражений, выполняет поиск решения дифференциальных уравнений и систем.
Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии13

Доступность игр на pygame

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

Всем привет.

В статье Звуковые игры: невидимый рынок ждёт героев были рассмотрены звуковые игры с крутым объемным звуком, и библиотеки для его создания.

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

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



Создадим модуль speech.

В нем организуем два варианта работы:

  • подключение к экранному диктору NVDA через его Controller dll;
  • напрямую на синтезатор windows через SAPI5;


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

Мобильный сторож на Raspberry pi (h.264)

Время на прочтение4 мин
Количество просмотров24K
Темы использования Raspberry pi для FPV управления и мониторинг движения в кадре по векторам H.264 не новы. Разработка не претендует на оригинальность, да и времени на нее было потрачено относительно не много (с июля по выходным. иногда.).

Но, возможно, мой опыт (и исходники) окажутся кому ни будь полезными.

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

Первое что было сделано на скорую руку – это установка известной программы motion на Raspberry pi zero c камерой v1.3. В принципе, задачу решает. Если устраивает оповещение через почту и fps=4-5.

Но это показалось не интересным. Под рукой была платформа с колесами и обвязкой от старых экспериментов и аккумуляторы 18650 от старых ноутов.

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

Можно поездить по квартире, удаленно управляя как камерой, так и платформой и оставить в режиме «сторож» (motion detect) в любом нужном месте.



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

Солнечные фонарики — нам надо ярче

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


Наверняка многие уже успели наиграться с китайскими солнечными фонариками и разочароваться в них. Попробуем разобраться в вопросе: в чём причина их малой яркости и можно ли с этим что-то сделать?
Узнать больше
Всего голосов 51: ↑50 и ↓1+49
Комментарии41

KivyMD — жизнь продолжается

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

Приветствую!

Сегодня мы поговорим о UI на Android в приложениях, написанных с использованием фреймворка для кроссплатформенной разработки Kivy. Возможно, вы не знали об этом, но для Kivy сущестсвует библиотека KivyMD, которая предоставляет для ваших программ виджеты в стиле Material Design. К сожалению, ничего подобного не существует под платформы iOS. Более того, KivyMD, судя по всему, оставлена своим создателем, так как последний коммит в репе был около года назад. Что делать и как с этим жить, читайте далее…
Всего голосов 18: ↑16 и ↓2+14
Комментарии3

Информация

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