Как стать автором
Обновить
54
0

Пользователь

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

Эффект кофты на шейдерах для мобильных устройств

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

Пролог


Доброго времени суток! После опубликовании статьи о визуализации квадратичного дерева(Quad-tree), меня попросили написать статью, показывающую работу шейдера, переводящего изображение в «кофту».



Так что, давай рассмотрим данную методику.
Читать дальше →
Всего голосов 49: ↑49 и ↓0+49
Комментарии6

Прототипное ООП для Lua

Время на прочтение3 мин
Количество просмотров12K
Привет, я придумал свой велосипед для реализации прототипного подхода ООП в Lua.

Основные фишки
  • Single inheritance
  • Traits
  • LuaJIT


Перейдем сразу к примерам.

-- подключаем модуль
local object = require("object")

-- определяем наш класс, который на самом деле объект
local HelloClass = object:extend(function(class)
  -- конструктор (необязательно)
  function class:init(name)
    self.name = name
  end

  -- метод класса
  function class:sayHello()
    print("Hello " .. self.name)
  end
end)

local hello = HelloClass:new("John")
hello:sayHello()

Читать дальше →
Всего голосов 16: ↑13 и ↓3+10
Комментарии4

Разрабатываем ИК-пульт ДУ для фотоаппарата

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


После прочтения статьи на Хабре «Делаем ИК-пульт ДУ для фотоаппарата», захотелось поделиться опытом разработки ИК-пульта ДУ для фотоаппаратов в виде приложения под Android (от идеи до публикации).
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии7

Олдскул, хардкор, AY-3-8912. «Железный» чиптюн с последовательным входом

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


Клона Spectrum 128K, оснащенного музыкальным сопроцессором AY-3-8910 (YM2149F) у меня не было. Был 48K с расширенной клавиатурой и убогим блоком питания, перегревающим внутренности через час-два работы. От этого, помнится. домики посреди моря в Sim City образовывались и другие веселые артефакты. Но к делу данные воспоминания не относятся. Вдохновившись материалом tronix286, я решил восполнить пробел в ретро-образовании и склепать что-нибудь на легендарном (и при этом, легко добываемом и недорогом) чипе.

В ходе изучения различных поделок, идея сформировалась следующая: надо делать модуль с последовательным (UART) входом. Чтобы его уже можно было подключить с минимальными затратами к любому девайсу, добавляя тем самым +146 к чиптюновости. В процессе также было решено освоить пару дополнительных навыков, вроде программирования AVR и изготовления печатных плат с применением фоторезиста.

Сразу опишу результаты: модуль разработан и пиликает, побочные навыки прокачаны, грабли собраны, можно радоваться, расширять и углублять.
Читать дальше →
Всего голосов 40: ↑40 и ↓0+40
Комментарии31

Взлом пароля на Mac с Arduino и OpenCV

Время на прочтение6 мин
Количество просмотров78K
О том, как взламывали запароленный мак с помощью Arduino и OpenCV. По мотивам статьи Брутфорсим EFI с Arduino.


Читать дальше →
Всего голосов 109: ↑107 и ↓2+105
Комментарии34

Как я делал игру под KolibriOS

Время на прочтение9 мин
Количество просмотров51K
Всем привет. В этой публикации хочу рассказать о том, как делал игру под операционную систему KolibriOS, о существовании которой раньше даже и не подозревал.


Читать дальше →
Всего голосов 110: ↑105 и ↓5+100
Комментарии93

«Галоп пикселя — часть первая» — базовые понятия, этапы взросления, прикладные упражнения

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


«Галоп пикселя», часть I — базовые понятия, этапы взросления, прикладные упражнения (линк)
«Галоп пикселя», часть II — перспектива, цвет, анатомия и прикладные упражнения (линк)
«Галоп пикселя», часть III — Анимация (линк)
«Галоп пикселя», часть IV — Анимация света и тени (линк)
«Галоп пикселя», часть V — Анимация персонажей. Ходьба (линк)
«Галоп пикселя», часть VI — Анимация персонажей. Бег (линк)

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

В данной публикации мы не рассматриваем программы, но копаем нечто большее. Сами пиксели. От истоков, начав с четырехцветной CGA-эры, вплоть до эпохи ренессанса. В публикации мы не рассматриваем игры, не поем дифирамбы художникам прошлого (разве что самую малость), занимаясь именно процессом создания простейшего пиксель-арта. Данный материал будет интересен начинающим артистам и интересующимся. Статья практически не содержит теории, нудных умозаключений и представляет сторонний взгляд на мир пиксель-арта со стороны некоего самоучки, который предпочел открыть каждую из Америк самостоятельно, не оглядываясь на официальных, общепризнанных и задокументированных Колумбов. Статья снабжена обильным количеством поясняющих иллюстраций, примеров, и советов.

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


Лопатить пиксели
Всего голосов 190: ↑185 и ↓5+180
Комментарии86

Кастомные социальные кнопки

