Search
Write a publication
Pull to refresh
12
7
Alexander Kardapolov @akardapolov

User

Send message

О талантах, деньгах и алгоритмах сжатия данных

Reading time16 min
Views47K


Алгоритмы сжатия — это очень коварная тема, привлекающая многих новичков. Это правда! Часто человеку кажется, что его осенила божественная идея, как сильно сжать данные. Любые, кстати! Без потерь! Рекурсивно! А поскольку данные — это хранение информации и передача, то если хотя бы на единицы процентов результат улучшить — это миллиарды долларов (смотрим экономию всех провайдеров на передаче и хранении, всех дата-центров компаний, всех домашних пользователей, перемножаем… аж дух захватывает)! И люди пишут письма:
«Обращаюсь к вам, как «создателю и демиургу проекта ;) compression». Мной придуман алгоритм, основанный на простом рассуждении – если файл условно несжимаемый, есть вероятность что, часть файла имеет избыточность и файл можно сжать частично. …» 
«Обращаюсь к Вам, как к одному из главных специалистов в области сжатия информации. Предлагаю Вам ознакомиться с изобретением в области сжатия информации. [...] По мнению автора, основным достоинством данного «Способа кодирования информации» является способность одинаково хорошо сжимать без потери качества информацию любого типа (видео, аудио, текст, архив и т.д.). Помимо этого «Способ» позволяет проводить процесс кодирования (сжатия) повторно....» 

Бывает даже так:
«Мне, для начала, нужно 30–60 минут общения с Вами по Скайпу.
Вопрос: каково Ваше вознаграждение и куда его отправить?» 

И если вы думаете, что обращения типа последнего — мои любимые, то реакция ровно обратная («Боже, дай мне терпения!»). Ибо по опыту в последнем случае люди наиболее настойчивые… Кстати, это могут быть не только авторы, но и инвесторы, о которых ниже тоже будет. 

Кому интересно, в чем же таки коварство алгоритмов, есть ли у нас таланты, и где же, наконец, деньги — добро пожаловать под кат! (Талантливые авторы алгоритмов могут сразу переходить в раздел «Про деньги»).
Читать дальше →

Анализируем «слона» по частям

Reading time3 min
Views4.1K
Если вы регулярно отлаживаете производительность запросов к PostgreSQL, а EXPLAIN (ANALYZE, BUFFERS) ... — любимый инструмент познания особенностей работы этой СУБД, то новые полезные «фишки» нашего сервиса визуализации и анализа планов explain.tensor.ru наверняка пригодятся вам в этом нелегком деле.

Но сразу напомню, что без полноценного всестороннего мониторинга базы PostgreSQL использовать только анализ плана — это выступать с позиции мудреца #5!


[источник КДПВ, «Слепые и слон»]
Немного про мудреца #5

Перечислимый тип и PostgreSQL

Reading time20 min
Views16K


Пролог


Под перечислимым типом обычно понимают тип данных, который может принимать ограниченное и, как правило, небольшое число значений. Его выделяет то, что эти значения часто хардкодятся программистами в исходный код. И, как следствие, пользователи и операторы приложения не могут менять множество значений перечислимого типа. Их меняют только разработчики, зачастую с соответствующими исправлениями в коде и бизнес-логике приложения. Примерами перечислимых типов могут быть: времена года, месяцы, направление типа въезда/выезд или in/out, какие-нибудь типы или категории чего-нибудь, и так далее. В PostgreSQL подобную функциональность могут и реализуют различными способами. Этому посвящена статья.

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

Цвет в современных фильмах

Reading time11 min
Views108K

Всем привет, меня зовут Денис. Я работаю художником по свету (Lighting Artist) в игровой индустрии. Часто читаю Хабр просто потому что интересно и вот сегодня увидел статью Дефицит цветов в современных фильмах которая меня немного ошарашила. Ведь в кино существуют целые отделы композитинга, которые занимаются цветокоррекцией изображения, чтобы конечный результат выглядел красиво, а также вызывал определённые эмоции. Поэтому меня сильно удивило, что кто-то видит в этом отрицательную сторону.

И вот я уже собрался написать длинный комментарий, но понял, что информации настолько много, что можно об этом написать целую статью, собственно, почему бы и нет.

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

Мой восьмилетний квест по оцифровке 45 видеокассет. Часть 2

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

Шаг 3. Публикация


ClipBucket, опенсорсный клон YouTube, который можно установить на собственном сервере


Первым делом я попробовал ClipBucket, который называет себя опенсорсным клоном YouTube, который можно установить у себя на сервере.



