Как стать автором
Обновить
6
0
Иван GiB$ON @gibson_dev

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

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

Путь инди. Как я начал делать игры

Время на прочтение4 мин
Количество просмотров23K
Приветствую всех! Решил поведать вам свою историю, возможно, кому-то это будет интересно. А если это кого-то вдохновит на подвиги – значит, я не зря взялся за эту статью.

Коммерция


Недавно стукнуло 3 года с того момента, как я стал профессиональным гейм-девелопером. Слово «профессиональный» здесь не в смысле «крутой разработчик», а в том плане, что это является моим единственным источником дохода.
Итого, с 2009-го по 2011-й было разработано 7 игр. Количество геймплеев со всех игр стремится к 100 миллионам, а доходы с этих игр – к [вырезано цензурой]. Но об этом я сегодня писать не буду, ибо в этом мало романтики, и слишком много цифр. Сегодня речь пойдёт о том, что же предшествовало выбору профессии.
Читать дальше →
Всего голосов 178: ↑159 и ↓19+140
Комментарии87

Старинный телефон на базе Android

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

Введение

Однажды я смотрел какой-то старый фильм. Герой воспользовался телефоном: снял трубку, попросил оператора набрать номер друга и стал беседовать. Мне очень понравилась простота, с которой был сделан звонок, и внешний вид телефона. Я решил собрать такой телефон сам. Поднимаешь трубку, говоришь, кому позвонить, голос распознаётся, имя отыскивается в адресной книжке, и совершается VoIP звонок.

В этом посте я расскажу про детали проекта: про устройство на базе Android, про IOIO Board, про вырезание по дереву и по пластику.
Читать дальше →
Всего голосов 186: ↑182 и ↓4+178
Комментарии51

Как заставить хлам приносить пользу?

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

О чём это я?


Задачи бывают разные… Бывают простые, бывают сложные, а бывают такие, на решение которых может уйти не одна неделя и достаточное количество нервных клеток. Одной из подобных задач как можно считать разворачивание чего-то серьёзного на большом количестве слабого железа. А именно…

(Здесь и далее будет говориться о немного специфичной и оптимизированной настройке LTSP и поднятии на его основе кластера серверов).
Читать дальше →
Всего голосов 179: ↑175 и ↓4+171
Комментарии38

Создание операционной системы на базе ядра linux. С нуля

Время на прочтение7 мин
Количество просмотров207K
Рано или поздно каждый пользователь Линукса задумывается над созданием собственного дистрибутива. Некоторые аргументируют это тем, что можно «все настроить под себя». Другие сетуют на то, что среди уже представленных дистрибутивов в Ветке нет идеального. А у них, якобы, есть суперконцептуальные идеи для собственной системы. Зачем я всю эту психологию затеял? Для того, чтобы сразу перекрыть кислород играющимся с Линуксом новичкам, которым делать нечего. Если уж задумались над созданием ОС, думайте до конца. Итак,

Я хочу создать ОС на базе Linux.
Сразу предупреждаю: был бы XVIII век, всех тех, кто для основы своей будущей системы выбирает другой развитый дистрибутив (и, не дай Бог, популярный...) ждала бы виселица. Пост именно про создание системы с нуля, а значит, всякие Slax и Linux Mint мы трогать не будем.
Читать дальше →
Всего голосов 184: ↑118 и ↓66+52
Комментарии62

yaTouchSlider — слайдер для тач-устройств

Время на прочтение2 мин
Количество просмотров14K
QR-код на результаты поиска по слову «Погода»На многих известных нам мобильных сайтах для тач-устройств слайдеры (листалки) устроены так, что анимация происходит уже после свайп-жеста, после того как человек убрал палец. Это не так красиво и не так удобно, как в нативных слайдерах, например, на главных экранах iOS-устройств.

Мы сделали jQuery-плагин, который помогает сделать слайдер похожим на нативный, и хотим поделиться им со всеми заинтересованными. Посмотреть на работу плагина можно, например, в ответе погоды или картинок на новой странице результатов поиска для iPhone и iPod Touch.
Читать дальше →
Всего голосов 40: ↑39 и ↓1+38
Комментарии16

Простой и эффективный метод отразить http DDoS от 50мбит с помощью nginx и iptables