Время на прочтение5 мин
Количество просмотров74K
Недавно участвовал в разработке одного проекта — фото конкурса. По задумке, рейтинг фото альбомов должен формироваться из суммы всех публикаций в социальных сетях: Facebook, Вконтакте, Twitter. Т.е. общий рейтинг фотоальбома расчитывается:
Рейтинг фотоальбома = кол-во «Share» в Facebook + кол-во «Сохранить» в Вконтакте + кол-во «Retweet» в Twitter

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

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

Итак:
  • количество лайков будем получать от REST сервисов каждой социалки
  • кнопки рисуем свои и обрабатываем событие click

Читать дальше →
Всего голосов 99: ↑94 и ↓5+89
Комментарии58

Выбираем лаунчер для телефонов с Android

Время на прочтение6 мин
Количество просмотров192K
Представляю вам вольный перевод статьи "Android Home Screen Launchers: Six of the Best"

Вся прелесть операционной системы Android заключается в том, что буквально все настраивается, поскольку платформа имеет открытый исходный код. Другие мобильные операционные системы предоставляют мало возможностей для настройки главного домашнего экрана вашего телефона, однако, Android имеет сразу несколько приложений, которые могут изменить вид главного рабочего стола вашего телефона. Такие приложения называются «лаунчеры», эти приложения позволяют настраивать способ отображения экрана, когда вы нажимаете кнопку «Домой» (Home) на вашем телефоне. Самое приятное в лаунчерах то, насколько просто заменить обычный рабочий стол на более функциональны. Для этого достаточно совершить простые действия: скачать, установить и настроить параметры.
Под катом обзор лаунчеров, скриншоты и QR-коды
Всего голосов 63: ↑44 и ↓19+25
Комментарии65

Использование Vim в качестве C/C++ IDE

Время на прочтение4 мин
Количество просмотров113K
Привет, Хабрахабр. Меня зовут Алексей и я занимаюсь тем, что разрабатываю встраиваемые операционные системы.

Сегодня я хочу рассказать, как я использую Vim в качестве IDE для C/C++ проектов.

Несмотря на то, что я использую Vim для C/C++, многие из рекоммендаций довольно общие и могут использоваться в любом проекте.
Читать дальше →
Всего голосов 37: ↑32 и ↓5+27
Комментарии16

Смотрим сериалы с субтитрами в 2 клика

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

Я, как и большинство, смотрю много сериалов. И, чтобы не ждать перевода, смотрю в оригинале с субтитрами. Из-за этого скачивание серии иногда превращается в приключение. Мне захотелось оптимизировать этот процесс. Web-приложение я делать как-то не рискнул, поэтому встречайте series_list. Оно:
  • берёт релизы с eztv или piratebay;
  • берёт субтитры с addicted или уведомляет, если их ещё нет;
  • берёт обложки с imdb;
  • скачивает последовательно (можно начинать смотреть, когда ещё не всё скачалось);
  • имеет открытый исходный код.

Читать дальше →
Всего голосов 81: ↑78 и ↓3+75
Комментарии60

Создаем платформер за 30 минут

Время на прочтение15 мин
Количество просмотров163K
Здравствуйте! Сегодня мы будем писать платформер, используя C++, Box2D и SFML, а также редактор 2D карт для игр Tiled Map Editor.

image

Вот результат (карта создавалась 5 минут + во время сьемки игра тормозила + экран не так растянут — дефект Bandicam):



Исходники и exe — внизу статьи.
Читать дальше →
Всего голосов 88: ↑84 и ↓4+80
Комментарии14

Фотонаблюдение или timelapse видео на Raspberry Pi

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

Недавно у меня возникла необходимость соорудить некое подобие видеонаблюдения. Требования были довольно простые:
  • возможность наблюдать через интернет
  • не обязателен режим реального времени, достаточно вечером просмотреть основные события за день (скажем, узнать, сидит ли кто-нибудь за вашим любимым компом, пока вы на работе)
  • отсутствие необходимости тратить часы на отсмотр результатов
  • максимально возможное качество картинки
  • минимальная стоимость

Исходя из критериев, можно было бы остановиться на готовых решениях в виде IP-камер. Однако, проведенный на скорую руку анализ рынка показал, что в устройствах, стоимостью до $100, размер картинки редко превышает 640x480 точек, и, при этом, они не могут похвастать хорошими возможностями для настройки софта. То есть, вполне возможно, что купив такую камеру, вам придется мириться с кривизной заводской прошивки и невозможностью в полной мере реализовать свои замыслы.

В противовес готовым решениям, самоделка на Raspberry Pi – это достаточно недорого, куда более увлекательно, и гораздо более гибко, благодаря полноценной ОС на борту и терабайтам готового софта на любой вкус.
Читать дальше →
Всего голосов 79: ↑75 и ↓4+71
Комментарии47

«Boost.Asio C++ Network Programming». Глава 3: Эхо сервер/клиент

