Как стать автором
Обновить
82
0
Виталий Кузьмин @Triang3l

Графический программист

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

NASA выложила в открытый доступ 17000 фотографий программы «Аполлон»

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


Судя по всему, у сторонников конспирологических теорий о рептилоидах фальшивых полетах человека на Луну в ближайшие годы появится очень много работы :) Дело в том, что NASA выложило в открытый доступ целых 17000 фотографий, сделанных в рамках программы «Аполлон» — всего цикла. В числе выложенных фото есть и очень известные снимки, и те, которые многие из нас увидят впервые.

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

Что же не так с QR-кодами?

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

Прекрасная картинка неизвестного автора

Я долго не писал эту статью. На протяжении полугода я регулярно практиковал попытки пройти в поликлинике к докторам без очереди и хамское вождение с московскими номерами в глубинке, чтобы стать толстокожим и невосприимчивым к ненависти (даже НЕНАВИСТИ!!!1), которая прольётся на меня после этой статьи. Это неизбежно, так как Хабр — гик-ориентированный ресурс, а QR-коды — гик-технология. Они уже получили широкое распространение и теплую поддержку от гиков Хабра, так что будущее у меня в мрачных оттенках. Не удивлюсь бритвенным лезвиям в почтовом ящике и молчаливому дыханию в телефонную трубку от полуночных незнакомцев.

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

Для создания видимости аргументов в защиту своего мнения я мог бы устроить тут филиал wtfqrcodes.com и со злыми комментариями публиковать самые неудачные и даже опасные случаи использования QR-кодов, завершив всё это ссылкой на понятную инструкцию. Но эта демагогия не поможет прийти к цели — понять суть проблемы QR-кодов, так что passive-aggressive mod off, и давайте разберемся.

Так что же с ними не так?

«Matrix ASCII» — самой старой «живой» раздаче торрент-файла исполнилось 10 лет

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


Десять лет назад Интернет выглядел совсем не так, как сегодня. Торрент-трекеры типа Pirate Bay и Torrentz были только созданы, а Facebook и YouTube вовсе не существовали. Технология BitTorrent в то время была также очень молода, и мало кто знал, что это такое. Тем не менее, торрент-трекеры становились все популярнее, получая все больше пользователей, которые стали понимать, какие преимущества дает данная технология. Именно тогда, 10 лет назад, была создана фан-версия фильма «Матрица», и эту фан-версию ее автор решил распространять через торренты.

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

0day Wednesday – исследование новейшего вредоноса

Время на прочтение6 мин
Количество просмотров69K
Кто-то может назвать это безумие. Для меня это просто среда.

Она досталась мне вчера, и я разобрался с ней сегодня. Она пришла в нагрузку к java эксплойту от старого 2012 CVE (SecurityManager, я полагаю). Я называю её 0day[1], потому что её нету в базах VirusTotal / Malwr ни в каком виде — ни запакованном, ни распакованном.

Попытка анализа в IDA[2] завершается ошибкой:
image

Похоже, что тот засранец, который это делал, скорее всего знал, что некто вроде меня попытается провести анализ.
Читать дальше →

Безопасен ли Telegram? Или как я искал закладку в MTProto

Время на прочтение4 мин
Количество просмотров335K
Telegram — мессенджер для смартфонов позиционирующий себя как безопасный, защищающий не только от злоумышленников, но и от гос. структур вроде АНБ. Для достижения этой безопасности Telegram использует собственную разработку — криптографический протокол MTProto, в надежности которого сомневаются многие, сомневаюсь и я.
Читать дальше →

Яндекс посвятил страницу плееру Winamp

Время на прочтение1 мин
Количество просмотров79K
Сегодня, 20 декабря прекратилась поддержка Winamp — самого узнаваемого и родного для многих музыкального плеера. Последней стала версия Winamp 5.66. В память о времени, проведённом вместе, мы сделали тематическое оформление для страницы Яндекс.Музыки. Найти его можно здесь — music.yandex.ru/oldschool.

image

Мы разложили треки в папки с жанрами: панк, рок, металл, эстрада, поп, классика, кантри, регги, джаз и т.д. В папке с музыкой 90-х — E-Type и Иванушки International, Haddaway и Игорь Тальков, R.E.M и тот самый ранний «Мумий Тролль», Matchbox Twenty и ЧайФ. Остальные папки тоже не пустые. Мы собрали даже музыку «на будильник». Будем пользоваться и вспоминать.

Подарок от Skype на новый год

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

Вероятно, в качестве рождественского и новогоднего подарков, Microsoft запустила акцию Skype Collaboration Project, в рамках которой Skype дарит пользователям возможность на весь следующий год возможность пользоваться функциями групповой работы (видеочат и разделение экрана), а также отключить отображение рекламы. Еще вы получаете годовой абонемент на обмен картинками рабочего стола в групповых звонках, полным отсутствием рекламы и бесплатную техническую поддержку на период прохождения акции.

Для участия в акции переходим по этой ссылке и вводим туда почту на которую придет письмо с кодом (Вводить почту на которую зарегистрирован аккаунт скайпа не обязательно).
Читать дальше →

Стоит ли до верится спел чек еру? Про стой пять ни чинный пост до бра

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

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

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

По чувствуй себя граммар-наци

Извлечение 4096-битных ключей RSA с помощью микрофона

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


Знаменитый криптограф Ади Шамир (буква “S” в аббревиатуре RSA) с коллегами вчера опубликовал научную работу под названием «Извлечение ключа RSA путём акустического криптоанализа с низкой частотой дискретизации» (RSA Key Extraction via Low-Bandwidth Acoustic Cryptanalysis). За сложным названием скрывается исключительно доступный метод извлечения ключей RSA (в реализации GnuPG) с помощью обычного мобильного телефона или микрофона. Достаточно лишь положить телефон в 30 см от компьютера жертвы. Если использовать качественные микрофоны, то извлекать ключи можно с расстояния до 4 метров.
Читать дальше →

Tig — консольный GUI для Git

Время на прочтение2 мин
Количество просмотров38K
Никогда не был фанатом gitk и пользовался им редко, предпочитая консоль и настроенные алиасы. Благодаря хабраюзеру grossws, я открыл для себя tig. Это то, чего мне не хватало. После месяца использования его в работе хочу поделиться находкой с вами.

Tig это консольный GUI(TUI) для Git, основанный на Ncurses.
Основные преимущества:

  • потрясающая скорость, 20,000 коммитов готовы к просмотру за четверть секунды
  • консольный
  • управление в vim стиле

Cкриншоты основных режимов и сравнение с gitk.
Читать дальше →

Интервью с двенадцатилетним разработчиком игр + автор

Время на прочтение4 мин
Количество просмотров60K
Игровая конференция DevGamm в этом году собрала рекордное количество участников (более тысячи трёхсот), некоторые из которых уже опубликовали свои впечатления. Однако среди разработчиков и издателей игр немного выделялся Вадим — прежде всего тем, что ему было 12 лет.

Вадим сделал игру Robots Inc c необычным, голосовым управлением. (Чтобы робот летел, нужно жужжать, а чтобы в конце уровня взорвалась заложенная бомба, нужно сказать: «Бдыщь!») На игровых конференциях нечасто встретишь двенадцатилетних разработчиков мобильных игр, поэтому мы решили взять у Вадима интервью.

Вадим учится в московской школе с углубленным изучением иностранных языков № 1296 в 6 В классе. С Unity работает с 2011 года, в 2012-м прошел курс обучения по C#, а сейчас самостоятельно изучает Java. Также активно занимается каратэ.

image
Вадим, фотография папы.
Читать дальше →

Швед заплатит $610 000 за закачку 1 фильма на торрент-трекер, плюс штраф за плохое качество

Время на прочтение2 мин
Количество просмотров32K
Одна из раздач на шведском торрент-трекере Swebits очень дорого обошлась модератору и администратору сайта. 28-летний житель города Сала должен компенсировать ущерб 4 млн шведских крон (примерно $610 тыс.). Ещё 300 тыс. крон он должен заплатить за то, что распространял фильм в плохом качестве.

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

Естественно, администратор торрент-трекера приложил руку к распространению не одного фильма. В судебных документах говорится о 518 файлах фильмов и эпизодов сериалов. Но за остальные 517 случаев он получил условный срок плюс 160 часов общественных работ.
Читать дальше →

Dxt сжатие в играх

Время на прочтение6 мин
Количество просмотров30K
В этой статье я хочу поделиться своим опытом разработки мобильной игры, поскольку я Windows Phone разработчик, я буду рассказывать про свой опыт применительно к этой системе.

Память и текстуры


Если Вы уже занимались разработкой мобильных игр, то основное зло не в нехватке ресурсов CPU/GPU, а в нехватке памяти. Именно о памяти нужно думать в мобильной разработке в первую очередь. В Windows Phone 7 ограничение было в 100мб, в Window Phone 8 стало получше, но не сильно:
Тип лимита Тип приложения Телефоны с маленьким количеством памяти 1- Гб телефоны 2-Гб телефоны
Default XNA или native 150 MB 150 MB 150 MB
Default XAML/.NET excluding XNA 150 MB 300 MB 300 MB
Higher All app types 180 MB 380 MB 570 MB

И если Вы разрабатываете игру, в которой довольно большое количество спрайтов (уложенных, конечно же, в атласы) — то вы рано или поздно задумаетесь о количестве этих самых атласов и сжатии текстур.
Стандартный атлас, с которым работают все более или менее уважающие себя устройства — это 2048х2048 пикселей. Что в несжатом виде (32 bits per pixel) будет занимать аж 2*2*4 = 16 Мб памяти. Тогда на выручку приходят форматы сжатия текстур, в нашем случае это DXT сжатие.
Сжатые текстуры не только требуют значительно меньше памяти видеокарты, но и вообще отображаются быстрее, чем несжатые текстуры, за счет снижения требований к пропускной способности. Но некоторые качества изображения могут быть потеряны из-за сжатия. Тем не менее, снижение объема памяти позволяет увеличить разрешение текстур, которые будут использоваться, что действительно может дать существенный выигрыш в качестве.
Читать дальше →

microSD -> SD переходник удлинитель

Время на прочтение2 мин
Количество просмотров158K
Наверняка, большинству владельцев автомобильных видеорегистраторов приходилось замечать, как неудобно бывает извлекать microSD флеш-карту. Так и в моем случае, без длинного тонкого предмета или длинного ногтя флешку достать просто невозможно. Усугубляет ситуацию ещё и то, что регистратор у меня установлен прямо за зеркалом заднего вида и быстрое снятие его не предусмотренно, и доступ к нему вообще затруднен.
Выход из ситуации я нашел случайно, увидев в китайском интернет-магазине вот такой microSD to SD module. Но конкретно этот переходник слишком короткий, да и ждать больше месяца. Поэтому я решил сделать такой удлинитель сам, что, собственно, и сделал.

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

Изобретаем JPEG

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

Вы правильно поняли из названия, что это не совсем обычное описание алгоритма JPEG (формат файла я подробно описывал в статье «Декодирование JPEG для чайников»). В первую очередь, выбранный способ подачи материала предполагает, что мы ничего не знаем не только о JPEG, но и о преобразовании Фурье, и кодировании Хаффмана. И вообще, мало что помним из лекций. Просто взяли картинку и стали думать как же ее можно сжать. Поэтому я попытался доступно выразить только суть, но при которой у читателя будет выработано достаточно глубокое и, главное, интуитивное понимание алгоритма. Формулы и математические выкладки — по самому минимуму, только те, которые важны для понимания происходящего.

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

Если есть желание, то предлагаю пройти те же этапы самостоятельно параллельно со статьей. Проверить, насколько приведенные рассуждения подходят для разных изображений, попытаться внести свои модификации в алгоритм. Это очень интересно. В качестве инструмента могу порекомендовать замечательную связку Python + NumPy + Matplotlib + PIL(Pillow). Почти вся моя работа (в т. ч. графики и анимация), была произведена с помощью них.

Внимание, трафик! Много иллюстраций, графиков и анимаций (~ 10Мб). По иронии судьбы, в статье про JPEG всего 2 изображения с этим форматом из полусотни.
Читать дальше →

Экспоненциальный алгоритм сильно замедляет Windows XP

Время на прочтение2 мин
Количество просмотров83K
Разработчик отдела Windows Update Даг Нил (Doug Neal) объяснил, почему в последнее время многие пользователи Windows XP испытывают проблемы с производительностью после установки свежих обновлений.

Как показало изучение логов с «заторможенных» машин, проблема заключается в неэффективном методе, которым модуль Windows Update Agent обрабатывает длинные списки предшествующих апдейтов. Время обработки списков возрастает экспоненциально с каждым новым апдейтом. Другими словами, обработка нового обновления занимает вдвое больше времени, чем предыдущего.

За историю Windows XP было выпущено огромное количество патчей, так что при обработке списка из 40+ старых апдейтов процесс svchost.exe начинает потреблять много ресурсов CPU, и это заметно отражается на общей производительности системы.
Читать дальше →

Страсть к программированию. Глава 10. Полюби это или брось

Время на прочтение5 мин
Количество просмотров35K
image
Вернул из черновиков

О переводе


Это перевод 10 главы книги The Passionate Programmer: Creating a Remarkable Career in Software Development. Её автор — Chad Fowler — талантливый Ruby-разработчик, известный докладчик на конференция, посвящённых Ruby и IT в целом. Бывший саксофонист, а сейчас — CTO 6Wunderkinder.

В книге говорится о разных аспектах карьеры программиста, даются интересные советы как начинающим разработчикам, как так устоявшимся профессионалам. Книга состоит из 53 глав (кроме того, после некоторых глав есть интересные рассказы, один из которых уже дважды переводили на Хабре). Главы достаточно независимы и можно знакомиться с ними в любом порядке. Книга понравится многим программистам, которым интересен взгляд заслуженного профессионала на современную карьеру в IT. И конечно, я рекомендую купить данную книгу в электронном или печатном виде в знак благодарности автору.
Читать дальше →

Устанавливаем SteamOS на виртуальную машину

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


В эту субботу с утра на Хабре появилась новость о выходе SteamOS. Valve предлагает пользователям 2 варианта установки: восстановление из образа (2.4Gb) и использовать Debian Installer (960Mb). Там же приведены ссылки на краткие инструкции по каждому способу установки. В этой же небольшой статье я хочу рассказать как установить SteamOS на виртуальную машину.

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

Патент на FAT в Европе признан недействительным

Время на прочтение1 мин
Количество просмотров36K
image Федеральный патентный суд Германии признал недействительным действовавший до последнего момента на территории Евросоюза патент EP0618540. Патент описывает архитектуру и методы размещения длинных имён файлов в файловой системе FAT, которая из-за своей простоты всё ещё широко используется для флэш-накопителей и других носителей информации. Ранее эта файловая система была очень популярна и на других носителях.

Указанный патент являлся одним из ключевых рычагов для оказания давления и заключения соглашений по сбору отчислений с производителей устройств на базе Linux и платформы Android. Например, данный патент недавно был использован для инициирования запрета продаж Android-устройств Motorola в Германии.
Читать дальше →

Быстрая, экономная, устойчивая…

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

Если вам понадобится алгоритм сортировки массива, который:
  • Работал бы гарантированно за O(N*log(N)) операций (обменов и сравнений);
  • Требовал бы O(1) дополнительной памяти;
  • Был бы устойчивым (то есть, не менял порядок элементов с одинаковыми ключами)

то вам, скорее всего, предложат ограничиться любыми двумя из этих трёх пунктов. И, в зависимости от вашего выбора, вы получите, например, либо сортировку слиянием (требует O(N) дополнительной памяти), либо пирамидальную сортировку (неустойчив), либо сортировку пузырьком (работает за O(N2)). Если вы ослабите требование на память до O(log(N)) («на рекурсию»), то для вас найдётся алгоритм со сложностью O(N*(log(N)2) — довольно малоизвестный, хотя именно его версия используется в реализации метода std::stable_sort().

На вопрос, можно ли добиться выполнения одновременно всех трёх условий, большинство скажет «вряд ли». Википедия о таких алгоритмах не знает. Среди программистов ходят слухи, что вроде бы, что-то такое существует. Некоторые говорят, что есть «устойчивая быстрая сортировка» — но у той реализации, которую я видел, сложность была всё те же O(N*(log(N)2) (по таймеру). И только в одном обсуждении на StackOverflow дали ссылку на статью B-C. Huang и M. A. Langston, Fast Stable Merging and Sorting in Constant Extra Space (1989-1992), в которой описан алгоритм со всеми тремя свойствами.

Так что же это за алгоритм?

Информация

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