Рубрика «велосипед» - 12

После поста о подходе Apple к кодированию видео в JPEG, решил рассказать о своем подобном «велосипеде» под Android.
В своем мобильном проекте решили мы сделать превьюшки оружия не статической картинкой, а видео. Подразумевалось, что художники нарисуют красивые анимации, может даже в 3д, но что-то не сложилось и нам выдали простейшие зацикленные 1-1.5 секундные ролики в разрешении 256х256. В iOS версию они встроились замечательно, а вот в Android пришлось повоевать с MediaPlayer и SurfaceView, но все-равно получились некоторые «корявости» — содержимое SurfaceView не перемещалось вслед за родительским View, была заметная пауза при воспроизведении, и пр.
Разумным решением было бы разбить анимации на кадры и оформить в xml для AnimationDrawable, но для 15 видов оружия это значило бы мусорку из 5000+ кадров по 10-15 кб каждый. Потому была сделана своя реализация AnimationDrawable, работающая с sprite sheet и относительно быстрый метод конверсии видео в такой формат.

Читать полностью »

Apple кодирует видео с помощью JPEG, JSON и <canvas>
Фрагмент файла unlock_001.jpg

Компания Apple имеет огромный опыт в разработке веб-технологий, но сейчас попала в абсурдную ситуацию. Если зайти на страницу с описанием дизайнерских инноваций iPhone, то можно увидеть странное: видеоролик с анимацией разблокировки «айфона» закодирован с помощью нескольких JPEG-файлов необычного вида.
Читать полностью »

Интересный проект от велоинтузиастов из сан-франциско Кента Франковича и Адама Петтлера — сделать на великах светящиеся колеса и синхронизировать их со скоростью движения, в результате получается весьма недурственная тема:

Читать полностью »

imageИногда программисты изобретают свои «велосипеды», но действительно ли это плохо, особенно если творение не отличимо от оригинала, а автор получает бесценный опыт?

Эта история началась чуть более года назад с появлением у моей супруги современного смартфона. Она попросила найти пасьянс «Косынку», такой же как был когда-то на настольной Windows. Просмотрев десяток программ, я был неприятно удивлен — почте везде было неудобное управление, спорные картинки карт, море дополнительных наворотов вроде 250 пасьянсов в одном, установки фотографии на рубашку и блекджека с блудницами. В результате, выбрали один из более-менее годных вариантов и на какое-то время об этом забыли.
Пролетел год и я начал писать программы для мобильных. При этом ребром стал вопрос кросс-платформенности, отладки in-app покупок, подготовки контента под разные платформы. Была мысль сделать для пробы пера «Тетрис» или очередной калькулятор, но все же в качестве «велосипеда» я выбрал «Косынку». Идейным стрежнем проекта стало максимально точное повторение старого, доброго пасьянса из набора игр Windows.

Читать полностью »

Я люблю git. Я использую его во всех своих проектах. Поэтому я решил сделать веб-консоль для управления git-ом на PHP.
Управление GIT ом через веб консоль на PHP
Читать полностью »

Итак, однажды в голову пришла мысль, что было бы здорово получать уведомления от Nagios в skype.
Вкратце: используем Skype4Py, скриптом отправляем уведомления.
Жирный минус: skype не работает без иксов.
Плюс: уменьшение времени реакции на проблемы.

Интересно? Подробности под катом.
Читать полностью »

Хочу поделиться очередной реализацией паттерна ActiveRecord на Objective-C, а конкретно для iOS.

Когда только начинал использовать CoreData в iOS разработке, то уже тогда появлялись мысли о том, что это взаимодействие можно как-то упростить. Спустя некоторое время я познакомился с ActiveRecord из RubyOnRails, и тогда я понял чего мне не хватает.
Немного поискав на гитхабе нашел массу реализаций, но по разным причинам они мне не понравились. Одни написаны для CoreData, а мне она не нравится, в других нужно создавать таблицы руками, или писать raw sql-запросы. А в каких-то код был до неприличия ужасен, я и сам порой пишу не очень чисто, но огромный забор из вложенных if/switch/if/switch это чересчур.
В конце концов решил написать свой велосипед, без CoreData и без SQL для пользователя.
Главной причиной этой разработки был, есть и, надеюсь, будет — интерес к разработке.

Вот что из этого всего вышло.
А под катом небольшое описание возможностей и реализации (на самом деле много текста и кусков кода, резюме в самом конце статьи).
Читать полностью »

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

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

Социальный сервис Катушкин.ру — найди компанию для катания

Читать полностью »

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

По долгу службы мне постоянно приходится сталкиваться с различными инсталляциями bug и issue-трекеров (далее просто баг-трекеров) и среди них попадалось довольно много нестандартных решений. Что-то мне приходилось разворачивать самому, что-то я «подсмотрел» у клиентов, но поделиться наблюдениями было бы полезно.

Не баг трекер, а…

С этой темой я уже выступал на конференции SQADays, но для тех, кому лениво смотреть 18 минут видео, все будет кратко расписано в статье.

Читать полностью »

Предисловие


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

(много картинок)
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js