Pull to refresh
20
0
Георгий Шепелёв @gshep

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

Send message

Как мы потратили 1 год и 3 месяца на разработку браузерной игры

Reading time7 min
Views50K
В этой статье расскажу о том, как начинал разработку собственной игры. Вы узнаете, сколько ушло на это времени и стоило ли вообще за это браться.

На игру мы потратили 1 год и 3 месяца, ниже я подробно распишу, куда ушло это время.

Предыстория


Все началось с того, что мы с друзьями решили сделать совместный проект (конечно, с друзьями, типичная ситуация). Нас было 4 человека, все «айтишники», ни один из нас никогда не имел дело с разработкой игр, это был для нас темный лес, очень темный.

Диалог был примерно такой:
— Может, игру начнем делать?
— Давайте, почему бы не попробовать?
— А о чем игра то будет?

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

— Шутеров — куча, танки — есть, самолеты — есть, гонки — есть, что же тогда делать?
— Лодок нет.

А ведь и правда, никто на тот момент не мог назвать ни одной игры с использованием водного вида транспорта. «Окей, сделаем простенькую игру, чтобы научиться. Вода и лодочки, что может быть проще?» — подумали мы, и собрались искать движок, на основе которого могли бы сделать игру.

Никто из нас даже не думал о 2D игре, сразу все представляли 3D — «инновации» ведь.
Читать дальше →

Восстанавливаем локальные и доменные пароли из hiberfil.sys

Reading time2 min
Views113K
Утилита mimikatz, позволяющая извлекать учётные данные Windows из LSA в открытом виде, существует с 2012 года, однако помимо хорошо освещённого функционала восстановления паролей из памяти работающей ОС у неё есть ещё одна довольно интересная возможность. Далее я приведу пошаговую инструкцию, как при помощи нехитрых действий извлечь учётные данные из файла hiberfil.sys.

Подготовка


Для осуществления задуманного нам понадобятся следующие утилиты:
Читать дальше →

Игровой мир WebGL или Three.js vs Babylon.js

Reading time17 min
Views80K


Когда я начинал писать свою первую игрушку на three.js я и не думал, что на самом деле three.js это верхушка айсберга в мире WebGL и что есть десятки разнообразных фреймворков и у каждого из них свой специфический уклон, а three.js просто один из них.

Введение
1. Базовые элементы
2. Группировка
3. Движение
4. Частицы
5. Анимация — 1
6. Анимация — 2
7. Простой ландшафт
8. Статические коллизии
9. Динамические коллизии
10. Импорт моделей
11. Встраивание физических движков
12. Тени, туман
Продолжение — многопользовательский шутер

Далее подробней с небольшими примерами

Почему OpenVPN тормозит?

Reading time3 min
Views187K
Описанная проблема присуща только ветке OpenVPN 2.3, в 2.4 размеры буферов не меняются без требования пользователя.

Время от времени, мне встречаются темы на форумах, в которых люди соединяют несколько офисов с использованием OpenVPN и получают низкую скорость, сильно ниже скорости канала. У кого-то это может быть 20 Мбит/с при канале в 100 Мбит/с с обеих сторон, а кто-то еле получает и 400 Кбит/с на 2 Мбит/с ADSL/3G и высоким пингом. Зачастую, таким людям советуют увеличить MTU на VPN-интерфейсе до чрезвычайно больших значений, вроде 48000, или же поиграться с параметром mssfix. Частично это помогает, но скорость внутри VPN все еще очень далека от канальной. Иногда все сваливают на то, что OpenVPN — userspace-решение, и это его нормальная скорость, учитывая всякие шифрования и HMAC'и. Абсурд!

Немного истории

На дворе июль 2004 года. Типичная скорость домашнего интернета в развитых странах составляет 256 Кбит/с-1 Мбит/с, в менее развитых — 56 Кбит/с. Ядро Linux 2.6.7 вышло не так давно, а 2.6.8, в котором TCP Window Scale включен по умолчанию, выйдет только через месяц. Проект OpenVPN развивается уже 3 года как, к релизу готовится версия 2.0.
Один из разработчиков добавляет код, который устанавливает буфер приема и отправки сокета по умолчанию в 64 КБ, вероятно, чтобы хоть как-то унифицировать размер буфера между платформами и не зависеть от системных настроек.
Читать дальше →

Нестандартный Top10 событий в сфере IT-безопасности 2014 года

Reading time9 min
Views31K
В нашей рабочей терминологии есть одно устоявшееся английское выражение «threat landscape». На русский язык оно нормально не переводится (ландшафт угроз, ага). Если все предельно упростить, то это такая штука, на основе которой компании делают выбор: закупить еще железа или потратить деньги на защиту существующей инфраструктуры. Зависимость тут прямая: если ваши поезда постоянно сходят с рельс, то решается это вовсе не закупкой новых локомотивов.

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