Время на прочтение7 мин
Количество просмотров67K
Здравствуй, Хабр!
Предлагаю твоему вниманию простой и в то же время эффективный метод борьбы с http DDoS. На основе сервера Xeon 2.5GHz / 4Gb RAM / SAS можно отражать атаку примерно до 300 Мбит/с (значение получено методом экстраполяции).

Способ реализация

Производится тонкая настройка параметров системы. Так что север будет способен выдерживать больше подключений от ботнета, чем канал до сервера сможет пропустить.

Область применения

Борьба с Http DDoS на выделенном сервере или ВПС. Максимальная возможная мощность сдерживания DDoS атаки ограничивается физическими возможностями сервера и пропускной способностью канала.

SEO под DDoS-ом

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

Стоимость и эффективность

На время атаки придется отказаться от некоторых сервисов вашего сайта. Возможно, придется расширить полосу канала, перенести сайт на более мощный сервер. Эффективность достигается максимизацией коэффициента масштабируемости системы. Обеспечивается быстрое наращивание аппаратных ресурсов при увеличении мощности атаки.
Читать дальше →
Всего голосов 193: ↑179 и ↓14+165
Комментарии78

Энтерпрайз порталы. Часть 1. Определение Web-портала, энтерпрайз портала, CMS/WCM и их назначение. Существующие стандарты для Portlet API. Основные производители порталов

Время на прочтение7 мин
Количество просмотров9K
Продолжение темы порталов, поднятой в моей предыдущей статье.

Наиболее сложная проблема, с которой я столкнулся при написании данной статьи, заключалась в достоверности определений даваемых различными источниками. Не помогла мне и пресловутая Wikipedia, т.к. некоторые определения вызывали явные сомнения (конечно, я бы мог бы их поправить, с другой стороны, ну кто я такой?). Кроме того, версии Wikipedia на русском и английском языках содержали несколько отличающиеся определения. Было бы неправильно писать эту статью основываясь только на собственном опыте, поэтому в качестве источника, к которому я буду апеллировать, я выбрал ежегодные отчеты аналитического агентства Gartner о горизонтальных порталах.

Давайте обратимся к определению портала, которое дает авторитетное аналитическое агентство Gartner: портал – это программная инфраструктура для Web, предоставляющая доступ (с возможностью взаимодействия) к релевантным информационным активам (например, к информации/контенту, приложениям и бизнес-процессам), интеллектуальным и человеческим активам путем выборки по целевой аудитории, предоставляемыми с высокой степенью персонализации.

Aгентство Gartner предлагает следующее деление порталов по целевой аудитории:
  • B2E (business-to-employee) – порталы для взаимодействия с сотрудниками,
  • B2C (business-to-customer) – порталы для взаимодействия с заказчиками,
  • B2B (business partners) – порталы для взаимодействия с бизнес-партнерами.

Aгентство Gartner предлагает также подразделять программные продукты, позволяющие создавать и поддерживать порталы, по их устройству на следующие типы:
  • Вертикальные порталы – фокусируются на специфических приложениях и бизнес функциях;
  • Горизонтальные порталы – собирают интегрированную информацию из множества межотраслевых приложений, а также специфических бизнес сервисов и приложений для определенной отрасли производства.

В Интернет я также встречал понятие мега-портал, но не нашел ни одного источника, который смог бы подтвердить правомочность использования этого термина.
Читать дальше →
Всего голосов 11: ↑7 и ↓4+3
Комментарии10

Команде переводчиков документации PHP требуется помощь

Время на прочтение4 мин
Количество просмотров2.7K
Upd: Для нетерпеливых: пошаговые инструкции по созданию переводов.

Русская документация PHP


Добрый день Хабрасообщество!
Как многим известно, вот уже долгое время на php.net нет русской версии документации PHP. Это не значит, что работа по переводу была прекращена, а результаты этой работы пропали.
Дело в том, что перевод документации — добровольное дело, и добровольцев, скажем так, не много. Один-два человека старались удержать перевод на плаву, но все равно в конце концов документация устарела и скорее вводила в заблуждение тех, кто ей пользовался, нежели помогала в освоении языка. Где-то в 2008 г. в команде переводчиков никого не осталось, потом документация устарела настолько, что процесс сборки (куда входит синхронизация с английской версией) сломался и русский мануал исчез с официального сайта до «лучших времен». Медленное и мучительное возрождение документации началось в октябре 2010 г., но с тех пор оно с каждым днем набирает обороты.
Читать дальше →
Всего голосов 87: ↑76 и ↓11+65
Комментарии53

