Pull to refresh
@BellaLugoshiread⁠-⁠only

User

Send message

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

Reading time18 min
Views26K

Мне всегда нравилась визуальная эстетика дизеринга (dithering, псевдотонирование, псевдосмешение цветов), но я не знал о том, как он применяется. Поэтому я провёл кое-какие изыскания. Эта статья может содержать отголоски ностальгии, но в ней не будет никаких следов Лены.

Читать далее
Total votes 147: ↑147 and ↓0+147
Comments26

Расстояние Левенштейна для чайников

Reading time4 min
Views77K

Когда я взялась решать задачку по динамическому программированию — реализовать алгоритм, который рассчитывает расстояние Левенштейна — мне пришлось послушать пару небольших лекций и прочесть несколько статей (приведу их в конце), чтобы разобраться. Я решила попытаться пересказать алгоритм настолько просто, чтобы по этому объяснению можно было снять ролик для тиктока (когда он снова возобновит свою деятельность в РФ). Дальше — мало формул и много картинок.

Читать далее
Total votes 40: ↑36 and ↓4+36
Comments17

Взлёт и падение игрового чипа 6502

Reading time10 min
Views12K

Примерно сорок пять лет назад у команды разработчиков из Motorola появилась идея создания нового микропроцессора — простого, удобного в использовании и дешёвого в производстве. Родная компания не была в этом заинтересована, но и не мешала. И то наследие, которое оставила эта маленькая команда, продолжает жить в каждом ПК.

Рассказываем о том, как появился чип 6502.

Читать далее
Total votes 30: ↑28 and ↓2+35
Comments27

Отрисовка в браузере большой анимации или как я ушел с mp4 к своему формату видео

Reading time17 min
Views52K

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

Читать далее
Total votes 286: ↑286 and ↓0+286
Comments134

Как за месяц выучить 2000 английских слов

Reading time4 min
Views45K

Сколько уже можно мучиться, читая английские статьи с переводчиком, без знания английского?! Наверное у каждого, кто только начал изучать иностранный язык, была такая проблема. А есть ли более короткий путь, чем тратить годы на курсы, репетиторов и прочие уроки, если хочешь просто научиться понимать прочитанное? И он есть!

Читать далее
Total votes 23: ↑20 and ↓3+23
Comments51

Кто они, тормоза прогресса?

Reading time6 min
Views47K

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

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

Читать далее
Total votes 196: ↑184 and ↓12+223
Comments464

Как Яндекс Карты с помощью отзывов улучшают поиск организаций

Reading time8 min
Views6.1K


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

Теперь учитываются ещё и реальные отзывы людей. Тем самым запросы, по которым раньше выдача была менее релевантной, обрабатываются качественнее, и мы можем решить больше пользовательских задач. Давайте расскажу, как мы к этому шли, и покажу примеры.
Читать дальше →
Total votes 13: ↑12 and ↓1+15
Comments18

Разработка графического кроссплатформенного приложения на C#. LXUI

Reading time21 min
Views36K

Всем привет! Меня зовут Леонид, я являюсь разработчиком программного обеспечения на языках программирования С++, C# и Java. Имея достаточно неплохой опыт в создании пользовательских элементов управления еще со времен C++ Builder, было решено сделать свой кроссплатформенный GUI с блэкджеком и шарпом. О нем мы и поговорим сегодня :)

Читать далее
Total votes 35: ↑35 and ↓0+35
Comments31

Простейшие алгоритмы сжатия: RLE и LZ77

Reading time9 min
Views136K
Давным-давно, когда я был ещё наивным школьником, мне вдруг стало жутко любопытно: а каким же волшебным образом данные в архивах занимают меньше места? Оседлав свой верный диалап, я начал бороздить просторы Интернетов в поисках ответа, и нашёл множество статей с довольно подробным изложением интересующей меня информации. Но ни одна из них тогда не показалась мне простой для понимания — листинги кода казались китайской грамотой, а попытки понять необычную терминологию и разнообразные формулы не увенчивались успехом.

Поэтому целью данной статьи является дать представление о простейших алгоритмах сжатия тем, кому знания и опыт пока ещё не позволяют сходу понимать более профессиональную литературу, или же чей профиль и вовсе далёк от подобной тематики. Т.е. я «на пальцах» расскажу об одних из простейших алгоритмах и приведу примеры их реализации без километровых листингов кода.
Читать дальше →
Total votes 102: ↑95 and ↓7+88
Comments8

Строковые алгоритмы на практике. Часть 2 — Алгоритм Бойера — Мура

Reading time13 min
Views21K

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

Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments8

Строковые алгоритмы на практике. Часть 3 — Алгоритм Рабина — Карпа

Reading time7 min
Views21K

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

Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments8

Лабиринты: классификация, генерирование, поиск решений

Reading time44 min
Views82K

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

Классификация лабиринтов


