Как стать автором
Обновить
4
0
Гринчук Кирилл @Grinrill

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

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

Современные Unix программы

Время на прочтение3 мин
Количество просмотров25K
Наше внимание привлёк один интересный репозиторий, который называется Modern Unix. В нём собраны, в основном, современные альтернативы классическим Unix-командам. Всего там имеется почти три десятка описаний таких команд. Надеемся, вы найдёте среди них что-то такое, что вам пригодится.


Читать дальше →
Всего голосов 68: ↑62 и ↓6+56
Комментарии48

Диаграмма Сэнкей (Sankey diagram) на Python

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

В этой статье рассмотрим, как пошагово создать диаграмму Сэнкей - от загрузки и генерирования необходимых данных до сохранения полученной диаграммы. Используемые инструменты - python, pandas и plotly.

Читать далее
Всего голосов 16: ↑16 и ↓0+16
Комментарии5

Беспроводной машрутизатор своими руками

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

  1. Выбор комплектующих
  2. Запуск сетевых интерфейсов
  3. Установка точки доступа 802.11ac (5 ГГц)
  4. Настройка виртуального SSID с помощью hostapd

Последние десять лет я покупал дешёвое сетевое оборудование и ставил на него DD-WRT, чтобы вернуть «функции» ценой более $500, удалённые из ядра Linux, на котором основаны стоковые прошивки.

Несмотря на нестабильные сборки, неисправленные ошибки и споры, DD-WRT всё равно предпочтительнее стоковых прошивок. Но сейчас достойные комплектующие дешевле, чем когда-либо, а DIY-сообщество поголовно перешло на Linux (я смотрю на вас, м-р Raspberry), так почему бы не собрать собственный беспроводной маршрутизатор раз и навсегда?
Читать дальше →
Всего голосов 58: ↑54 и ↓4+50
Комментарии114

42 оператора расширенного поиска Google (полный список)

Время на прочтение15 мин
Количество просмотров277K
Те, кто давно занимается поисковой оптимизацией, хорошо знают об операторах расширенного поиска Google. Например, почти все знают об операторе site:, который ограничивает поисковую выдачу одним сайтом.

Большинство операторов легко запомнить, это короткие команды. Но уметь эффективно их использовать — совсем другая история. Многие специалисты знают основы, но немногие по-настоящему овладели этими командами.

В этой статье я поделюсь советами, которые помогут освоить поисковые операторы для 15 конкретных задач.
Читать дальше →
Всего голосов 127: ↑124 и ↓3+121
Комментарии40

Как ООО заплатить в 133 раза меньше налогов

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

Тема, которую сегодня хотелось бы осветить, довольно сложная и объёмная, поэтому пришлось потрудиться, чтобы представить её в более-менее наглядном и понятном виде. Те, кто доберётся до конца статьи, узнают ответ на вопрос в заголовке. Поверьте, там так оно и есть.
Читать дальше →
Всего голосов 37: ↑33 и ↓4+29
Комментарии12

Как писать программы на стыке мобильной разработки и алгоритмов? Конкурс и истории Яндекса

Время на прочтение7 мин
Количество просмотров11K
С 10 по 22 сентября пройдет конкурс Яндекс.Блиц по мобильной разработке. Регистрация открыта. Блиц — это короткий путь в Яндекс: участникам топ-5 будет достаточно успешно пройти одну секцию собеседования вместо стандартных четырех, чтобы получить предложение по работе.

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



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

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

Третий Тест Тьюринга на русском языке

Время на прочтение3 мин
Количество просмотров13K
Всем привет! Компании «Нейросети Ашманова» и «Наносемантика» приглашают всех желающих принять участие в 3-м всероссийском Тесте Тьюринга в 2019 году, который мы организуем.

image

Мы ранее проводили этот конкурс в 2015 и 2016 годах вместе с Фондом Сколково и Microsoft.
В 2019 году Тест Тьюринга пройдёт на крупнейшей конференции по искусственному интеллекту OpenTalks.ai.
Под катом – даты, подробности проведения и ссылка на регистрацию участников.
Читать дальше →
Всего голосов 14: ↑12 и ↓2+10
Комментарии8