Аудит. «Черный ящик»

Время на прочтение6 мин
Количество просмотров13K
В данной статье я предложу вам технику аудита «черного ящика», которую можно освоить не обладая особыми знаниями и применить ее относительно своих ресурсов.

Естественно, статью можно перевести и в технику взлома ресурсов. Но чтобы знать, как защищать — надо знать, как взламывать. Ответственность за приобретенные знания вы берете на себя ;)

И если вы, как разработчик, будете знать хотя бы некоторые принципы и техники, что используют хакеры — думаю вам станет чуть спокойнее за них (ресурсы) и результат вашей деятельности приобретет более высокий уровень

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

Читать дальше →
Всего голосов 105: ↑92 и ↓13+79
Комментарии30

Каждому хостингу по аудиоплееру

Время на прочтение2 мин
Количество просмотров6.1K
Хорошие художники копируют, великие художники воруют.
Стив Джобс
Пабло Пикассо

Open Player
Наверное все слушают музыку в интернете, большинство для этих целей используют вконтакте, или сервисы на основе его музыкальной базы. Все существующие бесплатные сервисы имеют разные недостатки, которых небыло в ныне платном простоплеере. И возникла у меня идея создать не просто очередной простоплеер с базой из вконтакте, а такой который каждый сможет поставить себе на хостинг.
Читать дальше →
Всего голосов 154: ↑145 и ↓9+136
Комментарии174

Начинающим shareware-щикам и всем тем, кто решил вести свой бизнес в интернете

Время на прочтение9 мин
Количество просмотров7.2K
Зарабатывание денег онлайн с каждым днем становится все популярнее. Об этом свидетельствует статистика наиболее частых поисковых запросов на Google, Yandex и Yahoo! В воображении многих людей словосочетание «интернет-бизнес» вызывает образы, связанные с возможностью спать подольше, работать дома за чашечкой кофе, или же в парке, на свежем воздухе, держа на коленях свой любимый ноутбук.

Так, когда то думал и я, грезил о бизнесе, которому я буду уделять 2-3 часа в день и который мне за это будет приносить приличный доход. Многое мне доводилось слышать о shareware бизнесе, о том что многие выходят из него нисчем, и что не всем есть место в так называемой финансовой свободе, но всё это, я считал, было сказано не про меня. Мой девиз был: «Главное начать!» Этот пост будет посвящён моему опыту, как казалось тогда, в простом и понятном онлайн-бизнесе. Ну что ж, начнём…
Читать дальше →
Всего голосов 68: ↑55 и ↓13+42
Комментарии85

Переделка роутера D-link DIR-620 в Zyxel Keenetic или делаем из г. конфетку

Время на прочтение4 мин
Количество просмотров601K
Что такое D-link DIR-620 и что такое Zyxel Keenetic, и для чего нужно переделывать одно в другое?
Достаточно почитать тему по DIR-620 на хоботе или на родном сайте D-link, чтобы понять что к чему. Имея неплохую элементную базу (чип Ralink 3052 2T2R на 300Мбит, 32Мб RAM и 8Мб Flash, USB порт), роутер подкачал в программном обеспечении — большинство гневных отзывов относится именно к прошивке. Хотя, чего ещё желать от устройства за 54$, позиционируемого для бюджетного сектора. Однако, Zyxel Keenetic собран на той же элементной базе, но отличается как по цене 105$, так и по программному оснащению. Заявлена поддержка USB накопителей, 3G и 4G модемов, торрент-клиент transmission прямо в роутере, и всё это реально работает. А можно ли из DIR-620 сделать Keenetic? Оказалось, что можно.



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

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

Читать дальше →
Всего голосов 117: ↑117 и ↓0+117
Комментарии64

Создание одностраничного ajax-приложения с поддержкой History API (и без нее)

Время на прочтение4 мин
Количество просмотров52K
Судя по комментариям в этой статье, создание веб-приложений с возможностью аякс-навигации является интересной для сообщества темой и пока еще немногие сталкивались с подобной задачей. Я расскажу о ее решении с помощью небольшой библиотеки под названием jQuery-Pjax (либо моего форка ее).

Моя мотивация: в проекте нужно было реализовать mp3-плеер, играющий независимо от навигации на сайте. Далее потребовалось добавить поддержку браузеров без pushState — и я сделал форк библиотеки.

Основные особенности

  • навигация по сайту и обработка форм без полной перезагрузки страниц
  • чистые url, доступные для прямого доступа
  • поддержка #!/hash для устаревших браузеров (добавлено в моей версии)
  • работа с кнопками «назад» и вперед» для современных браузеров
  • а теперь и для старых — благодаря benalman.com/projects/jquery-hashchange-plugin
  • похоже, есть проблемы с ИЕ7 (спасибо Nc_Soft) (тем более, большое спасибо за участие Nc_Soft) и, возможно, opera 11.5 (пока не могу подтвердить, но нахожу крайне удивительным из-за dev.opera.com/articles/view/introducing-the-html5-history-api) — сообщение artishok — проверено и работает на сборке 1074 (not_ice)
  • imsamurai (https://github.com/imsamurai) предложил улучшения библиотеки (и я радостью слил изменения): встроенная функция для отправки форм, улучшения работы с хешами и более развитая система триггеров. (у imsamurai, к сожалению, нет аккаунта на хабре — будем рады помощи)

Ссылки


Принцип работы Pjax

Читать дальше →
Всего голосов 83: ↑81 и ↓2+79
Комментарии63

Разработка архитектуры вашего приложения в Ext JS 4

Время на прочтение6 мин
Количество просмотров3.7K
Масштабируемость, удобство обслуживания и гибкость приложений во многом определяются качеством архитектуры приложения. К сожалению, архитектуру приложения часто относят к второстепенным факторам. Концепты и прототипы превращаются в массовые приложения, а примеры кода копируются и вставляются «как есть» в фундамент многих приложений. Вы можете захотеть двинуться лёгким путём из-за быстрого прогресса, который вы видите в начале проекта.
Читать дальше →
Всего голосов 47: ↑41 и ↓6+35
Комментарии30

Масштабируемые JavaScript приложения

Время на прочтение22 мин
Количество просмотров40K
Более месяца назад в статье FAQ по JavaScript: задавайте вопросы был задан вопрос «Подскажите примеры хорошего подхода организации JS кода к сайту на достаточно высоком уровне. Как можно узнать подробнее практики реализации например gmail?».

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

Эта статья о том, как сделать крупное веб-приложение расширяемым и поддерживаемым: архитектура, подходы, правила.
Читать дальше →
Всего голосов 206: ↑202 и ↓4+198
Комментарии108

Мини-обзор Arduino-совместимых плат различных архитектур

Время на прочтение5 мин
Количество просмотров97K
В тематическом блоге «Программинг микроконтроллеров» уже было несколько статей по поводу выбора первого микроконтроллера и начала работы с ним. Не менее интересны были и комментарии к таким статьям. Одна из мыслей, которая несколько раз поднималась там — это что не все, кто имеют интерес к МК, приходят к ним от транзисторов. Некоторые (дай бог, чтобы побольше), приходят к ним со стороны (прикладного) программирования. Рекомендовать таким людям брать в руки паяльник — не разумно, у них и так есть вещи, которые они могут «попаять». Так мы приходим к слову «Arduino», которое уже многие слышали. Среди бывалых с паяльниками существует стереотип — Arduino это платка на AVR для ленивых. Так ли это? Эта статья — попытка наглядно показать, что Arduino — это не про AVR и не про лень, Arduino — это архитектурно-независимая электронно-механическая платформа совместимых компонентов, по (относительной) значимости не менее важная, чем (в свое время) IBM S/360, IBM PC или USB.



Читать дальше →
Всего голосов 46: ↑43 и ↓3+40
Комментарии40

Обзор шины SPI и разработка драйвера ведомого SPI устройства для embedded Linux (Часть первая, обзорная)

Время на прочтение13 мин
Количество просмотров173K
В этой статье я хочу провести краткий обзор шины SPI (интерфейса, широко распространённого во встраиваемой технике, используемого для подключения различных устройств) и попытаюсь описать процесс создания драйвера протокольного уровня SPI устройства для Linux. Данный документ не претендует на роль полного руководства, а скорее преследует цель указать нужное направление. Так как статья не вошла в размер одного топика, мне пришлось разбить её на две части.

0. Вместо введения


Что это за статья?
Эта статья представляет собой компиляцию информации из различных источников, вольный перевод некоторых частей документации, а также мои собственные комментарии, дополнения и описания возникших проблем.

Для кого эта статья?
В первую очередь, для новичков, каковым являюсь и я. На форумах по embedded Linux очень часто можно встретить вопрос: «А как на этой плате работать с SPI?». Именно на него я и попытаюсь дать ответ. В качестве примера, я приведу код написанный для работы с моим тестовым SPI устройством.
Читать дальше →
Всего голосов 52: ↑51 и ↓1+50
Комментарии13

Реализация серверной части в многопользовательских онлайн играх

Время на прочтение3 мин
Количество просмотров16K
За свою недолгую жинь я ни разу не встречал программиста, который бы не любил игры. И уж тем более, программиста, который никогда их не писал.
Кто-то начинает с тетриса, кто-то со змейки. У кого-то это увлечение проходит, а кто-то этим «заболевает» и превращает свою болезнь в любимую работу или занятное хобби.

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

Читать дальше →
Всего голосов 195: ↑174 и ↓21+153
Комментарии76

Генерация одноразовых паролей при помощи смартфона

Время на прочтение7 мин
Количество просмотров9.9K
Пролог: данная статья готовилась в течении прошлой недели и была отправлена как статья для песочницы в воскресную ночь. Сегодня я получил инвайт, но так же обнаружил статью с похожей тематикой — К вопросу о двухфакторной аутентификации с помощью мобильных устройств, так что я полностью согласен с автором этой статьи — «что слишком много в последнее время совпадений». Статью решил публиковать как она была изначально задумана, добавил только ссылки на исходники.

После недавних публикаций на Хабрахабре посвященных безопасности, паролям, переборе паролей и т.п. мне в голову пришла идея авторизации при помощи одноразовых паролей которые генерируются специальным приложением на смартфонах пользователей. Идея очень похожа на идею которая используется в устройствах SecureID (и которые тоже недавно освещались на Хабрахабре). Современные смартфоны доступны все большему количеству людей и их возможностей вполне достаточно для реализации подобной схемы. В данной статье я хочу описать идею взаимодействия связки смартфон + веб сайт, некоторые особенности реализации и показать работающий прототип.

Читать дальше →
Всего голосов 37: ↑35 и ↓2+33
Комментарии37

Обфускация строк C++ в Visual Studio

Время на прочтение8 мин
Количество просмотров25K
Бинарная защита своих программ — дело часто нелёгкое и неблагодарное, ведь если продукт кому-то нужен, его всё равно сломают, как ни старайся. При этом самая лучшая защита всегда должна писаться, ну или по крайней мере настраиваться, вручную, а всякие там пакеры/кодировщики/виртуальные машины тоже конечно помогают, но чем более автоматически работает защита, тем легче она потом ломается, к тому же если использовать какой-то известный пакер, то кракеры его уже 10 раз ломали в других продуктах, и знают что в нём к чему. К тому же все более-менее удачные пакеты защит стоят немалых денег.

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

Вот и встаёт вопрос в том чтобы найти компромис между уровнем защиты/затраченным временем/удобочитаемостью кода/стоимостью и т. д.

Хочу поделиться с вами моим собственным решением для обфускации строк в программе, которое хоть и даёт лишь минимальную защиту, но является 1) бесплатным 2) лёгким 3) почти не портящим внешний вид кода 4) новым, которое кракер скорее всего в данной конкретной конфигурации ещё не видел.

Сразу хочу сказать что это решение лишь ненадолго замедлит уверенного хакера со стажем, но является очень простым и занимает лишь от силы минут 15 в начальной настройке. Оно призвано скорее дать минимальную защиту от нубо-хакеров и скорее натолкнуть вас на более защищённый тип мышления в кодинге, и дать вам шанс самим развить этот метод и реализовать другие типы защит.
Читать дальше →
Всего голосов 9: ↑7 и ↓2+5
Комментарии0

Информация

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