Как стать автором
Обновить
28
0
Sergey Popyvanov @flyer2001

iOs Developer, drummer

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

Мой любимый Git-коммит

Время на прочтение6 мин
Количество просмотров55K
Прим. перев.: Эта публикация британского программиста, ставшая настоящим хитом в англоязычном интернете, ссылается на Git-коммит 6-летней давности. Он был зафиксирован в одном из открытых репозиториев Government Digital Service — службы, занимающейся развитием цифровых услуг в Великобритании и поддерживающей проект GOV.UK. Сам коммит интересен не столько изменениями в коде, сколько сопровождающим их описанием…


Картинка из xkcd #1296

Я обожаю описания коммитов в Git. При правильном применении их можно назвать одним из самых мощных инструментов по документированию эволюции кодовой базы за время ее существования. Свою точку зрения хочу проиллюстрировать на примере моего самого любимого описания.
Читать дальше →
Всего голосов 145: ↑138 и ↓7+131
Комментарии93

Управление распределенной командой в режиме многопроектности (обзор и видео доклада)

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


23-24 сентября в Санкт-Петербурге проходила конференция Saint TeamLead Conf 2019. «Флант» принял в ней активное участие: Игорь Цупко (наш директор по неизвестному) провел митап, на котором участники разобрались в способах поиска и выявления тайных знаний внутри организации, а Сергей Гончарук (менеджер проектов) выступил с докладом «Управление распределенной командой в режиме многопроектности». По традиции, мы публикуем обзор доклада и его видео (~37 минут).
Читать дальше →
Всего голосов 51: ↑48 и ↓3+45
Комментарии17

Arduino! Что дальше? Делаем велокомпьютер

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

Как это было


Мой отец увлекался электроникой. Дома был паяльник, провода, куча радиодеталей. Он с лёгкостью чинил телевизоры, холодильники — в качестве хобби. Я всегда был рядом.


В 10 лет мне подарили радио конструктор, я думаю у многих такой был.




Я собрал на нем все схемы, мне нравилось как они работали. Изучил все основные радиодетали. Потом купили радиоконструктор — «радиоприемник в корпусе». Надо было уже паять, он тоже скоро был готов и отлично работал. Я продолжал делать небольшие схемки. Платы — лак и стеклянные трубочки. Но потом увлёкся программированием. Освоил Си, потом Си++. По окончанию университета, стал работать программистом, чем и занят по сей день.


Arduino


Когда у меня подрос сын, я решил его тоже научить электронике. Взял свой старый пыльный конструктор и … сын его «выкинул». Что это за хлам, зачем мне пищать разными тонами. Какие- то не интересные схемы. Я задумался, и стал смотреть, чем можно заменить его. Знаток и другие конструкторы, были в общем-то аналогичны. И тут я случайно наткнулся на Arduino. Вот то, что нужно. Электроника и программирование в одном флаконе.




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

Читать дальше →
Всего голосов 53: ↑52 и ↓1+51
Комментарии87

Как накрутить 40к просмотров на Хабрахабр. Баг или фича?

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


Всем доброго времени суток, скриншот выше сделан как раз перед публикацией статьи, о нём сегодня и пойдёт речь.
Читать дальше →
Всего голосов 139: ↑117 и ↓22+95
Комментарии37

Что происходит с командами при использовании BaseCamp, Trello, YouTrack, Smartsheet, Slack, YouGile. Обзор часть 1

Время на прочтение6 мин
Количество просмотров27K
Привет, Хабровчане! В статье расскажу про опыт использования систем планирования/управления/взаимодействия, каждой из которых пользовались в компании RedHelper не менее 6 месяцев. Упор будет делаться не на функции систем, а на то, что меняется в команде при использовании инструмента автоматизации.

BaseCamp Trello YouTrack Smartsheet Slack YouGile

Обзор BaseCamp Trello YouTrack Smartsheet Slack YouGile

В конце — обзор собственного инструмента YouGile, который для нас сегодня оказался универсальным местом планирования и общения. Сначала сделали “на коленке” для себя, с очень простой идеей — Agile Board, где каждая задача это чат. Сейчас запущен для публичного тестирования.
Читать дальше →
Всего голосов 34: ↑31 и ↓3+28
Комментарии39

Лучшие головоломки, про которые не знает никто*

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

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

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