Измеряя Telegram

Время на прочтение8 мин
Количество просмотров17K
«Пока что возможности по полноценной аналитике каналов
ограничены, в первую очередь, возможностями BotAPI Telegram»

канал «Телеграм-маркетинг», 28 июня 2016

Всё хорошо c каналами в Telegram, кроме одного — их слишком сложно искать. Ссылки можно найти практически везде,…

Например:
В интернете:

1. С помощью роботов, индексирующих одни каналы в поисках других каналов (1.1, 1.2)
2. В каталогах каналов, пополняемых владельцами каналов (2.1, 2.2)
3. На биржах каналов (3.1, 3.2)
4. В тематических подборках каналов (сюда тоже залетало: 4.1, 4.2)
5. В списках каналов (5.1)
6. В Гугл Доке с каналами о каналах (взял из @raskruti: 6.1)

В мобильном приложении:

7. Скачав приложение с каталогом каналов (под iOS: TeleBots)

В самом Telegram:

8. На каналах о каналах (8.1)
9. Используя ботов для каналов (9.1)
10. На каналах о каналах о каналах (10.1)

… но процесс поиска остаётся далек от совершенства. Без единого источника данных и нормального аналитического инструментария сложно не просто найти, но даже понять:
1. Насколько каналы распространены в России?
2. Насколько каналы пользуются популярностью и что такое «популярность» в числах?

На такие вопросы нужно отвечать цифрами. В интернете удаётся разыскать только разрозненные данные. Что-то есть на Rusbase (тут), в Ведомостях (тут), в Твиттере (тут), но вся эта информация получена не систематически и сложно верифицируема.

Данная статья посвящена анализу рынка русскоязычных Telegram-каналов. Проделана работа от сбора обобщенного (недостоверно полного) списка русскоязычных каналов до кроулинга их содержимого и построения метрик. Анализировались только те каналы, которые продвигаются в большом интернете, указывая ссылки на себя. Такое поведение – индикатор каналов, создаваемых для большой аудитории.

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

Создание и хостинг телеграм бота. От А до Я

Время на прочтение15 мин
Количество просмотров172K
Привет, хабрчане! Какой бы заезженной не была тема создания телеграм бота на python3, я не нашёл инструкций, где показан путь от первой строчки кода до деплоинга бота (по крайней мере все методы, что я видел, немного устарели). В этой статье я хочу показать процесс создания бота от написания BotFather-у до деплоинга бота на Heroku.

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

P.S. Пишите если нужна статья по созданию более сложного бота, т.е. с вебхуками, БД с настройками юзеров и т.д.


Для начала стоит определиться, что же будет делать наш бот. Я решил написать банального простого бота, кторый будет парсить и выдавать нам заголовки с Хабра.
И так, начнём же.
Читать дальше →
Всего голосов 26: ↑21 и ↓5+16
Комментарии37

HL 2018. Конспект доклада «Make passwords great again! Как победить брутфорс и оставить хакеров ни с чем»

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

Passwords are like underwear


Привет, Хабр! Меня зовут Ахмадеев Ринат, я Sr. PHP developer.


Представляю вашему вниманию конспект доклада Make passwords great again! Как победить брутфорс и оставить хакеров ни с чем от Алексея Ермишкина из Virgil Security с HighLoad++ 2018.


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


В докладе рассматриваются способы защиты паролей начиная от хешей и заканчивая более современными подходами, такими как Facebook's password Onion, Sphinx и Pythia. В самом конце рассматривается новый Simple Password-Hardened Encryption Services (PHE).


Мне так понравился доклад, что я подготовил конспект. Всем рекомендую к ознакомлению.

Всего голосов 55: ↑55 и ↓0+55
Комментарии29

Катаемся на Xiaomi Vacuum Cleaner