Отслеживанием всех значимых новостей в сфере IT-безопасности у нас занимается редакция сайта Threatpost. Мы решили отобрать 10 событий уходящего года (для версии сайта на английском) по единственному критерию: популярности соответствующих статей. И получили интересный набор новостей, актуальный для айтишников, наших нынешних и потенциальных клиентов и безопасников. В нем абсолютно нет политики (то есть историй про Сноудена и NSA), и довольно мало тем стратегического плана. Зато на первый план вышли проблемы, которые необходимо учитывать при оценке этого самого ландшафта уже сейчас. Подробнее – под катом.
Читать дальше →

Новогодних баек инженера пост

Reading time6 min
Views80K
image

Самое сложное перед Новым Годом — это составить график, когда инженеру нельзя бухать. Дело вот в чём: у «икс-команды» выездных инженеров есть стандартная дежурная смена, там бойцы просто сидят в офисе. А ещё у нас есть обычные проекты, и по тем, где есть услуга поддержки, всегда должен оставаться кто-то на связи. Поэтому мы и носим с собой ноутбуки и телефоны-модемы даже на вечеринки. И — обязательно — не пьём, если сегодня нужно страховать.

Из примеров — мой коллега как-то пошёл на свидание, и вместо общения с девушкой удалённо поднимал сервер.

А ещё на Новый Год резко меняется адекватность заявок в техподдержку. Один раз, например, 31-го у нас вылетело критичное оборудование: оказывается, заказчик «затушил» стойку, чтобы вызвать инженера. Понимали, заразы, что так его с дежурства не выпустят. Сделали сервисный случай именно под него. Приехал, а там поляна с водкой, довольной заказчик и подарок на Новый год за хорошую работу.

В общем, берите чай, печеньку — и заходите, буду рассказывать.
Читать дальше →

Откуда есть пошло комплексное число

Reading time3 min
Views154K
В современной математике комплексное число является одним из фундаментальнейших понятий, находящее применение и в «чистой науке», и в прикладных областях. Понятно, что так было далеко не всегда. В далекие времена, когда даже обычные отрицательные числа казались странным и сомнительным нововведением, необходимость расширения на них операции извлечения квадратного корня была вовсе неочевидной. Тем не менее, в середине XVI века математик Рафаэль Бомбелли вводит комплексные (в данном случае точнее сказать, мнимые) числа в оборот. Собственно, предлагаю посмотреть, в чем была суть затруднений, доведших в итоге солидного итальянца до подобных крайностей.
Читать дальше →

Black Swift: зачем мы его сделали

Reading time7 min
Views126K
Как уважаемые хабровчане знают, вот уже почти год мы разрабатываем маленький компьютер (примерно с SD-карточку), работающий под OpenWRT, со встроенным Wi-Fi, USB, Ethernet, азартными играми и доступными женщинами. Дмитрий dzhe уже несколько раз писал про него — и, в общем, с каждым разом собирал в комментариях один и тот же вопрос: а зачем вы вообще его делаете? Ну ведь есть же Raspberry Pi, стоит он столько же, есть VoCore, Carambola, Edison, в конце концов, — зачем нужен ещё один «нанокомпьютер»?

Пожалуй, надо наконец на этот вопрос ответить — заодно отметив этим ответом появление у нас своего корпоративного блога (спасибо, Хабр!), а также запуск отдельного веб-сайта, посвященного только этому проекту.



Если коротко: хотя изначально проект начинался как «а не сделать ли нам нанокомпьютер как у китайцев, но для себя и подешевле?», мотивация довольно быстро сместилась — мы поняли, что можем сделать его если не дешевле, то лучше и удобнее, и не только для себя.

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

Замена чипсета на материнской плате

Reading time19 min
Views359K
Просматривая недавно архив своих фото, я обнаружил фотографии со своей прошлой работы, которые было бы интересно посмотреть многим. Фотографии сделаны для себя мобильным телефоном Samsung Galaxy S в разное время, некоторые смазаны, но, увы — что есть и других уже не будет.

Прежде чем увлечься разработкой под Android, я пару лет ремонтировал компьютеры и ноутбуки. Ниже я рассказу об одной из сложнейшей операции по ремонту матплат и видеокарт — замене чипсета, далее «чип». А в конце статьи немного о том, почему ноутбуки ломаются. Думаю, что стоит предупредить — «не пытайтесь повторить это дома».
Читать дальше →

Захват аналогового видеосигнала при помощи STM32F4-DISCOVERY

Reading time14 min
Views176K
image
В этой статье я расскажу о том, как можно захватывать аналоговый черно-белый видеосигнал с помощью платы STM32F4-DISCOVERY, и об особенностях передачи его на компьютер при помощи USB.
Читать дальше →

Восстанавливаем старые часы «Электроника-7»

Reading time8 min
Views277K
Доброго времени суток, уважаемые хабражители!

Началась эта история так. Во время работы на объекте, разместившимся в здании бывшего завода (кажется, металлоконструкций) с длинным названием (и, конечно же, имени очередного великого лидера партии) я увидел в куче хлама, предназначавшейся на выброс, одну вещь. Каковая вещь ударила по мне страшным приступом ностальгии, ибо точно такая же висела в холле СКБ (с не менее длинным и многосложным названием, чем вышеупомянутый завод), где работала когда-то моя мама, и где прошло немало времени из моего детства. Встречайте — часы «Электроника 7-06».



Конечно же, я не мог устоять от соблазна восстановить (а может быть, и доработать?) их. Кому интересен процесс, а равно и конечный результат — прошу под кат (осторожно, некоторое количество схем и фото!).

Ностальгировать

Оптимизируем VPS за 5$ (512MB RAM / 1 CPU) так, что сайт на wordpress выдерживает нагрузку в 42,735,587 хитов в день

Reading time9 min
Views96K
Когда вы приобретаете сервер VPS с 256MB или 512MB оперативной памяти на борту и лишь часть мощности процессора, то использовать для таких сервисов как MySQL/PHP/Apache настройки по умолчанию является очень плохой идеей. В настоящее время у меня запущено 3 сайта на самом дешевом тарифном плане с 512MB RAM/1 CPU. Не уверен полностью, но посещаемость составляет порядка 5-10 тысяч посетителей в день. Далее я хочу поделиться инструкцией как оптимизировать LAMP используя всего лишь 512 MB и при этом не уходя в swap. Обычно при такой настройки используется 256 – 378Mb памяти и все работает довольно быстро.

Определяем доступную память и активность swap.

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

$ free -m

Для того. чтобы посмотреть список запущенных процессов и отсортировать их по использованию памяти, необходимо выполнить вот такую команду:

$ ps -eo pmem,pcpu,rss,vsize,args | sort -k 1 -r | less


Настраиваем LAMP сервер для потребления малого количества оперативной памяти. Останавливаем, отключаем ненужные сервисы

Первый и очевидный вопрос, который необходимо задать — это «какие сервисы мне не нужны в использовании?». Недавно, я обнаружил очень удобную утилиту для управления сервисами. Она называется "sysv-rc-conf" и управляет сервисами при помощи псевдографики и флажками. Выгдялит вот так:



Здесь представлен список сервисов, которые я изменил.

  • Postfix. Этот сервис позволяет отправлять и получать почтовые email сообщения для домена. Я использую для этих целей Google Apps для отправки почты и mailchimp для новостных подписчиков. Таким образом я остановил и отключил этот сервис.
  • Bind9. Он нужен для управления DNS записями Вашего домена. Его можно отключить, так как все DNS записи хранятся у хостера.
  • SSHD. Имеются и другие реализации, которые используют гораздо меньше памяти, но они не поддерживают sftp, поэтому данный сервис я оставил без изменений.


Не запускайте X-сервер, выключите все ненужные сервисы и настройте Apache, MySQL, PHP только с базовой необходимой функциональностью.
Читать дальше →

Непереводимая игра слов по поводу CLANG, LLVM и msp430

Reading time11 min
Views20K
Целью данной работы является получение кода, сгенерированного бэк-эндом компилятора LLVM MSP430

Введение


CLANG — это просто фронт-энд компилятора С для LLVM. LLVM — это фреймворк для разработки фронт-эндов, бэк-эндов компиляторов для разных целевых платформ. Этот фреймворк облегчает анализ путем приведения всех фронт-эндов к промежуточному представлению (IR). Все бэк-энды оперируют с этим общим представлением.

Одна из целевых платформ, которая меня интересует, это MSP430 — популярный встраиваемый микроконтроллер, используемый во многих микропотребляющих приложениях.

Текущая поддержка MSP430 весьма ограничена. Я надеюсь, что смогу помочь кому-нибудь, кто слишком фейс-палмит, сохранить лицо. 1

Поехали


Текущая поддержка данной платформы предельно ограничена. Надеюсь, я смогу восполнить этот пробел. Ниже приведена упрощенная диаграмма того, как должна происходить сборка:
Читать дальше →