Удивительно, но у ClipBucket нет никаких инструкций по установке. Благодаря стороннему руководству я автоматизировал процесс установки с помощью Ansible, инструмента управления конфигурацией серверов.
Читать дальше →

Человечная декомпозиция работы

Reading time26 min
Views27K

img


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

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

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

Reading time9 min
Views44K


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

Как можно понять, это достаточно серьёзная проблема: я разработчик ПО, и вся моя карьера зависит от возможности пользования клавиатурой!

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

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

Сбер выложил русскоязычную модель GPT-3 Large с 760 миллионами параметров в открытый доступ

Reading time10 min
Views176K
Последнее десятилетие в области компьютерных технологий ознаменовалось началом новой «весны искусственного интеллекта». Впрочем, ситуацию в индустрии в наши дни можно, наверное, охарактеризовать уже не как весну, а полноценное «лето ИИ». Судите сами, за последние неполные 10 лет только в области обработки естественного языка (Natural language processing, NLP) произошли уже две настоящие технологические революции. Появившаяся в результате второй из них модель GPT-3 произвела настоящий фурор не только в технологических медиа, но стала знаменитой далеко за пределами научного сообщества. Например, GPT-3 написала для издания «The Guardian» эссе о том, почему ИИ не угрожает людям. GPT-3 сочиняет стихи и прозу, выполняет переводы, ведёт диалоги, даёт ответы на вопросы, хотя никогда специально не училась выполнять эти задачи. До недавних пор все возможности GPT-3 могли по достоинству оценить лишь англоязычные пользователи. Мы в Сбере решили исправить эту досадную оплошность. И сейчас расскажем вам, что из этого получилось.


Источник изображения
Читать дальше →

Рецепт неуспеха

Reading time5 min
Views9.4K

… или самые частые ошибки фаундеров.


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


За это время мне удалось оценить сотни pitch decks. Удалось поработать со стартапами, чтобы улучшить идеи, реализовать и запустить их продукты.


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


Итак, как же фаундеры стреляют себе в ногу?


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

База данных населённых пунктов России

Reading time2 min
Views18K
Да, ещё одна. И совсем не всех. Эта база данных вовсе не собирается хвастаться десятками тысяч строк. Как раз наоборот: цель — предоставить необходимый минимум. Естественно, необходимость использовать справочник населённых пунктов есть во многих проектах. И получить полную БД можно легко и просто из ФИАС. Так зачем же нужен этот «велосипед»?
Читать дальше →

Советы и лайфхаки по Windows Terminal

Reading time6 min
Views37K
Терминал Windows поставляется с множеством функций, которые позволяют настраивать его и взаимодействовать с ним наиболее удобным для вас способом. Давайте рассмотрим несколько советов и приемов, которые помогут вам настроить свой терминал так, чтобы он идеально вам подходил. На момент публикации этого сообщения в блоге Windows Terminal имел версию 1.3, а Windows Terminal Preview — версию 1.4.

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

Линукс-порт Far Manager: прогресс за 4 года

Reading time5 min
Views70K
Первая публикация исходников far2l, порта Far Manager под Линукс — штуки, которая когда-то считалась принципиально невозможной — состоялась 10 августа 2016го. Поскольку главный разработчик поговаривает о переходе проекта в статус беты, решил написать обзорный пост, как там идут дела и чего удалось добиться за прошедшие четыре года.

Консольная версия


Первый же вопрос, который все задавали и здесь, и на опеннете, и на лоре — а чего не в консоли? Изначально far2l действительно работал только в графическом режиме, через wxWidgets. Это оказалось самым простым способом быстро получить работающий порт со всеми пользовательскими удобствами: иксовым буфером обмена и всеми сочетаниями клавиш, причем с поддержкой событий не только KeyDown, но и KeyUp.

Сейчас это ограничение в прошлом: far2l прекрасно себя чувствует в консоли. Более того, там появились так называемые расширения терминала far2l, поэтому если запускать консольный far2l внутри графического (например, зайдя куда-нибудь по ssh), они «сконнектятся» между собой, и внутренний far2l тоже будет видеть и буфер обмена (с разрешения пользователя, конечно), и все возможные горячие клавиши. Более того, сделана даже специальная сборка putty, позволяющая наслаждаться всеми этими фишками из Windows.

Вот, смотрите, это far2l в GNOME Terminal


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

Квантовое машинное обучение: знакомимся с Tensorflow Quantum

Reading time12 min
Views22K