Время на прочтение4 мин
Количество просмотров42K
Вот и пришли новогодние праздники, а с ними и куча свободного времени, да еще и умный пылесос угодил ко мне в руки. Как только я увидел в приложении MiHome ручное управление, я сразу понял, что хочу сделать: будем управлять пылесосом с помощью геймпада Dualshock v4!
Всего голосов 43: ↑42 и ↓1+41
Комментарии14

Google Docs Add-on. Расширяем возможности редактора Google Docs

Время на прочтение8 мин
Количество просмотров36K
На днях Google анонсировал выход новой платформы, позволяющей разработчикам создавать приложения, работающие внутри Google Docs и расширяющие базовый функционал Google Docs редактора.
Разберемся что это, как это работает и напишем небольшое приложение которое позволит нам переводить текст документа не выходя из Google Docs.
Читать дальше →
Всего голосов 28: ↑27 и ↓1+26
Комментарии4

10 неочевидных преимуществ использования Rust

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

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



Все это уже хорошо известно всем, кто хоть немного следит за развитием современных технологий программирования. Но что если вы не системный программист, да и многопоточного кода в ваших проектах не много, но вас все же привлекает производительность Rust'а. Получите ли вы какие-то дополнительные преимущества от его использования в прикладных задачах? Или все, что он вам даст дополнительно — это суровую борьбу с компилятором, который будет заставлять вас писать программу так, чтобы она неотступно следовала правилам языка по заимствованию и владению?


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

Читать дальше →
Всего голосов 97: ↑93 и ↓4+89
Комментарии121

Создание приложений для LG Smart TV: советы начинающему разработчику

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

Привет! В этой статье я хочу поделиться своим опытом разработки приложений для платформы LG Smart TV. Лично я свой путь Smart TV разработчика начинал именно с этой платформы и хотел бы порекомендовать ее всем заинтересованным в данном направлении приложений. В первую очередь это связано с тем, что по качеству документации и предоставляемых разработчику возможностям LG не уступает своим основным конкурентам из Samsung. В то же время, специалисты санкт-петербургской лаборатории LG R&D достаточно открыты и всегда готовы предоставить актуальную информацию, тогда как от их коллег из московского центра разработок Samsung я уже несколько месяцев пытаюсь получить контакт хоть кого-то, кто может внятно отвечать на технические вопросы. Про других участников рынка Smart TV я лучше не буду упоминать: то, как они подходят к вопросам взаимодействия с теми, кто, по идее, должен наполнять их магазины приложений, вызывает большие сомнения в том, что они вообще заинтересованы в том, чтобы для них что-то разрабатывалось.
Читать дальше →
Всего голосов 19: ↑15 и ↓4+11
Комментарии17

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

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

Когда твой парень - fullstack


Когда твой парень — fullstack


Работая программистом и проживая в пяти минутах ходьбы от офиса, крайне тяжело успеть «отойти» от работы, отойдя от работы.


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


Как бы не так!


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


И вот однажды она приходит к тебе и торжественно заявляет:
— Я готова! Готова учиться программированию! Давай!


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


О том, как я, не имея никакого практического опыта в обучении, решил ввести в программирование человека, объяснившего, что «ты же умный» и «всё у нас получится», расскажу под катом.


Добро пожаловать!

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

Как выжить Инди разработчику. Часть 1

Время на прочтение11 мин
Количество просмотров30K
Прим. перев.: Здравствуйте, уважаемые хабровчане!

Хочу с вами поделиться историей инди-разработчика Jake Birkett, рассказанной им на конференции Independent Games в 2016. Выступление Джейка — это глубоко личная, полная деталей повесть о длинном и сложном пути в игровой индустрии. Перевод сделан с видеозаписи выступления. По всем ошибкам и неточностям, пожалуйста, пишите в личку. Спасибо!




Часть первая


Ты никакой не избранный, твоя игра не хит и ты его никогда не сделаешь