Учитывая «одноразовость» головоломок, тем более странно и в чём-то даже преступно, что о замечательнейших представителях этого жанра узнаёшь практически случайно. Мой пост имеет целью исправление этой несправедливости, и я как раз заканчиваю затянувшееся предисловие и перехожу к сути.
Всего голосов 78: ↑74 и ↓4+70
Комментарии117

Компактный монитор домашнего воздуха (CO2, температура, влажность, давление) с Wi-Fi и мобильным интерфейсом

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

image


Про измерение CO2 и его важность на Geektimes было уже немало публикаций (ссылки в конце статьи). Здесь же хочу описать проект компактного монитора уровня CO2, а также температуры, влажности и давления с Wi-Fi, обновлением прошивки по воздуху и интерфейсом в мобильном приложении. Сердца системы модуль на базе esp8266, сенсор CO2 MH-Z19 и фреймворк esp8266-arduino. И так, включим устройство в USB-розетку:

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

Конец халяве: I Know What You Download

Время на прочтение6 мин
Количество просмотров296K
Продолжение (часть 2).
Не понимаю, почему никто не кричит «полундра» (поискал здесь и на Хабре по слову «iknowwhatyoudownload», но ничего).

Итак, некий сайтик iknowwhatyoudownload.com по IP-адресу показывает список торрентов, скаченных и розданных с этого адреса.
Судя по всему, запустились недавно. Домен зарегистрирован 14 сентября 2016. Отображается статистика примерно за месяц. Но как долго она собиралась, неизвестно.
Читать дальше →
Всего голосов 88: ↑72 и ↓16+56
Комментарии568

Теории заговора. Алкогольное лобби

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

По данным ВОЗ, россияне мужского пола потребляют 23,9 литра чистого спирта в год (белорусы — 27,5 л) при среднемировом уровне потребления алкоголя 6,2 литра в год. Медики считают, что именно алкоголь является причиной многочисленных смертельных заболеваний. Повсеместная алкоголизация населения — главный фактор низкой продолжительности жизни в России. Говорят, что это единственная страна в мире, где смертность мужчин на свободе в три раза выше, чем в тюрьме (там алкоголь запрещён). Фактически, алкоголь унёс уже больше жизней, чем голод, эпидемии, теракты и все войны в истории, включая Вторую мировую войну. Сейчас от этого вещества умирает 3,3 млн человек в год.

Алкоголь вызывает привыкание, разрушает мозг, печень, пищеварительный тракт и желудок. Он приводит к циррозу печени, раку поджелудочной железы, ожирению, гипертонии, болезням сердца.
Читать дальше →
Всего голосов 166: ↑123 и ↓43+80
Комментарии996

Расшифровка базы данных KeePass: пошаговое руководство

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

image


На днях мне нужно было реализовать расшифровку базы данных KeePass. Меня поразило то, что нет ни одного документа и ни одной статьи с исчерпывающей информацией об алгоритме расшифровки файлов .kdb и .kdbx с учетом всех нюансов. Это и побудило меня написать данную статью.


На данный момент существует 2 версии KeePass:


  • KeePass 1.x (генерирует файлы .kdb);
  • KeePass 2.x (генерирует файлы .kdbx).

Структура файла с базой данных KeePass (.kdb, .kdbx) состоит из 3 частей:


  • Подпись (не зашифрована);
  • Заголовок (не зашифрован);
  • Данные (зашифрованы).

Далее я подробно расскажу о том, как дешифровать базу данных KeePass 1.x и KeePass 2.x.

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

По ту сторону онлайн-консультанта

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

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


А с обратной стороны (во всяком случае, в моем офисе) происходит Лена!


Гость: Добрый день! Чем я могу Вам помочь?
Лена: Добрый день! Чем я могу Вам… Твою мать!

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

Пастильда — открытый аппаратный менеджер паролей

Время на прочтение5 мин
Количество просмотров60K
Pastilda — open source аппаратный USB менеджер паролей

Немало заметок и обсуждений посвящены непростому вопросу безопасного хранения паролей, тема интересная и, похоже, актуальной будет ещё долго. Существуют различные программные решения для хранения паролей, о них довольно часто пишут на Хабре (например тут и вот тут), однако многим из них, как нам кажется, в той или иной степени свойственны следующие недостатки:
  • закрытый код снижает доверие и вероятность оперативного устранения уязвимостей
  • для автозаполнения нужно ставить дополнительный софт
  • после ввода мастер-пароля вся база открыта и доступна, в том числе для вредоносного ПО, что особенно актуально на недоверенных устройствах
  • использование мобильных приложений для хранения паролей все равно подразумевает ручной ввод с клавиатуры, например когда требуется залогиниться на стационарном ПК
  • автозаполнение невозможно в некоторых случаях (в bios, консоли)

Мы пришли к выводу, что наиболее удобным решением будет простой и недорогой девайс, позволяющий аппаратно хранить и вводить логины/пароли на любые устройства, без установки какого-либо ПО.
Читать дальше →
Всего голосов 69: ↑67 и ↓2+65
Комментарии168

Сервис push-уведомлений Pushover для Android и iOS в связке с PHP

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

Вкратце, push-уведомления — это небольшие по объему важные сообщения от программы или сервиса, отображаемые операционной системой тогда, когда вы непосредственно не работаете с указанным приложением или сервисом. Преимущество таких уведомлений в отсутствии необходимости держать программу вечно в памяти, тратя на нее процессорные мощности и память.
Не буду здесь расписывать всю технологию доставки удаленного уведомления, ибо это уже сделано до меня. Выглядит примерно так: периодически демон опрашивает сервер и в случае появления сообщения, показывает его нам.
Для iOS придумали APNS, для Android-а — C2DM-GCM, я же хочу рассказать про кроссплатформенный (громко) сервис Pushover и связке его с php-сайтом.
Читать дальше →
Всего голосов 20: ↑16 и ↓4+12
Комментарии26

Обзор электронных платежных систем. Что выбрать?

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

Итак, задача довольно тривиальная, и к её решению приступил с изучения предметной области.
Читать дальше →
Всего голосов 58: ↑52 и ↓6+46
Комментарии116

ФБР массово ставит «жучки» на улицах: автобусных остановках, деревьях, под камнями, в фонарях и др. 

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

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



Остановка общественного транспорта в Оклахоме, где работал «жучок» ФБР

Массовая прослушка граждан с помощью технических средств — проблема не только для России. Российские спецслужбы считают, что для перехвата трафика через СОРМ не требуется судебное постановление. Наталья Касперская из российской компании InfoWatch недавно популярно объяснила, что перехват, запись и распознавание разговоров — это не прослушка, ведь «у роботов нет ушей, чтобы слушать». Поэтому можно спокойно записывать все телефонные разговоры и осуществлять поиск по ключевым словам в распознанном тексте.

Спецслужбы в США тоже балуются такими методами. Как рассказали журналисты KPIX 5 News, массовая установка скрытых микрофонов в публичных местах — часть секретной программы ФБР. И главное, что для такой прослушки спецслужбам даже не требуется судебный ордер.
Читать дальше →
Всего голосов 33: ↑28 и ↓5+23
Комментарии118

Как взломать Telegram и WhatsApp: спецслужбы не нужны

Время на прочтение2 мин
Количество просмотров739K
На прошлой неделе общественность взбудоражила новость о возможной причастности спецслужб к взлому аккаунтов оппозиционеров в популярном мессенджере Telegram. На протяжении своего существования человечество пыталось объяснить всё необъяснимое с помощью высших сил – Богов. В наше время все непонятные вещи объясняют происками спецслужб.

Мы решили проверить, действительно ли нужно быть спецслужбой, чтобы получить доступ к чужому аккаунту Telegram. Для этого мы зарегистрировали тестовый аккаунт Telegram, обменялись несколькими тестовыми сообщениями:



А затем мы провели атаку через сеть SS7 на один из тестовых номеров (подробнее о самих атаках мы писали ранее). И вот что у нас получилось:
Читать дальше →
Всего голосов 156: ↑146 и ↓10+136
Комментарии242
По данным социологических исследований, удалённая работа в последние годы находится «на подъёме». Однако на рынке происходит нечто более глубокое, чем простое увеличение численности удалённых сотрудников. Мы становимся свидетелями возникновения принципиально новой распределённой схемы работы, практически – виртуальной компании. Эта схема явно отличается от традиционной удалённой работы, где люди могут работать вне офиса лишь какое-то время. Тренд заметили даже на высшем правительственном уровне - уже в 2013 году порядок и особенности регулирования труда дистанционных сотрудников включили в главу 49.1 Трудового кодекса РФ в раздел XII «Особенности регулирования труда отдельных категорий работников». Теперь вполне законно с дистанционным работником заключается трудовой договор. Согласно закону, сведения о дистанционной работе могут не вноситься в трудовую книжку. В этом случае полноправным доказательством деятельности будет трудовой договор.
Читать дальше
Всего голосов 14: ↑14 и ↓0+14
Комментарии7