Лабиринты в целом (а значит, и алгоритмы для их создания) можно разбить по семи различным классификациям: размерности, гиперразмерности, топологии, тесселяции, маршрутизации, текстуре и приоритету. Лабиринт может использовать по одному элементу из каждого класса в любом сочетании.
Читать дальше →
Total votes 82: ↑82 and ↓0+82
Comments13

Помехоустойчивое кодирование. Часть 1: код Хэмминга

Reading time6 min
Views70K


Код Хэмминга – не цель этой статьи. Я лишь хочу на его примере познакомить вас с самими принципами кодирования. Но здесь не будет строгих определений, математических формулировок и т.д. Эта просто неплохой трамплин для понимания более сложных блочных кодов.
Читать дальше →
Total votes 37: ↑35 and ↓2+33
Comments15

Алгоритм ImageZero (IZ): быстрое сжатие без потери качества

Reading time1 min
Views5.6K
JPEG является стандартом в области компрессии изображений и это один из самых быстрых алгоритмов, но у него одна проблема: JPEG сжимает с потерей качества. Если фотография подвергается многократной обработке, это неприемлемо, и в таких случаях приходится искать альтернативу. Хочется чего-нибудь быстрого и при этом с приемлемой степенью сжатия.

Беглый взгляд на бенчмарки losless-алгоритмов на выборке фотографий не даёт оснований для радости: оказывается, PNG очень быстр на распаковке, но исключительно медленно работает на сжатии изображений.

Есть ещё JPEG-LS, хороший на первый взгляд. Но на него патент у компании HP, так что без шансов на использование. Немецкий программист Кристоф Фек (Christoph Feck) решил исправить ситуацию и выпустил свой алгоритм ImageZero сжатия фотографий без потери качества. Он примерно в 20 раз быстрее PNG, а по степени сжатия сравним с JPEG-LS.
Читать дальше →
Total votes 49: ↑47 and ↓2+45
Comments31

Как развитие алгоритмов сжатия остановилось 20 лет назад, или о новом конкурсе на 200 тысяч евро

Reading time18 min
Views71K

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

Пост набрал 206 «плюсов», вышел на 2 место топа недели и вызвал оживленную дискуссию, в которой мне больше всего понравился комментарий: «Коммерческого интереса эффективность по сжатию алгоритмов сжатия без потерь сегодня не представляет, в силу отсутствия принципиально более эффективных алгоритмов. Деньги сегодня — в сжатии аудио-видео. И там и алгоритмы другие. Тема сжатия без потерь удобна именно лёгкостью верификации алгоритма, и не слегка устарела. Лет на 20.» 

Поскольку я сам уже 20 лет в области сжатия видео, с ее бурным развитием мне спорить сложно. А вот что сжатие без потерь развиваться перестало… Хотя логика тут понятна каждому. Я до сих пор пользуюсь ZIP, все мои друзья пользуются ZIP с 1989 года — значит, ничего нового не появляется. Так ведь? Похоже рассуждают сторонники плоской земли. ))) Я не видел, знакомые не видели, и даже некоторые авторитеты утверждают, значит, это так! 

О том, как Intel просили меня не прекращать читать курс по сжатию, ибо людей нет новые алгоритмы делать, я в прошлый раз писал. Но тут и Huawei в ту же дуду дует! Вместо того, чтобы раздать призы и должности победителям, а затем успокоиться, поскольку развитие давно встало, эти эксцентричные люди посчитали конкурс крайне успешным и запустили новый с призовым фондом 200 тысяч EUR.

Развивались ли алгоритмы сжатия без потерь в последние 20 лет? Чем закончился прошлый конкурс и на сколько опередили baseline? Сколько денег получили русские таланты, а сколько зарубежные? И есть ли вообще жизнь на Марсе в сжатии без потерь? 

Кому интересно — добро пожаловать под кат! 
Читать дальше →
Total votes 200: ↑199 and ↓1+257
Comments134

Установка Windows 10 с работающим звуком на старые MacBook и iMac

Reading time4 min
Views54K

Столкнувшись с проблемой не работающего звука при установке Windows на свой MacBook 11го года обнаружил, что материала по данной теме в русскоязычном сегменте интернета крайне мало, можно сказать что его нет вообще. Эта статья написана в помощь всем столкнувшимся с такой же проблемой, и преследует цель описать весь процесс решения проблемы от и до. Здесь описывается способ решения проблемы на примере MacBook, но он так же подойдет и для стационарных iMac.

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments38

Энтропийное кодирование rANS или как написать собственный архиватор

Reading time8 min
Views10K
Эта статья может быть интересна тем, кто занимается сжатием данных или хочет написать собственный архиватор.



Статья написана, в основном, по материалам блога, который ведёт Fabian Giesen.
Читать дальше →
Total votes 34: ↑34 and ↓0+34
Comments8

Information

Rating
Does not participate
Registered
Activity