К сожалению, это пугающая реальность для большинства из нас. И чем скорее вы признаете этот факт, тем быстрее начнете думать как выжить будучи Инди-разработчиком. И чем дольше вы будете на рынке, тем больше шансов сделать стоящую игру и возможно, когда-нибудь, выпустить хит.
Читать дальше →
Всего голосов 40: ↑38 и ↓2+36
Комментарии36

Критерии разума человека, с точки зрения одного программиста

Время на прочтение16 мин
Количество просмотров17K
Сознание. Множество копий сломано на эту тему. Мы воодушевленные рывком цифровой техники и ростом вычислительной мощности с опаской ожидаем появления первого искусственного интеллекта. Как это будет? Возможно, в каком-то гараже, чей то компьютер выведет на экран вопрос: «Кто я?». Или мега корпорация добра/зла в своих кулуарах поставит большую черную коробку, которая со временен негласно станет принимать все решения в данной корпорации… У меня не очень богатая фантазия, а посему оставлю придумывание вариантов создания ИИ на футурологов, сценаристов и писателей. Хотя я думаю, что каждый, кто хоть немного связан с программированием или микроэлектроникой, однажды задумывался, а как он, этот самый ИИ, должен работать. И тут начинаются споры и домыслы… ИИ – это особый софт, или особая архитектура устройства…

Равно как и все, я порой в пути на работу/с работы, проваливаюсь в чертоги своего сознания и размышляю на вечные вопросы, терзающие лучшие умы человечества. Данная статья не является статьей в самом широком её смысле, а просто моя попытка зафиксировать печатным словом и несколько структурировать рой мыслей в голове. Как говорится: «Хочешь что-то понять — расскажи это другому». Данный текст я изначально писал для себя, поэтому местами мысли могут быть рваными, скомканными и возможно даже без логики. Если не испугал, прошу под кат.
Читать дальше →
Всего голосов 25: ↑19 и ↓6+13
Комментарии146

Алиса выплатит более миллиона рублей до конца года. Новый конкурс и рекомендации Яндекса для разработчиков навыков

Время на прочтение2 мин
Количество просмотров16K
Сегодня Алисе исполняется год. За прошедшие месяцы она обучилась множеству новых навыков, большая часть из которых была создана сторонними разработчиками с помощью платформы Диалоги. Более 28 тыс. навыков уже опубликованы и доступны всем пользователям Алисы.

В честь первого дня рождения мы запускаем Премию Алисы. Каждый месяц мы будем выбирать по 5 лучших навыков от независимых разработчиков и выплачивать им денежные вознаграждения. Если вы уже разрабатываете свои навыки или только планируете начать, то приглашаем под кат – там вас ждут рекомендации нашей команды.



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

Всего голосов 35: ↑32 и ↓3+29
Комментарии28

Алгоритм установления соединения в протоколе SSH

Время на прочтение5 мин
Количество просмотров103K
(Начальное название статьи «Алгоритм работы протокола SSH» было изменено по рекомендациям Vindicar, Karroplan и других участников хабросообщества)

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

Попытаюсь внести немного ясности в работу протокола SSH, а заодно рассмотреть роль алгоритма RSA и ключей авторизации пользователя…

image
Читать дальше →
Всего голосов 65: ↑56 и ↓9+47
Комментарии52

Карты на стол: как выбрать поставщика географических карт для мобильного приложения

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

У вас есть отличная идея для мобильного приложения. Дизайнеры уже продумывают элементы интерфейса, вы мысленно читаете положительные отзывы на популярных сайтах, в уме прикидываете статью на Хабре. Будущее прекрасно и пестрит как минимум 4,5 звездами в Google Play и AppStore. Ах да, осталась мелочь: выбрать поставщика карт. Но когда начнете вертеть эту мелочь и так, и эдак, то станет понятно, что монетка не упала орлом или решкой, а стала на ребро.
Читать дальше →
Всего голосов 30: ↑29 и ↓1+28
Комментарии57
1

Информация

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