Как стать автором
Обновить
16
0.1
Евгений Блохин @ebt

инженер-предприниматель

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

Самая нужная программа на свете

Время на прочтение20 мин
Количество просмотров166K
image
Какими программами постоянно пользуются люди? Если подумать над этим вопросом, то окажется, что список этот не такой уж большой. К постоянно используемым программам можно отнести: саму операционную систему, файловый менеджер, текстовый редактор, браузер, мессенджер. Это именно тот базовый набор, которым пользуется на компьютере практически каждый человек. Требования к таким программам должны быть высокими: безотказная работа, быстрое выполнение всех функций, понятный и удобный интерфейс.

Можно сказать, что вышеперечисленный набор программ — это самые нужные программы, которыми пользуется человек в цифровую эпоху. Этот список покрывает все базовые потребности человека-пользователя. Или не все? Есть ли еще одна базовая потребность, которая не учтена в вышеприведенном списке самых необходимых программ? Является ли эта потребность самой важной из тех, что должен автоматизировать компьютер? Для меня такая потребность есть, но в списке самых используемых программ ей места не нашлось. Что же это за потребность?
Ранее компьютер считался устройством для проведения вычислений...
Всего голосов 115: ↑111 и ↓4+107
Комментарии303

Рецепт разработки бота под Telegram

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


Добрый день, уважаемые читатели Хабрахабра!

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

Статья может быть интересна как новичкам в программировании — увидеть, сколько препятствий стоят на пути у готового продукта, так и более продвинутым специалистам — где-то посмеяться, где-то поплакать, где-то написать комментарий «жизненно».

Преамбула


И так, что же может сделать один программист за 4 дня?
Читать дальше →
Всего голосов 44: ↑39 и ↓5+34
Комментарии26

Решение проблемы понимания контекста искусственным интеллектом. Часть 1

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


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

The trophy doesn't fit into the brown suitcase because it's too [small/large].
What is too [small/large]?
Answers:The suitcase/the trophy.
The Winograd Schema Challenge

В предыдущей статье описан наш подход к разработке ИИ и то, что нами уже сделано на настоящий момент. Напомню, что мы создаем ИИ путем прямого копирования структур и процессов психики человека.
Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии109

Как устроен парсер Python, и как втрое уменьшить потребление им памяти

Время на прочтение12 мин
Количество просмотров49K
Любой, кто изучал устройство языков программирования, примерно представляет, как они работают: парсер в соответствии с формальной грамматикой ЯП превращает входной текст в некоторое древовидное представление, с которой работают последующие этапы (семантический анализ, различные трансформации, и генерация кода).

КДПВ

В Python всё немного сложнее: парсеров два. Первый парсер руководствуется грамматикой, заданной в файле Grammar/Grammar в виде регулярных выражений (с не совсем обычным синтаксисом). По этой грамматике при помощи Parser/pgen во время компиляции python генерируется целый набор конечных автоматов, распознающих заданные регулярные выражения — по одному КА для каждого нетерминала. Формат получающегося набора КА описан в Include/grammar.h, а сами КА задаются в Python/graminit.c, в виде глобальной структуры _PyParser_Grammar. Терминальные символы определены в Include/token.h, и им соответствуют номера 0..56; номера нетерминалов начинаются с 256.

Проиллюстрировать работу первого парсера проще всего на примере. Пусть у нас есть программа if 42: print("Hello world").
Читать дальше →
Всего голосов 122: ↑116 и ↓6+110
Комментарии68

Литий-ионные и литий-полимерные аккумуляторы: маркетинговые уловки и распространенные ошибки

Время на прочтение7 мин
Количество просмотров101K
Неоднократно сталкиваюсь в статьях и комментариях (в статьях все же гораздо реже) с использованием неправильных данных или названий, которые впоследствии приводятся, как аргументы, хотя на самом деле они ошибочны изначально. И эти ошибки распространяются по всем ресурсам, включая Гиктаймс.

Этой статьей я бы хотел разъяснить некоторые моменты и провести своеобразный ликбез.
Читать дальше →
Всего голосов 66: ↑63 и ↓3+60
Комментарии70