Кому-то многовато или как метод кайдзен на мою работу повлиял

Время на прочтение6 мин
Количество просмотров39K
Вы часто себе даете обещания, но не выполняете их. Крупная задача вас страшит и парализует. Вы вкалываете аврально и потом ругаете себя: «Надо было делать помаленьку, но каждый день». Я расскажу вам об эффективном методе, который испытала на себе лично.


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

Ускоряем OpenVPN за $9.99* или встраиваем Orange Pi One в роутер

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

Некоторые из нас не пользуются интернетом без VPN по тем или иным причинам: кому-то нужен выделенный IP, и проще и дешевле купить VPS с двумя IP, чем покупать адрес у провайдера, кто-то хочет получать доступ ко всем веб-сайтам, а не только разрешенным на территории РФ, третьим нужен IPv6, а провайдер его не предоставляет…
Чаще всего VPN-соединение устанавливают на самом устройстве, которое используется в определенный момент, что вполне оправданно, если у вас только один компьютер и один телефон, и вы их редко используете одновременно. Если же в вашей домашней сети множество устройств, или, например, есть такие, на которых VPN настроить нельзя, было бы удобнее поднимать туннель прямо на домашнем роутере, чтобы не задумываться о настройке каждого устройства по отдельности.

Если вы хоть раз устанавливали OpenVPN на свой маршрутизатор, вы, вероятно, были неприятно удивлены скоростью его работы. SoC'и даже дешевых роутеров без особых проблем пропускают через себя окологигабитный трафик, за счет выноса функций маршрутизации и NAT на отдельный чип, предназначенный исключительно для выполнения этой задачи, а основные процессоры таких роутеров довольно слабы, т.к. нагрузки на них практически никакой нет. Такой компромисс позволяет достигнуть высокой скорости работы роутера и заметно снизить цену готового устройства — маршрутизаторы с мощными процессорами стоят в несколько раз дороже, и позиционируются уже не только как коробка для раздачи интернета, но и в качестве NAS, торрентокачалки и домашней мультимедиа-системы.

Мой роутер, TP-Link TL-WDR4300, нельзя назвать новым — модель появилась в середине 2012 года, и обладает 560 МГц-процессором архитектуры MIPS32 74Kc, мощности которого хватает лишь на 20-23 Мб/с шифрованного трафика через OpenVPN, что по меркам скорости современного домашнего интернета совсем немного.
Как бы нам повысить скорость шифрованного туннеля? Мой роутер довольно функциональный, поддерживает 3x3 MIMO, да и вообще, хорошо работает, не хотелось бы его менять.
Так как сейчас принято делать 10-мегабайтные интернет-страницы, писать десктопные приложения на node.js и паковать их в 100-мегабайтный файл, наращивать вычислительные мощности вместо оптимизации, мы совершим нечто ужасное — переложим VPN-подключение на производительный одноплатный «компьютер» Orange Pi One, который установим в корпус роутера, не занимая существующие сетевые и USB-порты, всего за $9.99*!
* + доставка, + налоги, + на пиво, + MicroSD.
Читать дальше →
Всего голосов 44: ↑44 и ↓0+44
Комментарии72

Использование POS-клавиатуры для решения рутинных задач

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

Вокруг нас есть множество полезных компьютерных устройств, которые при правильном приложении сил могут существенно помочь нам в решении типовых рутинных задач. И, к сожалению, немногие об этом знают и умеют применить такие вещи на практике. Сегодня я хочу рассказать вам о любопытном применении POS-клавиатуры для существенной помощи в работе QA-инженера. Это всего лишь одно из многих применений такого класса устройств для задач, где необходимо производить заданные последовательности одинаковых действий.
Читать дальше →
Всего голосов 38: ↑38 и ↓0+38
Комментарии66
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Самара, Самарская обл., Россия
Зарегистрирован
Активность

Специализация

Mobile Application Developer
Middle
От 2 500 000 ₽
SWIFT
Xcode
UIKit
Development of mobile applications
Coredata
Foundation
SwiftUI
Autolayout
iOS development