Search
Write a publication
Pull to refresh
52
0
Send message

Воспроизведение звука в Java

Reading time3 min
Views82K

Введение


Нормальной русскоязычной информации по теме просто нет. Java-tutorials тоже оставляют желать лучшего. А архитектура javax.sound.sampled хоть и проста, но далеко не тривиальна. Поэтому свой первый пост на Хабре я решил посвятить именно этой теме. Приступим:
Читать дальше →

Эллиптическая криптография: практика

Reading time10 min
Views74K
image
Привет, %username%!

Пару недель назад я опубликовал пост Эллиптическая криптография: теория, в котором постарался описать основные аспекты использования эллиптических кривых в криптографии. Тот мой пост носил исключительно ознакомительный характер, и не предусматривал никакой иной работы с компилятором, кроме созерцательной. Но что за теория без практики? С целью исправить это упущение я, собравшись с духом, ринулся в бой с ГОСТ-ом 34.10-2012, схемой ЭЦП на эллиптических кривых. Если вам интересно посмотреть что из всего этого получилось, тогда добро пожаловать под кат.
Читать дальше →

Скрытые цепи Маркова, алгоритм Баума-Велша

Reading time4 min
Views25K
Скрытые модели/цепи Маркова одни из подходов к представлению данных. Мне очень понравилось как обобщается множество таких подходов в этой статье.

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

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

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

Скрытые цепи Маркова, алгоритм Витерби

Reading time5 min
Views60K
Нам нужно реализовать детектор лжи, который по подрагиванию рук человека, определяет, говорит он правду или нет. Допустим, когда человек лжет, руки трясутся чуть больше. Сигнал может быть таким:

Исходный сигнал

Интересный метод, описан в статье «A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition» L.R. Rabiner, которая вводит модель скрытой цепи Маркова и описывает три ценных алгоритма: The Forward-Backward Procedure, Viterbi Algorithm и Baum-Welch reestimation. Несмотря на то, что эти алгоритмы представляют интерес только в совокупности, для большего понимания описывать их лучше по отдельности.
Читать дальше →

Настройка WinDbg

Reading time3 min
Views97K
WinDbg — позволяет отлаживать 32/64 битные приложения пользовательского уровня, драйвера, может быть использован для анализа аварийных дампов памяти, WinDbg поддерживает автоматическую загрузку отладочных символов, имеется встроенный скриптовый язык для автоматизации процесса отладки, скачать отладчик можно тут.
Читать дальше →

Колосс на глиняных ногах. Принципы управления быстроразвивающейся игровой студией

Reading time8 min
Views22K


 Часто бывает, казалось бы: сплоченный коллектив профессионалов, сильный и качественный продукт на подходе, толстая инвестиционная подушка финансовой безопасности, а что-то не так. Причем, с каждой неделей этих «что-то» становится все больше и больше. Сотрудники нервничают, огромное количество работы проходит в режиме овертайм, постоянные сбои во внутренних коммуникациях, поиск ответственных и виноватых – у победы много отцов, поражение – всегда сирота. Такой деструктивный сценарий развития студии – медленный, но верный путь к завершению её деятельности. Но мы же не просто так собрались несколько месяцев назад?

 Большое количество стартапов «сходят с дистанции» именно из-за того, что в какой-то момент не могут правильно спланировать и проконтролировать своё масштабирование. Любая организация, как живой организм. Отсутствие развития прямо свидетельствует про медленное, но верное умирание. Парадокс заключается в том, что бурный и неконтролируемый рост может привести к обратному от желаемого результату. Через некоторое время компания становится колоссом на глиняных ногах. Ощущение, что все может рухнуть от малейшего дуновения ветерка, изменения конъюнктуры рынка или еще каких-либо глобальных процессов оптимизма совершенно не добавляет. Нервозность, стресс, склоки, падение продуктивности как следствие.

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

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

iPXE загрузка установщика Debian по HTTP

Reading time3 min
Views29K
В этой статье хочу рассказать быстрый и удобный способ установить debian на виртуальную машину через iPXE.
Такой вариант мне нравится больше всего, т.к. не требует скачивания каких-либо ISO образов или дополнительной настройки DHCP и TFTPсерверов. Вся загрузка пойдет по HTTP через Интернет.

image

Будем считать, что у нас есть виртуальная машина, с ipxe (в случае с qemu, ipxe загружается по умлочанию)
Мы хотим загрузить debian wheezy или squeeze

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

Краткое введение в GNU autoconf

Reading time5 min
Views52K
I saw a book entitled «Die GNU Autotools» and I thought «My feelings exactly». Turns out the book was in German1. ©

Можно долго рассуждать о несовершенстве сего инструментария, о превосходстве CMake/QMake/подставьте_вашу_любимую систему сборки, но проекты, использующие autotools, окружают нас повсюду, и стоит как минимум знать, что это за зверь и с чем его едят, чтобы при попытке сделать, а то и отправить разработчикам патч, не править автосгенерированные файлы, чем я не так давно занимался.

Так же следует понимать, что именно autoconf системой сборки не является вообще, это система конфигурации перед сборкой. autoconf почему-то многие считают неким монстром, «проверяющим 15 давно несуществующих версий компилятора Fortran, а потом поддержку ключей этими компиляторами», что не совсем верно, ибо оно делает ровно то, что ему скажут. Другое дело, что многие просто копипастят его конфиг из проекта в проект, в итоге результат получается ужасающим.

В данной статье (планируется всё же осилить цикл) я хотел бы рассказать про autoconf, зачем он нужен и как его использовать.
Читать дальше →

Создание полноценного видеохостинга своими руками (nginx+php5-fpm+ffmpeg+cumulusclips)

Reading time10 min
Views68K
Добрый день, хабровчане!

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

Задача была следующая:
Создать видеоресурс, способный проводить многопоточные односторонние трансляции с web камеры, а так же из любого файла (это например для защиты от прямого скачивания), видеошару с возможностью просмотреть видео в разных форматах и битрейтах.
Узнать больше

Настройка OpenVPN шлюза в интернет на Debian, который на OpenVZ

Reading time4 min
Views104K
Итак господа, приближается первое августа, поэтому задумался я над тем чтобы заиметь себе ip страны, в которой попроще с законодательством в сфере p2p, а именно Нидерландов. После достаточно долгих поисков нашел провайдера, который обещал два ядра от E3-1230, пару гигов памяти, 460 гигов винта и прекрасный нелимитированный(специально связывался с саппортом по этому вопросу — уверяют что канал не режут и после сотни терабайт) гигабитный канал за какихто 40 с копейками баксов. Единственное но — виртуализация OpenVZ — обычно я настраивал OpenVPN на XEN или KVM, поэтому все прошло не так гладко как обычно и поэтому я решил поделиться полученными знаниями.
Читать дальше →

Об организации сетевого рабочего пространства в малой сети на уровне виртуальных серверов

Reading time4 min
Views16K
Доброго времени суток, хабражители! В данной статье я опишу структуру, которая получилась у меня в ходе размышлений о настройке виртуального рабочего пространства для сети с небольшим числом пользователей (кафедральной в университете). Основные задачи: хостинг кафедрального сайта (Drupal), собственные репозиторий и вики, файлообменник (или сетевой диск), доступ к сети вне помещений кафедры.

Данная работа преследует две цели:
  • узнать мнение опытных системных администраторов о таком подходе к настройке рабочего пространства (прошу, критикуйте)
  • в случае, если подход неверен, статья тем не менее останется перечислением технологий, среди которых кто-нибудь может найти подходящие и ему (например, не слышал по какой-то причине об ownCloud)


Используемая система — Ubuntu 12.04 Server x64. Конфигурация физического сервера: i5 второго поколения, 8 Гб RAM, HDD 5400 1 Тб.
Читать дальше →

Популярно о 3D графике. Часть 2. Игры и 3D

Reading time4 min
Views51K

Прошу прощение за столь большой перерыв между первой и второй частью, но на то были как объективные, так и субъективные причины. Итак, часть вторая, про компьютерные игры и 3D.
И, да, статья рассчитана на тех, кто не имеет вообще представления о данном вопросе.

3D графика в компьютерных играх
Когда я на заработанные летом деньги в старших классах купил себе свой первый компьютер — ZX Spectrum и научился загружать с кассеты игры, меня сразу начал интересовать вопрос: как это все программируется? Ответ на этот вопрос я получил из книги по программированию игр для ZX Spectrum. Когда у меня появился РС-совместимый компьютер я уже представлял как делаются игры. Но прошло совсем немного времени и появились игры которые были непохожи на другие — игры с 3D персонажами. Одной из ярких представителей таких игр была Tomb Raider. И с каждым годом количество таких игр росло. Мне всегда было интересно: а как же они создаются? Но вразумительного ответа (Интернет тогда был экзотикой) я не нашел. Если бы мне в то время попалась подобная статья, то я бы получил ответы на некоторые вопросы. Надеюсь, что нижеприведенный текст поможет дать представление о том как в 3D играх появляются окружение и персонажи.

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

Популярно о компьютерной 3D графике, часть 1

Reading time6 min
Views126K
image

Все мы слышали о 3D графике (далее просто 3D, не путать со способом отображения — голограммами, 3D-мониторами и т.п.), многие прекрасно знают, что такое 3D и с чем его едят. Но, все же, есть и те, кто смутно себе представляет, что кроется под этой короткой аббревиатурой. Статья рассчитана на тех, кто не имеет представления о компьютерной графике. Также будет немного экскурса в историю компьютерной графики (в следующих планируемых частях).
Почему именно 3D? Как нетрудно догадаться, речь идет о 3 Dimension, или о трех измерениях. И не обязательно при этом, чтобы и отображение было в 3D. Речь идет о способе построения картинки.
Читать дальше →

Сервис мониторинга состояния служб в облаке и оповещения администраторов

Reading time3 min
Views3.1K
В этой статье мы поговорим про Windows Azure Alerts — новый сервис оповещений и уведомлений о состоянии облачных сервисов Windows Azure для разработчиков и администраторов.



Сервис оповещений Windows Azure Alerts


Windows Azure Alerts — это новый сервис облачной платформы, предназначенный для задач администрирования и мониторинга вычислительных облачных ресурсов развернутых в Windows Azure.

Разработчики и администраторы Windows Azure могут легко настроить правила мониторинга за метриками своих веб-сайтов, мобильных служб, облачных сервисов или виртуальных машин и получать оповещения о изменении их состояния.
Читать дальше →

Voyeur.js — маленькая и привлекательная библиотека для работы с DOM

Reading time1 min
Views14K
Доброго времени суток уважаемые хабражители. Сегодня увидел один интересный проект на GitHub. Эта маленькая библиотека (Voyeur.min.js — 1.2kb) очень привлекает своим синтаксисом и неплохим функционалом.

image

Даже не переводя документацию с официального сайта, код можно понять интуитивно. По традиции приведу несколько примеров:

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

Плюсы и минусы различных подходов обеспечения анонимности в сети

Reading time4 min
Views106K
image

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

Для многих тема приватности важна. И речь вовсе не идет о сокрытии каких-то злых намерений пользователей. Приватность и персональность данных — это вполне законное право современного человека.

Существует несколько распостраненных вариантов защитить себя от слежки:

  • использовать HTTPS
  • чистить cookies
  • использовать proxy-сервер
  • использовать анононимный VPN
  • использовать сеть TOR
  • использовать сеть I2P
  • ...


Каждый из вариантов имеет свои недостатки, преимущества и определенную степень защиты. Давайте рассмотрим их подробнее:
Читать дальше →

Много бесплатных книг по программированию

Reading time7 min
Views347K
Читать дальше →

Пишем backend для мобильного приложения за несколько минут

Reading time5 min
Views90K
Здравствуйте! Моя основная область деятельности — разработка мобильных приложений (iOS, Android). И большая часть приложений, использует взаимодействие с другими пользователями, хранение данных и другие задачи требующие наличие единого сервера. Поэтому для большей части приложений приходится писать свой велосипедbackend. А так как я, в основном являюсь мобильным разработчиком, то написание этого сервиса всегда становится небольшой проблемой — приходится задействовать веб-разработчика или искать подходящий BaaS сервис, даже если надо написать всего пару запросов.
Поэтому было принято решение, попробовать найти инструмент, позволяющий в короткие сроки написать небольшой веб-сервис, который можно было бы использовать в мобильном приложении.
Читать дальше →

Рисуем остаток совы, или «Семь пропущенных шагов»

Reading time2 min
Views8.8K
Уроки, написанные на тему полигонального моделирования для разных 3d-редакторов, в целом схожи. Дело в том, что так или иначе всё сводится к добавлению и перемещению вершин, между которыми натянуты полигоны. Эта статья — отклик на комментарии к посту о создании трехмерной иконки, а именно на эти: раз, два.
Я постараюсь немного разъяснить ситуацию, используя простой пример.


Если картинки вам недостаточно, добро пожаловать под хабракат.
Еще семь картинок под катом.

Как начать разрабатывать игры даже если до этого вы были бухгалтером

Reading time7 min
Views187K
До того как я стал разработчиком игр, я (да и все в моем окружении) считал себя дизайнером сайтов.
Не плохим, кстати, но дизайнером сайтов. Профессия, которая почти никак не используется в разработке игр.


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

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

Information

Rating
Does not participate
Registered
Activity