Мелкосерийное производство несложной электроники: в России или в Китае?

Reading time3 min
Views162K
Недавно я разработал одно простое устройство. Пришлось решать вопрос, как изготовить пробную партию в 50 плат. Думаю, этот опыт будет полезен всем DIY энтузиастам, кто уже думает о том, что делать дальше после того, как девайс готов.

Замечу, что настоящая заметка — это не маркетинговое исследование или что-то подобное, претендующее на объективное освещение вопроса. Это исключительно один частный личный опыт.
Читать дальше →

ARM анонсировала mbed v3.0

Reading time1 min
Views19K
image
В начале октября, на конференции ARM TechCon 2014, компания ARM анонсировала новое поколение mbed v3.0. Разработки ведутся над новым программным обеспечением — mbed OS и mbed Device Server.

mbed Device Server будет способен обрабатывать IoT (Internet of Things) данные в облаке через стандартный REST API, аналогично веб серверу.
mbed OS будет выполнять роль полноценной операционной системы для Cortex-M микроконтроллеров, включающей в себя: С++ фреймфорк, менеджмент защиты (TLS/DTLS), менеджмент энергопотребления, подключение к беспроводным сетям (Bluetooth Smart, 2G, 3G, LTE, CDMA и Wi-Fi).

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

Интервью Скотта Мейерса в Яндексе. О настоящем и будущем C++

Reading time18 min
Views61K
Скотт Мейерс — один из самых известных и признанных экспертов по C++, автор серии книг «Эффективное использование C++», которые читал почти каждый профессиональный разработчик на C++ и которые оказали заметное влияние на всю экосистему и качество использование языка.

Лично я стал почти его фанатом ещё студентом, когда в начале 2000-х читал статьи Скотта, лежащие в основе его книг (сами книги на тот момент в России ещё не были переведены, а на английские с Амазона у меня, как бедного студента, денег не было).

Поэтому, когда он некоторое время назад приехал в Яндекс, чтобы провести тренинг для наших разработчиков, я не мог не воспользоваться этим шансом, чтобы поговорить с ним. Разговор получился о том, каким он видит будущее C++ и программирования вообще, как отличаются разработчики в разных странах и в разных индустриях, и о нём самом.



Полные тексты оригинала и перевода интервью

STM32 Nucleo. Подключаем TFT LCD на базе чипа ILI9341

Reading time3 min
Views91K
image
На Хабре уже есть две публикации о платформе STM32 Nucleo и разработке в среде mbed.org. Это «обзор платформы» и «быстрый старт». Я же в данной публикации расскажу, как быстро подключить недорогой модуль TFT LCD на базе чипа ILI9341. Статья будет полезна и любителям Arduino, желающих перейти на более современные и мощные микроконтроллеры, используя уже накопленные знания.
Читать дальше →

Как купить золото?

Reading time5 min
Views138K
Пенсия для ITшника.
Тут нужно было бы писать «а что делать в старости?», «на государство недёжи никакой», «в наше время каждый должен...» и прочее бла-бла-бла и би-би-би. Но мне лень, потому — сразу к делу.

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

А еще?
А еще золото двигается в противофазе с рынком акций. То есть, когда в экономике тайфун — все инвесторы бегут в золото, как самый надежный актив. Ну и наоборот, естественно… Это делает золото идеальным инструментом для построения «портфеля простака».
Читать дальше →

Семейный бизнес в сфере IT. Время зарабатывать деньги

Reading time8 min
Views88K


Предисловие


В конце 2012 года от нас ушел менеджер по продажам. В январе 2013 уволился программист, в марте ― верстальщик. Казалось, что все рушится. Но как же так? Ведь мы только-только создали команду и наладили работу. Сложившаяся ситуация удручала…

Я могла бы обманывать себя и обвинять наших бывших коллег в безответственности и неблагодарности. Но, давайте посмотрим правде в глаза: если менее, чем за полгода уволились трое из четырех сотрудников, проблема явно в компании и ее руководителях.
Читать дальше →

Луна-7 или SpaceX по-русски

Reading time6 min
Views75K


Частной космонавтикой в России уже никого не удивишь, постоянно всплывают проекты различной степени амбициозности. Но не так давно на бескрайних просторах Интернета я наткнулся на поистине удивительный проект от частной российской компании «Лин Индастриал». Компания ни много ни мало замахнулась на колонизацию Луны и если обычно такие проекты вызывают лишь грустную улыбку, то этот действительно поразил меня глубиной проработки. И так о чем собственно речь?
Читать дальше →

Information

Rating
Does not participate
Location
Ульяновск, Ульяновская обл., Россия
Registered
Activity