Время на прочтение9 мин
Количество просмотров66K
Всем привет!
Продолжаю перевод книги John Torjo «Boost.Asio C++ Network Programming».

Содержание:


В этой главе мы реализуем небольшое клиент/серверное приложение, которое, вероятно, будет самым простым клиент/серверным приложением. Это приложение эхо-сервер, который возвращает клиенту то, что тот ему написал, а затем закрывает соединение клиента. Сервер может работать с любым числом клиентов. Когда подключается новый клиент, он шлет сообщение. Сервер получает сообщение целиком и посылает его обратно. После этого он закрывает соединение.
Таким образом, каждый эхо-клиент подключается к серверу, посылает сообщение и читает то, что ответил сервер, убедившись, что это то же сообщение, которое он послал, заканчивает общение с сервером.
Сначала мы будем реализовывать синхронное приложение, а затем асинхронное, так что вы можете легко их сравнить:



Здесь будет приводиться не весь код целиком, а только его части, весь код можно посмотреть по ссылке в конце статьи.
Читать дальше →
Всего голосов 29: ↑29 и ↓0+29
Комментарии1

Абсолютное горизонтальное и вертикальное центрирование

Время на прочтение5 мин
Количество просмотров310K
Сколько уже было сломано копий о задачу выравнивания элементов на странице. Предлагаю вашему вниманию перевод отличной статьи с решением этой проблемы от Стефана Шоу (Stephen Shaw) для Smashing Magazine — Absolute Horizontal And Vertical Centering In CSS.

Все мы знали о margin: 0 auto; для горизонтального центрирования, но margin: auto; не работало для вертикального. Это можно легко исправить, просто задав высоту и применив следующие стили:

.Absolute-Center {
  margin: auto;
  position: absolute;
  top: 0; left: 0; bottom: 0; right: 0;
}

Я не первый, кто предложил это решение, однако такой подход редко применяется при вертикальном выравнивании. В комментариях к статье How to Center Anything With CSS Simon ссылается на пример jsFiddle, где приводится отличное решение для вертикального центрирования. Вот еще несколько источников на эту тему.

Рассмотрим способ поближе.
Читать дальше →
Всего голосов 112: ↑106 и ↓6+100
Комментарии10

Подборка полезного для любителей Twitter Bootstrap

Время на прочтение1 мин
Количество просмотров83K
В подборке инструменты, плагины и другие полезности, облегчающие работу с Twitter Bootstrap. Предыдущая подборка.

Инструменты




Bootstraptor — подборка большого количества бесплатных и премиум тем, в том числе Starter Kit, на основе Bootstrap.
Читать дальше →
Всего голосов 109: ↑96 и ↓13+83
Комментарии21

Коллекция ресурсов для frontend и backend разработчиков

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

Некий dypsilon выложил на GitHub огромную коллекцию ссылок на ресурсы по веб-разработке, за что ему огромное спасибо.

Список состоит из ссылок на библиотеки, руководства и статьи.

Frontend: github.com/dypsilon/frontend-dev-bookmarks
Backend: gist.github.com/dypsilon/5819528 (много node.js)

Ссылок много, но все — строго по делу и упорядочены по группам (пример для фронтенда):
  1. Архитектура
  2. Фреймворки
  3. Cross Browser
  4. Cross Device
  5. Паттерны и сниппеты
  6. Манипуляция с DOM
  7. … и многое другое

matmuchrapna советует еще frontdesk Вячеслава Олиянчука.
Настоятельно рекомендуется добавить в закладки, а лучше — почитать.
Всего голосов 120: ↑100 и ↓20+80
Комментарии12

Пишем музыку с помощью PHP

Время на прочтение6 мин
Количество просмотров21K
Я не специалист по теории вероятностей, искусственного интеллекта и машинного обучения, кроме того уроки начальной музыкальной школы давно забыты. Но если вы уделите мне 10 минут, то обнаружите, что даже небольшой запас знаний может дать впечатляющие результаты при их творческом применении. Я хочу поделиться с вами, как научить PHP сочинять музыку.

Например, такую:

сгенерированная мелодия
Читать дальше →
Всего голосов 66: ↑49 и ↓17+32
Комментарии41

Билд-светофор в офисе

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



Меня долго не покидала идея визуализировать статусы билдов каким-нибудь простым и эффективным способом. Под катом я расскажу, как в моем офисе появился настоящий дорожный светофор, как он работает и зачем он вообще нужен.
Читать дальше →
Всего голосов 174: ↑163 и ↓11+152
Комментарии72

Смешивание текстур ландшафта

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


В данной статье я расскажу об алгоритме смешивания текстур, который позволяет привести внешний вид ландшафта ближе к естественному. Этот алгоритм легко может быть использован как в шейдерах 3D игр, так и в 2D играх.

Статья рассчитана на начинающих разработчиков игр.
Читать дальше →
Всего голосов 243: ↑237 и ↓6+231
Комментарии27

Информация

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