На Хабре практически нет информации про квантовое машинное обучение (Quantum Machine Learning), и в этой статье я постараюсь подробнее раскрыть тему. Сразу скажу, что промышленных квантовых компьютеров сегодня не существует, все основные разработки в этой области носят теоретический характер, а задачу, которую мы будем разбирать в статье можно решить «по классике» за доли секунд. Но ведь еще 30 лет назад была так называемая «зима искусственного интеллекта», а сегодня нейронные сети буквально окружают нас. Кто знает, может быть вскоре и квантовые компьютеры станут неотъемлемой частью нашей жизни? К тому же область квантовых вычислений, а тем более область QML, обладает особой притягательностью и таинственностью и, как минимум, стоит быть замеченной.


Head image


В статье я постарался рассказать о QML в целом, а также об основном строительном блоке QMLVariational Quantum Circuit. Большую часть статьи я постарался сделать практической, c примерами кода на Cirq, а в конце — добавил реализацию одного из базовых алгоритмов QML на Tensorflow Quantum.

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

Всё, что вы хотели знать о безопасном сбросе паролей. Часть 2

Reading time11 min
Views8.2K

Двухфакторая аутентификация


Всё прочитанное вами в первой части касалось идентификации на основании того, что знает запрашивающий. Он знает свой адрес электронной почты, знает, как получить к ней доступ (т.е. знает свой пароль от электронной почты) и знает ответы на секретные вопросы.

«Знание» считается одним фактором аутентификации; двумя другими распространёнными факторами являются то, что у вас есть, например, физическое устройство, и то, кем вы являетесь, например, отпечатки пальцев или сетчатка глаза.


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

Приоритезация фичей

Reading time4 min
Views14K
Мы как продукт менеджеры, генерируем неисчисляемое количество идей. Каким-то образом у себя в голове их приоритезируем. Голова лопается, мы не знаем, что делать с этими идеями. В вашем “листе идей” какой-то ад творится… Особенно это знакомо людям которые только начинают свой путь в бизнесе, или же только начинают свой путь продуктами.

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

Для начала рассмотрим переменную таблицу методов приоритезаций:



Исходя из данной таблицы, можно сделать вывод.

По горизонтали есть внутренние методы приоритезации, которые решаются в рамках компании — команды.

Если же принимают участие пользователи, то соответственно это внешние.

По вертикали, то сколько данных есть для принятия решений.

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

Восемь интересных возможностей PostgreSQL, о которых вы, возможно, не знали

Reading time8 min
Views28K

Привет, Хабр! Приглашаем на бесплатный Demo-урок «Параллельный кластер CockroachDB», который пройдёт в рамках курса «PostgreSQL». Также публикуем перевод статьи Тома Брауна — Principal Systems Engineer at EnterpriseDB.

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

Читать далее

Программа Joker 2020: Java изнутри и снаружи

Reading time15 min
Views5.1K


До конференции Joker меньше полутора месяцев, и пришло время рассказать Хабру, о чём будут её доклады.


Если говорить в целом, то так. Помимо докладов, будут воркшопы: они хорошо подходят онлайн-формату. Будут интересные спикеры вроде Питера Лори (на Stack Overflow — второй в мире по тегу «jvm»). Конечно, будут и хорошо знакомые имена: Тагир Валеев, Евгений Борисов и не только. Докладов по Spring в этот раз набралось на целый блок.


А за конкретикой приглашаем под кат — там описан каждый доклад.

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

Linux kernel development для самых маленьких

Reading time9 min
Views39K


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

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

«Жизнь» на PostgreSQL

Reading time4 min
Views20K
Недавно на Хабре была опубликована статья Морской бой в PostgreSQL. Должен признаться: я обожаю решать на SQL задачи, для SQL не предназначенные. Особенно одним SQL-оператором. И полностью согласен с авторами:

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

И еще. Будем честны: всегда использовать SQL по назначению — тоска зеленая. Вспомните, какие примеры приводятся во всех учебниках, начиная с той самой статьи Кодда? Поставщики да детали, сотрудники да отделы… А где же удовольствие, где же фан? Для меня один из источников вдохновения — сравнение процедурных решений с декларативными.

Я, позвольте, не буду объяснять, что такое Жизнь Джона Конвея. Скажу только, что — оказывается — используя клеточный автомат Жизни, можно построить универсальную машину Тьюринга. Мне кажется, это грандиозный факт.

Так вот, можно ли реализовать игру Жизнь одним оператором SQL?
Конечно можно

Information

Rating
1,478-th
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity