Pull to refresh
1
0
Send message

Как я парсил Google Play

Reading time2 min
Views40K
Никогда не задумывались, сколько всего приложений написано под андроид?
Системе всего несколько лет, но я никогда и не пытался представить порядок. Пользователей несколько сотен миллионов, а приложений? Десять тысяч? Пятьдесят? Сто?
Читать дальше →
Total votes 50: ↑44 and ↓6+38
Comments60

Опубликованы скриншоты Firefox 3.7 с возможным вариантом редизайна для Windows 7

Reading time1 min
Views989
Сайт www.softpedia.com опубликовал статью, в которой привел несколько скриншотов обновленного дизайна Firefox для Windows, который может быть представлен в версии 3.7. Обратите внимание на поддержку оформления Windows 7, по моему выглядит круто.
image
Ссылка на другие изображения для Vista/Windows 7 без Aero и для Windows XP.
Total votes 114: ↑92 and ↓22+70
Comments178

FlylinkDC++ и Wine

Reading time2 min
Views5.2K
В ответ на статью Linux DC++ и многопоточность решил описать свой опыт работы с клиентом FlylinkDC++ под Wine.
У автора вышеуказанной статьи при работе с этим клиентом возникло несколько проблем, решение которых я продемонстрирую.
Из того текста я выделил три проблемы:
  • Значки файлов в результатах поиска
  • Пропажа информации, «у скольки человек имеется данный файл» в результатах поиска
  • Очень медленное скачивание последних блоков крупных файлов
От себя я добавлю ещё один пункт: перехват клиентом magnet-ссылок из браузера Opera.
Читать дальше →
Total votes 26: ↑19 and ↓7+12
Comments19

Самый дорогой javascript код

Reading time1 min
Views2.8K
Не так давно, Opera Software испытала острую нужду в новых серверах. Не просто несколько серверов, мы планировали развитие Opera Mini, Opera Link да и My Opera так же росли очень быстро. Мы предвидели сумасшедшие нагрузки на сервера и мы были правы.

Было ясно, что нам предстояло сделать не малые инвестиции в мощности серверов(покупая вот такие штучки)

Выписали чек на кругленькую сумму. Я уверен сис.админы тогда писали кипятком от щастья. Слюнки потекли и у людей с крупных hardware компаний. Они тут же появились в нашем офисе в Осло с «пробниками» — тестовыми серверами.

Не смотря на это, один из крупнейших мировых поставщиков железа, с именем которого знаком каждый читатель, чьи аппаратные ресурсы, в большинстве случаев, мы используем прямо сейчас – не выполнили свое домашнее задание. Когда сис.админы Opera загрузили сервер для тестов web-based админки, то они нашли одно условие, которое вывело из себя всех, включая CTO.

Это единственное условие, по-видимому, было написано каким-то субподрядчиком, которому они дали разработку интерфейса админки на аутсорсинг, что привело к миллионным убыткам в норвежских кронах.

if (is.opera)
{
  window.location.href="config/error.htm";
}


* This source code was highlighted with Source Code Highlighter.
Total votes 227: ↑214 and ↓13+201
Comments231

Один шаблон формы для всего проекта

Reading time6 min
Views5.3K
Часто в одном проекте встречаются различные по структуре формы, где-то label элемента и сам элемент формы находятся на одной строке, где-то друг под другом, в одном случае нужна форма занимающая всю предоставленную ей ширину (например написание/редактирование статьи), в другом лишь определенную, заданную ширину (например форма регистрации/авторизации), да и внешнее оформление бывает разным.

Из за этого многие верстальщики начинают верстать каждую форму по отдельности, давая им и их элементам различные стили, тем самым усложняя работу себе и тем людям, кто будет собирать эти макеты.
Читать дальше →
Total votes 57: ↑48 and ↓9+39
Comments36

Самая маленькая игра в мире (58 байт)

Reading time3 min
Views54K
Для тех, кто читал статью в песочнице: добавил раздел «Можно ли сделать игру меньше?».

Прочитав историю одного байта, вспомнил свою историю.

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

Первый прототип, размером 80 байт, был готов на следующий день. (Поскольку о контроле версий тогда я даже не догадывался, то остается верить воспоминаниям). С этого момента началась моя борьба за байты. Помню, довольно быстро размер был уменьшен до 65 (или около того), дальше каждый байт давался все с большим и большим трудом. К концу лета результат был 58 байт.

Сюжет и управление


Вы несетесь по трассе на грузовике с двумя прицепами. Слева от вас разделительная полоса, справа обочина укрытая травой. На дороге встречаются люди и деревья (может ямы). Ваша задача: не сбивать людей и не врезаться в деревья (не попадать в ямы).
Управление: стрелки влево-вправо — поворот; Esc — пауза.

Скриншоты и код
Total votes 331: ↑329 and ↓2+327
Comments133

Написание виртуальной файловой системы на c++

Reading time8 min
Views15K
Еще одна моя запись из песочницы, если будет время то переведу остальные части

Это перевод первой части статьи про написание VFS (виртуальной файловой системы) на c++ которую я нашел достаточно давно. Надеюсь вам понравится. :)
Читать дальше →
Total votes 19: ↑16 and ↓3+13
Comments9

Video rip. Часть 2-3. Избавление от обычной чересстрочности (deinterlace)

Reading time4 min
Views42K

Содержание


  1. Подготовка DVD
    1. vStrip
    2. DGMPGDec

  2. Обработка видео
    1. Что такое interlace и с чем его едят
    2. Как определить что у нас: progressive, interlaced или telecined?
    3. Избавление от обычной чересстрочности (deinterlace)
    4. IVTC

  3. Сжимаем и запаковываем


Первое, что надо сделать — выкинуть из головы идею воспользоваться фильтром deinterlace из VirtualDub. Я знаю, это непросто, но необходимо. Всё дело в том, что после обработки этим фильтром (с некоторыми настройками) на видео появляются паразитные изображения, например т.н. ghost effect. Выглядит он примерно вот так или вот так. Это ужасно.
Читать дальше →
Total votes 29: ↑28 and ↓1+27
Comments32

Video rip. Часть 2-2. Как определить что у нас: progressive, interlaced или telecined?

Reading time1 min
Views9.7K

Содержание


  1. Подготовка DVD
    1. vStrip
    2. DGMPGDec

  2. Обработка видео
    1. Что такое interlace и с чем его едят
    2. Как определить что у нас: progressive, interlaced или telecined?
    3. Избавление от обычной чересстрочности (deinterlace)
    4. IVTC

  3. Сжимаем и запаковываем


Самое тривиальное — глазами. Открываем видео в VirtualDub и смотрим есть ли чересстрочность. Если её нет — видео progressive. Если на каждом кадре есть полоски — явный признак interlace. В случае, если виден pulldown, например, 3 кадра без чересстрочности, 2 с ней, или какой-то другой шаблон (ещё говорят pattern), то это, скорее всего, telecine.
Читать дальше →
Total votes 5: ↑3 and ↓2+1
Comments7

Video rip. Часть 2-1. Что такое interlace и с чем его едят

Reading time3 min
Views19K

Содержание


  1. Подготовка DVD
    1. vStrip
    2. DGMPGDec

  2. Обработка видео
    1. Что такое interlace и с чем его едят
    2. Как определить что у нас: progressive, interlaced или telecined?
    3. Избавление от обычной чересстрочности (deinterlace)
    4. IVTC

  3. Сжимаем и запаковываем


В этой статье мы узнаем что такое interlace, deinterlace, telecine, pulldown, ivtc и как всё это вместе нам усложняет жизнь.

Все видео-сигналы можно разделить на две категории: interlaced и progressive.

Interlace, по нашему чересстрочная развёртка, как метод, была придумана Львом Сергеевичем Терменом в 1927 году. Суть её заключается в том, что ТВ кадр состоит из нескольких сотен строк. Строки отображаются на экране не одна за другой, а через одну, таким образом разделяя кадр на два полукадра. Таким образом изображение на телевизоре обновляется со скоростью 50 (PAL) или 60 (NTSC) полукадров в секунду. Поле, которое начинается с нечётной строки называется нечётным или верхним, соответственно, другое, чётным или нижним. Благодаря этому методу мы получаем на экране телевизора изображение хорошего качества без увеличения полосы пропускания (а также проблемы при рипе).
Читать дальше →
Total votes 33: ↑32 and ↓1+31
Comments32

Организация распределенного дискового хранилища с возможностью неограниченного расширения с применением технологий LVM и ATAoE

Reading time7 min
Views5.9K

Задача


Когда диски были маленькие, а Интернет большой, владельцы частных FTP-серверов сталкивались со следующей проблемой:
На каждом жестком диске создавалась папочка Video или Soft, и получалось так, что добавив новый жесткий диск, приходилось делать на нем папочки Video2, Soft2, etc.
Задача поменять жесткий диск на диск большего объема приводила к тому, что данные нужно было куда-то переносить, все это происходило нетривиально и с большими downtime'ами.
Разработанная нами система в 2005 году позволила собрать надежный и быстрый массив в 3 терабайта, масштабируемый, расширяемый, в режиме онлайн, добавляя диски или целые сервера с дисками.
Цена всего решения составляла 110% от стоимости самих дисков, т.е. по-сути, бесплатной, с небольшим overhead.

Вот примерная схема устройства нашего хранилища:


Читать дальше →
Total votes 75: ↑69 and ↓6+63
Comments66

Пустим QR коды в автодизайн

Reading time2 min
Views2.5K
В свое время возникла идея приукрасить машину QR-кодом чтобы немного скрасить потерянные в пробках часы жизни таких же автолюбителей, как и я.
В итоге сделал макет и собрался уже печатать, но потом возникла еще одна идея. Почему бы не совместить два типа кодов, дабы мои художества были доступны для понимания не только владельцам ридеров QR-кодов, но и, например, MS Tag.

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

После этих исследований родилось такое вот странное оформление запасного колеса моего четырехколесного друга:
image

Подробности и инфо на чем печатать такие коды под катом.
Читать дальше →
Total votes 50: ↑39 and ↓11+28
Comments59

Выравнивание полей формы с помощью CSS

Reading time2 min
Views165K

Задача


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

forms_1

Читать дальше →
Total votes 230: ↑203 and ↓27+176
Comments241

Флэшка для шпионов: AES-256 с самоуничтожением

Reading time1 min
Views4.5K
Производитель «самых защищённых флэшек в мире» IronKey представил S200 — дорогущую модель ценой около $300, рассчитанную на корпоративных и государственных заказчиков.

Нужно сказать, флэшка уникальна не только ценой. Во-первых, в ней стоит крипточип с аппаратной поддержкой AES-256. Во-вторых, это первая в мире флэшка, соответствующая государственному стандарту безопасности FIPS 140-2 третьего уровня. Третий уровень предполагает невозможность даже физического доступа к криптомодулю устройства. Дело в том, что криптомодуль S200 просто саморазрушается в случае несанкционированного доступа, будь то физический доступ или модификация на программном уровне.

Вероятно, разрушение происходит каким-то химикатом, хотя можно применить и более элегантный способ. Никаких подробностей об этом пока не сообщается.
Total votes 59: ↑54 and ↓5+49
Comments94
2

Information

Rating
Does not participate
Location
Кемерово, Кемеровская обл., Россия
Date of birth
Registered
Activity