Систематизация публикаций в web. Часть 2 из 3: Три шага к научной респектабельности

Время на прочтение7 мин
Количество просмотров9.4K
«The future is already here — it's just not very evenly distributed.»
William Gibson


Данный цикл статей включает 3 части.
В первой части был проведен обзор статей на тему научной работы, опубликованных на habrahabr.ru, рассмотрено понятие индекса цитирования (h-index, индекс Хирша) и сделан вывод о необходимости навыков работы с наукометрическими базами данных для всех, кто встал на путь научной карьеры.
Во настоящей второй части рассмотрены три инструмента управления публикациями в web: 1) Scopus; 2) Google Scholar (Академия Google); 3) Research Gate.
В третьей части рассмотрен выбор стратегии научных публикаций в целях продвижения личного научного бренда. Примеры в статье рассмотрены для той научной области, которая знакома автору – Computer Science.
Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Комментарии8

Развернутый комментарий к статьям «Систематизация публикаций в web»

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

Источник изображения


На днях Владимир Скляр (Vladimir_Sklyar) опубликовал два материала об академическом сегменте интернета: раз и два. Начал писать комментарий… и увлекся. В итоге пишу очень развернутый комментарий.


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


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

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

Open API Ivideon: первые шаги

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

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

Если вы не знаете, кто мы, то объясним в четырех словах: сервис видеонаблюдения через Интернет. За остальными подробностями отсылаем к самой первой статье.

Вот и в Ivideon занимались стоящим проектом – Open API. Да, это открытый API, позволяющий нашим клиентам и партнерам упростить и автоматизировать взаимодействие с нашим сервисом. И даже создавать новые продукты!

Проект пока что находится на стадии бета-тестирования, но вы, если желаете, можете попробовать API. Подробнее об этом расскажем в конце статьи.

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

WebTorrent: торренты через браузер. Без плагинов, чистый JavaScript

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


Теперь для скачивания и просмотра фильмов с торрентов не нужен отдельный торрент-клиент. Также как и для раздачи файлов по протоколу BitTorrent тоже не нужен отдельный клиент. Достаточно обычного браузера, поддерживаются Chrome, Firefox и Opera (десктоп и Android).

Всё это благодаря WebTorrent — гибриду BitTorrent и WebRTC. Скачивание и раздача происходят прямо через сайт. Встроенный плеер начинает показ фильма, как только скачано несколько процентов.
Читать дальше →
Всего голосов 22: ↑20 и ↓2+18
Комментарии26

Полезные сниппеты для Nginx конфигов

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


Доброго времени суток, уважаемые хабравчане! В Elasticweb мы негласно ратуем за Nginx и, наверное, мы одни из немногих хостингов, которые не поддерживают Apache и .htaccess соответственно. В связи с этим, большое количество обращений в тех. поддержку связано с оказанием помощи в написании конфигурационного файла для Nginx. Поэтому мы решили собрать коллекцию полезных сниппетов и коллекцию готовых Nging конфигов для наиболее популярных CMS/CMF/Фреймворков на PHP.

Читать дальше →
Всего голосов 94: ↑91 и ↓3+88
Комментарии44

Adminer — веб-интерфейс для баз данных размером в один .php файл

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


В свете недавнего поста про сравнение PostgreSQL и MySQL, в комментариях возникла проблема выбора удобного интерфейса для работы с постгресом. Я сам столкнулся с такой проблемой, решив поискать альтернативы всем известному phpMyAdmin / php*Admin, который считается стандартом у веб-мастеров.
Читать дальше →
Всего голосов 61: ↑56 и ↓5+51
Комментарии53

Использование веб-шрифтов, самый лучший способ (на 2015 год)

Время на прочтение6 мин
Количество просмотров30K
Недавно я снова исследовал вопрос загрузки шрифтов, так как я хотел использовать локальную копию шрифта и сделать ее загрузку максимально быстрой и эффективной. Данный подход существенно отличается от того, когда вы используете TypeKit или шрифты Google и простые сниппеты «копировать/вставить».

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

1, 2, 3

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

Цели:

  1. Асинхронно загружать веб-шрифты
  2. Избежать сильного пересчета положения в макете
  3. Как можно быстрее загружать веб-шрифты
  4. Избежать загрузки шрифтов для возвращающихся посетителей


А теперь давайте попробуем добиться наших целей поэтапно:
Читать дальше →
Всего голосов 21: ↑15 и ↓6+9
Комментарии6

Snaql. Raw SQL в Python-проектах

Время на прочтение3 мин
Количество просмотров21K
В последний год у меня появилось новое правило — каждые 3 месяца изучать новый язык программирования и его экосистему. На это есть несколько причин: новые парадигмы, концепции, инструменты, да и просто интересно что там, по ту сторону набившего с годами оскомину Python. Это простое правило позволило изучить за текущий год современные хипстерские Go, Clojure и Rust, проникнуться их идеями и best practices, что, кстати, очень положительно влияет на стиль и качество кода, когда я пишу на своём основном языке.

Рассматривая стек Luminus, я наткнулся на простую и в то же время шикарную, на мой вкус, библиотеку Yesql для организации SQL-запросов в проекте на Clojure и я не увидел чего-то похожего для Python (может плохо искал). Идея этой библиотеки простая — не морочьте себе голову, используйте обычные SQL-запросы, у вас есть возможность именования этих запросов и мапинга на соответствующие динамические функции. Всё это выглядит как набор микро-шаблонов с SQL и их рендер по какому-то контексту. Просто, эффективно, хочу такое у себя в проекте на Python.

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

Технологическая сингулярность, как событие неизбежное

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


Думаю, многие, читающие эти строчки, на сегодняшний день видят, что прогресс с каждым днем ускоряется. Еще в начале XX века многие не верили в самолеты и думали, что «завтра будет сегодня». Эта тенденция в обществе была всегда и наблюдается сейчас. Завтра будет сегодня. В принципе, это простое эмпирическое наблюдение, однако если сравнить то, что было год назад, и что есть сегодня, становится виден этот прогресс. Если бы наблюдатель провел такое наблюдение в начале XIX века, очевидный прогресс он вряд ли бы увидел, разве что попал бы в переломный момент. Сейчас же различные научные достижения, мелкие и большие, происходят каждый день. Интернет стал катализатором этого процесса. Свободный обмен информацией объединил ученых со всего мира и лишил одной из главных проблем — повторного изобретения, чем часто страдал прошлый век. Конечно, сейчас данная проблема наверняка сохраняется из-за секретности некоторых государственных программ, однако такие проекты — это капля в море тысяч энтузиастов. Разумеется, сейчас наблюдаются не лучшие тенденции государственного контроля, но я, пожалуй, буду обсуждать в макромасштабе и не буду разбирать такие детали.

Уже вот 49 лет как выполняется закон Мура, а Intel готовит нам новые техпроцессы и новые подходы. Разрабатываются параллельно квантовые компьютеры, ДНК-компьютеры, нейронные сети… Все это произошло буквально за 30 лет.

Все неизбежно указывает на дальнейшее ускорение прогресса и движение к некой точке — технологической сингулярности.
Под катом я рассмотрю некоторые возможные сценарии этого процесса.
Всего голосов 124: ↑97 и ↓27+70
Комментарии228

Дюжина логических задач с собеседований

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

Не знаю, как у вас, но у меня любимая часть интервью — логические задачи.
Довелось пройти немало собеседований на вакансию разработчика, поэтому набралась небольшая коллекция.
Спешу поделиться с вами!

Некоторые задачи проще и широкоизвестные, другие заставляют хорошенько задуматься.
Ответы пока что публиковать не буду, надеюсь, вы сами сможете всё решить.
Предлагаю размять свой мозг…
Читать дальше →
Всего голосов 71: ↑55 и ↓16+39
Комментарии244
12 ...
17

Информация

В рейтинге
2 941-й
Откуда
München, Bayern, Германия
Зарегистрирован
Активность